IRCloggy #git 2008-01-08

Logs Search ←Prev date Next date→ Channels Documentation

Provider of IRC logs since 2005.
WARNING: As Freenode became unjoinable and lost all warnings in topics, we cannot log channels on Freenode anymore.

2008-01-08

agib joined00:00
tpope hey bigred-ian00:00
bigred-ian tpope: hey man00:00
GSaldana to pick edits we use the cherry pick command?00:00
tpope pull/merge merges the two branches together00:00
a new commit is created with two ancestors00:01
Ilari GSaldana: If one wants to pick whole commits then cherry-pick is fine.00:01
YGingras_ left00:01
GSaldana else, i have to manually edit?00:01
tpope the way rebase basically works is, it removes each commit one by one, making them into patches, until it gets to a common ancestor00:01
then, it applies those patches in the correct order to the other branch00:02
agreen Hi folks --- I was asking here yesterday about why stgit trashed the commit history so I could no longer push to a remote repo I had cloned from, I learned why that was so. But I really like stgit, I am wanting to experiment with a style of the remote repo where it "mirrors" my local tree that I continually use stgit on00:02
tpope the end result of a rebase is one continuous history00:02
Ilari GSaldana: There are ways to pick whole files...00:02
tpope this is generally preferable00:02
BUT00:02
bigred-ian tpope: so if i didn't care so much about history. i could interchange the use of rebase/merge00:02
tpope it rewrites the history00:02
this is a bad thing if you've already shared it00:02
agreen What I think I need is a way to truncate the remote branch and then resend the branch I was working on as a fresh remote branch, accepting that I lost the remote history00:02
nashdj joined00:03
Tv agreen: look at what "+" means in refspecs, man git-push00:03
tpope so generally, you use rebase for simple things that you haven't shared, and merges for more complex things that you have00:03
agreen Tv: thanks, I am looking00:03
tpope if you don't care about history, you can substitute a merge for a rebase, yes00:03
Ilari GSaldana: Following might work: 'git show <commit to pick from> -- <file1> <file2> | git apply --index'.00:03
tpope the reverse isn't necessarily true, due to caveats about rewriting00:04
bigred-ian tpope, so if i do a pull(or merge) instead of a rebase, then my branch would lose the history of what changes were made in the root branch00:04
Tv bigred-ian: pull = fetch + merge00:04
tpope the history isn't lost00:04
it's just shaped differently00:04
bigred-ian if history isn't lost, then why even have a rebase. why not just merge?00:04
tpope if you do a merge, it looks like an O. it splits and then rejoins00:04
if you do a rebase, it's a continuous line00:05
orospakr joined00:05
Ilari GSaldana: That does not commit through. But it does stage the changes ready for commit.00:05
tpope let me draw up the classic ascii art00:05
bigonbigon`00:05
YGingras_ joined00:06
rhalff joined00:06
Tv time to pimp this, again: http://eagain.net/articles/git-for-computer-scientists/00:07
way better than ascii art ;)00:07
opsis25 joined00:08
bigred-ian Tv thanks00:08
Ilari Its bit of tradeoff: Rebase leads to nicer history but screws others if not used carefully. Merge leads to messier history but does not screw others even nearly as much...00:08
agreen Tv: you rock, I have the power :-)00:09
Tv: thanks a lot00:09
Tv maybe git should try to prevent rebasing commits that appear in any remote branch00:09
require --force to override or something00:09
bigred-ian thanks for clearing it up. the end result of rebase and merge are essentially the same. they do the same thing, just different ways of going about it00:09
tpope bah, well I did it anyways00:10
http://pastie.caboo.se/13646000:11
YGingras_ left00:11
Ilari The new tip is going to be more or less the same. But other results of rebase are likely completely new things...00:11
YGingras_ joined00:11
opsis25 when I move a file from one dir to another (using mv not git-mv) I see this in the log: "# deleted: [file name]" and then the it is also listed under the untracked files with the new location. am I suppose to commit both the old (non-existent) file and add the new one? will history be preserved? how do I specify a commit message for the move?00:11
tpope opsis25: yes, commit both00:12
git doesn't track renames in any special way00:12
Ilari It attempts to infer the renames if needed (and asked).00:13
opsis25 so do a 'git commit [old file path] [new file path] -m "my message"'?00:13
no separate add?00:13
gitster "git add old new; git commit" is also fine.00:13
oops; "git add old" won't work --- you are not adding but removing ;-)00:13
Ilari opsis25: -m to commit shouldn't be used except in some quick-and-dirty testing or scripts.00:13
gitster asks "why not"?00:14
opsis25 so if I try and get history on the renamed file (not even sure how to do that), will the old history be preserved across the move?00:15
kristoffer left00:15
YGingras_ left00:16
YGingras_ joined00:16
opsis25 mmm... or doesn't git have single file history00:16
guess not, that's a paradigm shift00:16
YGingras__ left00:17
bigred-ian tpope: thanks for helping me clear it up. they arent as different as i thought they were00:17
sverrej__ joined00:17
tpope they are different approaches to the same problem00:17
HG` left00:17
Ilari Single file history and DSCMs don't mix that well... As was discovered several times during Linux kernel BK days...00:17
bigred-ian tpope: exactly. but they aren't totally different operations like i thought they were00:17
opsis25 but if I do a "git log [my moved file]", the old history will still be there?00:19
tpope opsis25: it doesn't track renames because when you think about it, those are just one of many special cases, (splitting a file, joining two files, moving stuff from file 1 to file 2, etc etc etc)00:19
opsis25: but commands like git log have a --follow option that looks for files that were deleted/added in the same commit, and infers renames from that00:20
Ademan joined00:20
timocratic left00:20
opsis25 okay, thanks00:21
agreen left00:24
sverrej_ left00:24
gitster even better is "git blame -C" ;-) that looks for groups of lines (not the whole file) that were copied or moved from elsewhere.00:33
KirinDav joined00:36
tvachon left00:47
opsis25 last question about the move stuff: after doing the move will a "git-svn dcommit" include an SVN rename?00:48
Ademan left00:49
gitster I doubt it, but I am not a git-svn person so take that with a grain of salt.00:50
jmspeex left00:54
jmspeex joined00:54
priidu_ joined00:55
vintrepid left00:56
opsis25 just tried it, it marks it as a delete and a copy, not a rename. the history is preserved though because it is a copy.00:56
tvachon joined00:57
aeruder opsis25: svn renames are always a copy + delete00:59
|kukks| joined01:01
opsis25 guess so, I was getting confused with the ViewVC page01:02
devogon left01:04
theCarpenter left01:05
tvachon left01:09
tvachon joined01:12
kukks left01:18
GSaldana left01:18
pigeon how does git-svnimport handle svn's external item?01:21
opsis25 it doesn't01:21
sempuki joined01:21
pigeon ah01:22
opsis25 someone has used git submodules to support svn externals though01:23
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2007-May/028406.html01:23
pretty complicated01:23
pigeon funny enough, that's exactly the same stuff what i wanted to import (ffmpeg)01:24
_kukks_ joined01:25
jesse joined01:28
jesse left01:28
kelvie_ left01:30
_kukks_3 joined01:31
kelvie_ joined01:32
yeowman left01:38
jfm3 I think I get git in theory, but I'm still playing with it to learn the details. I've a clone of the source and it's not compiling, breaking on de.msg. What am I doing wrong?01:38
jesse joined01:38
jesse left01:38
Ademan joined01:39
KirinDav left01:40
|kukks| left01:42
gitster "apt-get install gettext"?01:43
cedric_ left01:43
Adam12 joined01:44
_kukks_ left01:44
GyrosGeier left02:01
|kukks| joined02:04
soto joined02:06
zapnap joined02:07
soto Is the output of 'git diff -p' compatible with the patch command?02:07
Ori_B did you try it?02:09
orospakr left02:10
Ori_B (quick answer: yes, but you need -p1 to ignore the "a/" that git-diff gives the file name)02:10
soto Ori_B: The git header is ignored by patch?02:11
Ah never mind, patch man page says it tries to skip any leading 'garbage'.02:12
Ori_B: Thanks02:12
Ori_B np02:12
Ilari Hmm... Does git diff need explicit switch to enable binary diffing? Those things definitely aren't compatible.02:13
yeowman joined02:13
aeruder Ilari: actually at one point there was a bit of a problem with the diff code in git02:14
mostly in that sometimes it didn't detect binary files correctly, and regardless, the diff code could fail to apply its own output02:14
soto left02:19
lamont left02:20
_kukks_3 left02:20
FunkeeMonk joined02:20
lamont joined02:21
zed_ joined02:22
sempuki when doing a rebase, how can I skip a commit? I thought I could use git rebase --skip, but it keeps telling me "Dirty index: cannot apply patches (dirty: CONTRIBUTORS.txt)"02:23
kmap joined02:24
aeruder sempuki: that means just undirtyfy CONTRIBUTORS.txt and then use --skip02:24
i.e.02:24
\ask_ left02:24
aeruder git checkout HEAD -- CONTRIBUTORS.txt02:24
git rebase --skip02:24
tvachon left02:24
rhalff left02:26
sempuki I ran:02:26
$ git checkout -f foo02:26
$git rebase bar02:27
how could it have been "dirty"?02:27
aeruder i know, and i'm saying that it tried to rebase, it failed02:27
it left it in a unmerged state02:27
you need to clean it up02:27
imyousuf joined02:27
aeruder imyousuf: hey, any luck?02:27
sempuki hrm, I guess I didnt/dont understand the meaning of "dirty"02:28
imyousuf hi aeruder02:28
aeruder sempuki: dirty = having local changes02:28
imyousuf yes, with help from gitster I could actually determine the reason of such behavior02:28
aeruder sempuki: when the rebase fails, it will put the file into an unmerged state, conflict markers and all02:28
i.e. diry02:28
sempuki ah, so that means everytime that it partially applies a diff its dirty? I thought that case was magically taken care of02:28
aeruder *dirty02:28
sempuki now I know, thanks!02:28
imyousuf aeruder: the git-clone script sets and exports the GIT_DIR environment variable which is used by git ls-files02:29
aeruder aha!02:29
that makes sense02:29
imyousuf since the GIT_DIR is set to the top level repo it does not work at level 102:29
for test purpose i unset GIT_DIR before my recursion starts and at the end of the recursion I restored and exported the old value02:30
and it works fine now02:30
aeruder good deal02:30
glad you figured it out02:30
read: i'm lazy02:30
imyousuf thank you for the help as well aeruder02:30
btw do you and anyone in channel know if do unset GIT_DIR in git-clone what else should I set? I am not "setting" any environment variable02:31
aeruder mm... there's a GIT_CONFIG too, not sure if that is important for you though02:33
probably not02:33
imyousuf I see02:34
ok, if I search with [GIT].*=i with VI in the git-clone I get 3 (variables) sets and exports02:36
GIT_DIR, GIT_CONFIG and GIT_WORK_TREE02:36
aeruder o02:36
probably all important for you :)02:36
imyousuf :)02:36
For safety I will back them all up and again restore them after recursion :)02:37
bobesponja left02:38
imyousuf what does this line mean? - export GIT_DIR && GIT_CONFIG="$GIT_DIR/config" git-init $quiet ${template+"$template"} || usage02:39
aeruder which part02:40
imyousuf aeruder: the significance of && and ||02:42
aeruder && is like ; but only when the previous command exits successfully02:43
|| is like ; but only when the previous command exits unsuccessfully02:43
imyousuf ok02:43
got it, thanks aeruder02:43
Ori_B ooh, neat. when did git get sumbodule support?02:46
and is there a tutorial on how to use it?02:47
imyousuf I think from 1.5.302:47
the tutorial is in the manual Chapter 8 if I am not mistaken02:47
aeruder Ori_B: if you want to use submodule stuff02:47
i'd recommend using as new of a git as you can ;)02:48
zapnap left02:48
Ori_B aeruder: nothing urgent, just something that I can see being useful in the near future02:48
1.5.3.7 seems to have the command, at least02:48
aeruder yeae, that'd be plenty new :)02:49
imyousuf aeruder: I just pushed the latest modification, the one that actually does what was intended originally. If you have time have a look and let me know what you think02:49
ironfroggy joined02:50
sunblush joined02:54
jwbjwboyer02:56
tvachon joined02:56
tvachon left02:56
stick joined02:59
cmacleod joined03:02
cmacleod left03:02
stick left03:02
cmacleod joined03:02
jwboyerjw03:06
jwjwb03:06
tongueroo left03:11
cmacleodstick03:12
KirinDav joined03:13
gitster When talking about features, comparing 1.5.3 and 1.5.3.7 is meaningless ;-).03:14
sgrimm left03:18
Ademan left03:20
Debolaz Are there any up to date technical comparisons of git and mercurial?03:24
Tene diff -r ~/src/git ~/src/hg03:29
;)03:29
Debolaz On the internet, everyone thinks they are a good comedian. :-P03:30
Tene On the internet, the only audience that matters is me. :-P03:30
opsis25 left03:47
opsis25 joined03:55
nicolai joined03:56
clee Debolaz: git is better, of course.04:02
Debolaz: (what would you expect people in #git to say, dude?)04:02
jfm3 left04:08
Debolaz I would expect them to answer the actual question or make jokes about it, not make up a question I didn't ask and answer that. :)04:09
clee Debolaz: dude, you're on IRC04:09
c'mon now04:09
a-atwood left04:10
bartman joined04:10
clee Debolaz: seriously though, I'm not aware of any up-to-date comparisons per se, but most of the git fundamentals haven't changed too much04:10
I don't really follow hg development but I suspect that it hasn't gotten radically different either04:10
the big difference for me, and the reason I tend to prefer git for my own projects, is that (last time I checked) hg doesn't support multiple branches inside of a single repo/working copy04:10
so, if you want to branch for a new feature, you have to do a new clone in hg04:11
(again, my knowledge may be out of date!)04:11
whereas, in git, branching is so lightweight you may think that it didn't actually happen because it happens so fast04:11
sempuki the impression I had is that git and hg were rapidly approaching each other, and that if they arent the same now, they will be soon04:14
except one is in C the other python...04:15
but thats just an impression of a user04:15
clee sempuki: well, C/shell/perl/etc04:15
sempuki clee: and python is mostly implemented in terms of C is it not? :)04:16
clee yep04:17
well, except for IronPython and JPython.04:17
sempuki true04:17
Debolaz: go with whatever your friends/colleagues like/know best, or has the best documentation, because the hardest part is learning how to use it correctly04:18
Debolaz Still, what I want is a comparison of technical qualities, not personal preferences.04:19
Performance, features and maturity of features, etc.04:20
clee performance is basically a wash, though in a few cases I think git is still faster04:20
however, I heard that hg could compress version history slightly better than git at one point04:20
for most projects that doesn't really matter *too* much04:20
they're both far more disk-efficient than svn04:20
agib left04:26
|kukks| left04:27
k_dub joined04:28
k_dub left04:29
tongueroo joined04:30
imyousuf vmiklos: I submitted another patch (recursion over submodules) today04:30
wayneeseguin joined04:31
imyousuf did you read that?04:31
KirinDav left04:31
imyousuf vmiklos: btw thanks for the hints04:33
jesse_ joined04:40
yeowman left04:41
jesse_ left04:46
bartman left04:46
FunkeeMonk left04:47
imyousuf If I want to prepare a patch does the patches has to be with respect to a particular GIT version (e.g. 1.5.3.7) or git.git repo?04:49
aeruder imyousuf: see SubmittingPatches04:51
jesse_ joined04:53
jesse_anotherjesse04:53
agib joined04:53
anotherjesse left04:53
bartman joined04:55
sgrimm joined05:00
imyousuf thank you aeruder05:00
fhobia joined05:03
stick left05:08
cmacleod joined05:09
cmacleod left05:09
bartman` joined05:19
bartman left05:19
zed_ left05:20
RobotDeathSquad left05:24
rkaway left05:28
fhobia left05:31
rkaway joined05:31
kanru joined05:32
RobotDeathSquad joined05:36
RobotDeathSquad left05:36
YGingras_ left05:39
bigred-ian left05:43
YGingras joined05:47
YGingras left05:50
YGingras joined06:01
tongueroo left06:11
fhobia joined06:11
FunkeeMonk joined06:22
vbgunz left06:29
mediogre joined06:30
wagle how do you start a new root commit in a repository? alternatively, how do you get rid of a root commit, and make its child the root commit in a new (rebased?) branch of commits?06:36
TuxCM- joined06:42
gitster (1) you don't. you may have an independent history that originates in a totally separate repository and fetching from that repository may result in your repository having more than one root, though.06:45
(2) unfortunately you cannot. Such an initial mistake in an empty repository needs to be redone from scratch. This we may have to fix it, though. --- come to think of it, I suspect you may be able to "git commit --amend" the root commit, which would have the same efffect, though.06:47
vbgunz joined06:50
imyousuf after generating the patch using git format-patch -M <commit_sha1> how do I add it to the email? simply copy and paste?06:58
TuxCM left06:58
Tene imyousuf: attach it07:03
imyousuf Tene: thanks, will attach the .patch file07:03
Auris- some how I've understood that you should not attach because then people cannot quote lines from the patch when they are commenting.07:06
wagle ok.. heres the problem.. back when i barely knew git, I wrote some scripts in the root directory of a git-repository. first thing i did was to branch from the remote commit. second thing i did was to delete everything, and commit that. after that, I started programming and committing. now we want to put some of those scripts into a completely different git-repository. i was able to fetch the branch as a branch with a new root07:06
, but need to get rid of the root and maybe its child before i can merge it. this is also an exercise is learning how to do hard/clever things with git.. 8)07:06
floppyears hi guys07:07
imyousuf Auris-: in that case how should I add the patch?07:07
wagle it could be done with cherry-pick if i could cherry-pick a new root, or cherry-pick from another repository07:08
floppyears if there are files with certain extensions that I want git to ignore can I use one global .gitignore file or do I have to have 1 .gitignore file in each directory ?07:08
Auris- imyousuf, I'm not really sure, sorry. I think there are guidelines at a website.07:08
wagle floppyears, i think a careful reading of "man gitignore" will answer your question07:10
gitster imyousuf: your earlier question about sending patches. Either read in your MUA (the procedure depends on the client, SubmittingPatches has some hints but I recently noticed that the kernel folks have more extensive insns in their Documentation/email-clients.txt file --- we may want to snarf it someday)07:10
or "git-send-email".07:10
devogon joined07:12
floppyears wagle: thanks. I already had the .gitignore setup to ignore the files I don't want. These files in the index I guess were just old07:12
gitster floppyears: "*.txt" in .gitignore at toplevel will ignore all *.txt files (e.g. foo.txt, bar/boz.txt). "/*.txt" in .gitignore at toplevel will tell git to ignore all *.txt files at the toplevel (e.g. foo.txt is ignored, bar/boz.txt is not). "*.txt" in bar/.gitignore will tell git to ignore all *.txt files in bar/ and down below.07:12
Quiz. What does "/*.txt" in bar/.gitignore ignore?07:13
imyousuf gitster: thank you, I will first try git-send-email and then read the kernel documentation. I will send the first email to my self for safety :)07:21
agib left07:23
harinath joined07:24
ToadNotToad07:26
NotToadToad07:27
Auris- gitster, ignores *.txt in bar/ but not down below?07:30
Dodji joined07:31
gitster Auris-: correct.07:34
Auris- yay.07:35
dwmw2_gonedwmw207:36
wagle how lame.. you can fetch into a brand-new repository, but you can't cherry-pick from it07:40
floppyears hi guys07:45
I use mantis to keep track of bugs07:45
Is there a way to integrate the 2 ? Meaning if I commit a message, and I specify the mantis bug #, it would then add a note or some info to mantis ?07:46
metze_awaymetze07:47
gitster Will _all_ your commits be created locally (or at least on the machine that has access to your mantis installation)?07:48
If yes, probably post-commit hook would be the thing to use for such a hack.07:49
thiagothiago_home07:49
floppyears gitster: awesome thanks gitster07:50
gitster I would not recommend that myself, though.07:50
I am assuming that you would have a centralized installation of mantis (perhaps it is not even a "distributed bug tracking system"). A better alternative is probably to have a repository on the same machine as you have that installation, and drive that "commit to mantis" from post-receive hook, after you push into that repository.07:52
That way, you can experiment all you want, even with a commit log message "This fixes bug #2326" and you will be safe until you actually push it out, even if you later find out that the fix was faulty and did not really fix it. The commit log while you are experimenting, rebasing and amending won't contaminate your mantis tracker.07:53
halorgium floppyears: you'd want to have a simulated centralised repo which drives the mantis integration07:54
floppyears halorgium: that's pretty much what I have. I do development on my ubuntu server which has the central repo of my code and also has mantis installed07:55
mithro left07:55
gitster Then post-receive hook on that central repository is the way to go.07:55
floppyears thanks guys07:56
imyousuf gitster: is there a significant difference between `sed -n -e 's/^path = //p' .gitmodules` and `grep "path =" .gitmodules | awk '{print $3}'`?07:56
gitster I think our scripts avoid awk.07:56
imyousuf ah I see07:56
gitster But not mergetool ;-)07:56
I should rewrite that someday.07:57
imyousuf and how can I use expr ' '.* instead of expr index ' '?07:57
gitster also yours have two processes piped together when one sed is enough.07:57
imyousuf sorry not how can but can I?07:57
gitster What are you trying to achieve?07:57
I do not like the way you quoted the string for shell safety to begin with.07:58
imyousuf finding whether there is space in the string07:58
gitster I feel much safer if a script does (1) replace all occurences of single quote with '\'' (sq bq sq sq) and (2) surround the result with single quote pair.07:59
See the comment at the beginning of quote.c.07:59
imyousuf ok07:59
gitster There may be 47 other ways to safely quote strings, but if the code sticks to one style that is known to work, it is less work for reviewers and people who later want to muck with the code.08:00
imyousuf I fully agree with it thus asked it08:01
jeffpc gitster: awk '/^path =/{print $3}' < .gitmodules08:01
:)08:01
imyousuf actually if -m "test commit" is passed as argument then when evaluating the git-commit I should send -m "test commit" instead of just commit08:02
gitster imyousuf: The first message sent to the list before you started to show your code to the list made it sound as if you are near-illiterate in shell scripting, but I found your scripts reasonably well disciplined.08:02
imyousuf that is why I did quoting08:02
I know reasonable amount of scripting but not as good as you guys08:03
I needed to learn from you all actually :)08:03
gitster Do you mean 'git submodule recursive commit -m "test commit"' results in 'git commit -m "test commit"'?08:03
imyousuf as I mentioned earlier I am primarily a java developer and you all have helped me a lot thanks for that08:03
not it does so, yes gitster08:03
gitster (all these in-sentence quoting makes this hard...)08:04
imyousuf yes, that is why I needed to wrap the test commit before eval08:04
gitster If you have the remainder of the command line in $@ (by shifting away "submodule", "recursive"), you can do eval '"$@"' ;-)08:05
without any of your own quoting.08:05
imyousuf I see08:06
I thought that might not work actually :)08:06
will give it a try08:06
gitster again, lack of in conversation quotes makes it harder to read it, but what I meant is you literally tell eval to evaluate dq dollar at dq.08:06
madewokherd left08:07
gitster Or at that point, perhaps even without eval. Just "$@" ;-)08:07
imyousuf got it08:07
will try both and keep the shorter one :)08:07
kanru left08:08
gitster shell knows its own syntax the best. The best strategy to safely quote strings is avoid having to quote at all.08:09
wagle wow.. you can merge from a branch from a different root, and it does what you want08:10
gitster pretty cool, isn't it?08:12
anttih left08:12
wagle i was starting to expect that i'd set myself on a wild goose chase with these multi-root things, and that you probably couldnt merge from two different roots08:13
(why i used "want" instead of "expect" above)08:13
gitster what are you trying to achieve with the multi-root thing, may I ask? We have it primarily as a way to fix earlier mistakes of not starting two things that should have been done in the same history.08:14
wagle merging two different projectsw08:14
merging two different projects08:14
fhobia left08:14
srid joined08:14
Zhou joined08:15
wagle the first complication was that i forked from another project first, and wanted to remove that historical baggage08:16
aarapov joined08:23
sgrimm left08:24
mediogre left08:24
imyousuf After editing a file if I do git-reset HEAD will revert my changes?08:27
marcel joined08:28
imyousuf *will it08:28
Mikachu only with --hard08:29
git reset on its own just resets the index08:29
so it will undo any git add you've done08:29
harinath left08:29
imyousuf I see08:30
so git-reset --hard HEAD will revert changes, thanks Mikachu08:30
Zhou left08:33
|zeal| joined08:35
Oejet joined08:38
johan-s left08:45
rphillip1 joined08:46
thiago joined08:48
Rogan joined08:56
Rogan Hi folks, I am dealing with DOS-format files - i.e. that end with CR/LF. I have a bunch of files with trailing whitespace (apart from the CR) that I'd like to clean up automatically. However, git-apply --whitespace==strip also takes off the CR, which I don't want08:57
any idea how to strip trailing spaces, but not the ^M?08:58
Mikachu i'm not sure, but see the crlf stuff in man gitattributes08:58
rphillips left08:59
Rogan Also, is it possible to get cherry-pick to do this automatically for me? At the moment, I am dinking around with doing the cherry-pick, resolving the conflicts, making a patch, reset --hard, apply the patch with whitespace=strip, then committing08:59
core.autorclf doesn't offer any solution for folks that actually WANT CRLF in the repo09:01
Mikachu ah, okay09:02
Rogan maybe the filter option would be what I'm looking for. Does anyone have any idea how it is supposed to work?09:07
Mikachu you could just run something like sed -i 's/ *$//g' *.c or whatever09:07
TuxCM joined09:12
twork__ joined09:14
twork__ hi - git-describe will tell me the commit reachable to a tag, but is there a way to indicate whether a *file* is reachable to a tag (i.e., git-describe for files?)09:15
TuxCM- left09:17
octopod joined09:17
Rogan twork__: I'd say that that would be a lot harder. You'd need to figure out which commits that file appeared in first, and then continue as usual09:17
gitster "git ls-tree -r $commit | grep $file" ;-)09:18
Rogan well, for i in <commits>; do git ls-tree -r $commit | grep $file ; done09:19
or thereabouts09:19
twork__ i'm trying to emulate cvs tagging in git -- or maybe i'm going about it the wrong way.09:20
gitster what's being asked for? The first time a path appears in the chain of commits?09:20
Rogan yes, I think you are09:20
see gitattributes: $id$09:20
this discussion has come up repeatedly. General emulation of CVS tagging doesn't make sense in git09:20
gitster If you want to know the boundary commit whose parent does not have a path $path but the commit itself does, you would do "git log --diff-filter=A -r -- $path".09:20
johan-s joined09:21
Rogan gitster: you implemented smudge and clean filters in April last year, and I am trying to use them to allow me to maintain a CRLF ended file in my repo. How can I tell if the filter is actually being called?09:22
gitster How can you tell? Perhaps add a debug printf in your filter script? Run git under gdb?09:22
Rogan Ok, I'll try a debug filter that calls the real one09:23
gitster About the "fiters" there is one caveat. If you define a filter _after_ you check things out, "git checkout" won't change a thing. You would need to do something to cause the actual checkout to happen, as we try very hard not to check out things that did not change between the filesystem and the index.09:24
imyousuf gitster: making the submodule command change under master - ok?09:24
Rogan yes, I realise that. My checkout filter is just "cat". I have specified unix2dos as the checkin filter09:25
gitster imyousuf: ?09:25
you do not have to define them as pairs (cat can be omitted, that is).09:26
Rogan right, ok09:26
imyousuf gitster: introducing variable command to be used instead of case "$add,$init,$update" .... in git-submodule.sh09:27
gitster imyousuf: sounds like a useful clean-up.09:27
post 1.5.4, that is.09:27
imyousuf yes, you said that to me over email and I agreed09:27
not a issue when it will be released09:28
Rogan it seems that git-config doesn't throw an error if the config file is not writable09:28
so my attempts to set up the filter were silently ignored09:28
imyousuf so before resending my patches I will first send that, gitster. Will doing the changes in master branch09:28
Rogan which explains why the filter was not executed09:28
gitster Heh, that's a nice bug. I personally almost never use git-config for writing as I do not trust that code X-<. Patches would be very welcome as we are really trying to stabilize things before the release.09:29
theCarpenter joined09:30
Rogan to test: chmod -w .git/config; git config filter.mycrlf.clean=unix2dos; echo $?09:30
returns 1, but no error message is shown09:30
sorry, my C is non-existent09:30
shall I send a mail to the list?09:30
gitster That sounds like something else. I do not think we write things in place.09:30
Rogan hmmm, you are right, I think09:31
gitster That is, mode of .git/config itself should not matter, as we do (1) create .git/config-new and write into it, and then (2) rename .git/config-new to .git/config, or something like that.09:31
Unless .git/ itself is unwritable for you, but that sounds utterly implausible given you have bunch of stuff in your repository.09:32
Ah, returns 1 but no error message is shown.09:33
aarapov left09:34
sempuki left09:34
Rogan .git is definitely writeable, and actually, so is .git/config. Was my mistake there. But I still get the $1 return code, and no changes to the config file for some reason09:35
gitster Yup, can reproduce. I'd dig this if I have time sometime but not tonight (past midnight here)09:35
Thanks for reporting.09:35
Rogan off to bed :-)09:35
no problem. Thanks for all your work on git09:36
saimon joined09:37
gitster Heh, that's not a bug but PEBCAK. You fooled me.09:38
"git config filter.mycrlf.clean unix2dos"09:39
There is no = sign there.09:39
Rogan ah09:39
doh09:39
gitster doh, I did not notice myself (I said I do not use that, didn't I?)09:39
Rogan so the $?=12 is because a key was not found09:39
er, $?=109:39
gitster There should be a better error message.09:39
So it is still a bug but is a bit different from what we originally thought.09:40
namenlos joined09:41
Rogan ok, I have the filters executing, but I'm obviously doing something wrong09:42
sverrej__ left09:43
Rogan I have no smudge filter defined, but if I delete my working tree and force a checkout (git reset --hard), my entire working tree is shown as modified, and the CRLF has been removed from the files09:43
gitster t/t0021 may be of help of you have the source handy.09:43
Rogan ok, will check it09:44
Thanks09:44
gitster If you have clean filter that is unix2dos (does that mean you _WANT_ CRLF in the objects, not just checkout???), and cat as smudge (or no smudge), then...09:44
BHoltzman joined09:45
BHoltzman left09:45
gitster reset --hard would read objects, and write it out as-is to your work tree.09:45
twork__ Sorry for the delay -- what i'm after is for a some file, doesn't matter what it is -- it could be a collection of files to know whether or not it has been "tagged" (like you have in CVS). The functionality of git-describe using the SHA1s is fine for this, I'd just want to be able to say something like: git describe -- ./* and for all files in there to be looked against to see if they reached a tag or not.09:45
kanru joined09:46
gitster Then, when comparing the index with the work tree, the work tree is converted through smudge (so it will modify LF in work tree to CRLF) and then compare what is recorded in objects and the index. Maybe you have LF endings in the repository?09:46
That would explain "everything changed", because everything did. Your next check-in will make a tree full of CRLF terminated files.09:47
imyousuf If I have changed multiple files and want to revert the change of 1 of them, how should I do it?09:48
gitster "files" in the sense that the blobs you track from then on will be terminated with CRLF (which is an odd wish, though).09:48
"git checkout that-path this-path"09:48
imyousuf thanks gitster09:48
gitster that is before "git add that-path this-path". If you have done that,09:48
"git checkout HEAD that-path this-path".09:48
imyousuf got it09:49
gitster Read these as "check out that-path and this-path from the index", and "check them out from HEAD commit".09:49
This form is quite different from "switch to that branch: git checkout that".09:49
imyousuf ah thats nice09:50
mediogre joined09:50
imyousuf is git-add changed-file encouraged or git-commit -a?09:50
gitster Many new people actually find these two completely separate semantics confusing.09:50
wagle left09:51
gitster depends on the way you work. both are equally supported.09:51
imyousuf I see, which would you consider as a better practice?09:52
gitster what's frowned upon by some people, although we do try supporting it equally well as other ways, is "git commit this-path that-path" (partial commit).09:52
all three have their uses.09:52
I do not think there is "better practice" vs "not so good one".09:52
Rogan gitster: Yes, I *WANT* CRLF endings in the repo, since I am interacting with an SVN repo operated by someone else09:53
imyousuf ah ok, thanks for the detailed explanation gits09:53
gitster Rogan: quite reasonable.09:53
imyousuf * gitster09:53
Rogan however, I didn't realise that when checking the status it would run my clean filter09:53
does that really make sense?09:53
gitster Of course. Otherwise, it wouldn't be "cleaning".09:54
What you are seeing is an inevitable glitch in the priming stage, if I am not mistaken. You have your objects without CR and you are trying to fix, aren't you?09:55
Debolaz ponders writing up a comparison of git and mercurial, not finding preexisting with any informative content of recent origin.09:55
Rogan no, the repo actually contains CRLF terminated files09:55
all I really want to do is make sure that all the changes that I commit maintain that CRLF ending09:55
gitster Maybe I am not getting what you are doing then. Your work tree files have CRLF?09:56
After reset --hard, that is.09:56
Rogan in the face of stripspace=fix which takes the CR away at the same time as it takes trailing spaces and tabs09:56
yes, they do09:57
gitster Maybe your unix2dos is not doing unix2dos? Does it take options (I do not know offhand how we are handling custom commands with options)?09:57
Rogan well, this is what I actually have09:58
vi -b file <- shows ^M09:58
cat file | dos2unix | unix2dos > /tmp/t09:58
diff file /tmp/t09:58
no differences09:58
gitster I am assuming you are on Unix?09:59
Rogan however, git diff file shows -...^M, +...$09:59
yes09:59
where $ is just the end of line10:00
gitster That's interesting.10:00
Rogan I run dos2unix first to get to a poin where the whole file is in unix format, rather than some lines with CRLF and some lines without (thanks to apply --stripspace)10:01
imyousuf can I added a body to an email which I am using to send out patch using git send-email?10:03
*add a10:06
a-atwood joined10:08
arw_ imyousuf: --compose i guess10:09
imyousuf ah thanks arw_10:10
arw_ or send an email before the patch series and pack the message-id into --in-reply-to10:10
janm joined10:10
imyousuf missed that in the option in the manual in midst of the rest :)10:10
chris2 joined10:12
twork__ Is there anything in git which can take a path and spit out commits relative to that path?10:14
DrNick define "relative"10:15
twork__ Well, commits that contains changes to files under that path.10:16
gitster "git log -- path"?10:18
if you want only commit object names substitute log with rev-list.10:19
twork__ git cherry branch1 branch2 gives a list of SHA1s -- I'd like a list of files that are in that SHA1.10:20
gitster do you mean s/that SHA1/those commits/?10:21
twork__ Yes.10:21
[thomas@ubuntu smoothwall]% git cherry guardian-update1 master10:21
+ c8fd4f01bb97df3500e4d03abbf42832b859321110:21
+ 236c065c3a37f5d961aac5584594dd3937d6279810:21
gitster "for c in these-commit-object-names; do git-ls-tree -r $c; done"?10:22
twork__ So given those commits, what files are in them?10:22
Ah ha.10:22
twork__ tries.10:22
twork__ :) Thank you.10:22
reval joined10:22
gitster but is that what you really want?10:22
you will get tons of duplicates because in a usual history most of the files stay the same between commits.10:23
twork__ Not quite what we want...10:24
dysinger left10:24
twork__ for instance, git ls-tree d5442 lists tonnes of stuff, yet the information from git show d5442 shows only one file -- it's that information I'd like to get.10:25
gitster so what are you trying to achieve? for example, "git log --name-only --pretty=format:%H -m $from_this_commit..$to_that_commit" would show only the names of paths that were affected by each commit.10:26
sverrej joined10:26
YGingras left10:26
YGingras joined10:27
Catfish left10:27
Sho_ left10:30
Rogan ok, I've got myself into a VERY weird situation. I've previously resolved a merge, and saved it as a patch. It modifies one file (.java), and creates 2 others, one java and one html. I apply it with git-apply --whitespace=strip, and get no errors, other than whitespace warnings. "git status" shows the modified file, and the new .html file, but does not show the new .java file10:34
however, the file is there. Even if I explicitly add it, git refuses to acknowledge its existence10:35
Mikachu twork__: maybe you can do git show abc123|lsdiff10:35
(depends on patchutils)10:36
Rogan I have checked my .gitignore, and it doesn't match anything there10:36
YGingras left10:37
YGingras joined10:37
maks_ hmm if i fetch somebody pull request where do i see those commits?10:38
reval left10:38
Mikachu maks_: if you use 'git pull' you will merge their branch into your currently checked out branch10:39
'fetch somebody pull' doesn't quite parse here10:39
maks_ yes i know the pull part Mikachu10:40
Mikachu: you get a pull request to merge someones branch, but do a s/pull/fetch/10:40
Mikachu if you run 'git fetch git://server.org/foo.git' you will fetch all commit objects and blobs, but you won't get a reference in any branch10:40
maks_ where do i see those objects?10:40
Mikachu you have to specify where to store it10:41
git fetch git://blah master:masterfromotherserver10:41
maks_ thanks Mikachu10:43
gitster With "git fetch $elsewhere; git log ..FETCH_HEAD", you do not necessarily have to ;-)10:47
Mikachu aha, so that's where it ends up :)10:47
Rogan any ideas why git might be ignoring my file? (I *did* check .gitignore)10:49
Mikachu did you check .git/info/excludes and ~/.gitignore ?10:50
Rogan exclude (no s) is the default with everything commented out, and there is no ~/.gitignore10:51
Mikachu oops10:53
i usually just press tab after the e :)10:53
maks_ git log ..FETCH_HEAD is empty10:54
imyousuf left10:55
imyousuf joined10:55
koki joined10:57
maks_ hi koki :)10:58
srid left10:58
koki maks_: hey!10:58
saimon_ joined11:02
srid joined11:03
saimon left11:05
Kebianizao joined11:08
Kebianizao Hello11:08
I've done a git status and I have plenty of modifications after applying a patch11:08
namenlos left11:08
Kebianizao I have all the files I want to git add listed in a file and I would like to feed git add with that file11:09
how could i do that?11:09
Mikachu if there are no spaces or funny business in the filenames you can probably get away with git add `cat file`11:11
imyousuf how can I specify a SMTP username and password in the git-send-email command?11:12
twork__ after creating a branch and performing some commits and/or merges, how can I find the commit on master from which I originally branched?11:14
octopod_ joined11:14
imyousuf left11:14
Mikachu git merge-base branch master11:16
why do you want to find it?11:16
twork__ *nearly* what we wanted11:17
Mikachu you could just bring up gitk --all and click on the one you want :)11:18
jsimonss joined11:18
twork__ basically, i have two branches created from master, but from different commits. when i merge from the second-created branch to the first-created branch, it has (logically) also merged commits on master which took place in between the two creations11:19
Kebianizao Mikachu: thanks it worked11:19
twork__ what i was *trying* to do was merge just those commits on the second-created branch *post creation of the branch*11:20
Mikachu you would have to use rebase i think11:20
Tv twork__: the only way to do that is to first rewrite the commits on top of the new location -- aka rebase11:20
Kebianizao bye11:20
Kebianizao left11:20
twork__ before i can start trying to understand that (which looks like a brilliant suggestion), I need to revert the ballsed merge. also, i'll then want to push the resulting merged branch out to a shared repo11:22
which may or may not be pertinent11:23
the immediate problem is i can't find the SHA1 of the commit I originally branched from (which is what I want to revert to). merge-base isn't quite there, because of the commits on master which I (unintentionally) merged.11:24
Mikachu right, you'll have to reset --hard HEAD\^ or something first11:24
(don't do that on the wrong branch or twice)11:25
or you could just pass HEAD^ to git merge-base11:26
octopod left11:28
vbgunz I am on part 2 of a tutorial. I was told to do this > '$ echo "hello world!" > file.txt' *but* got this returned > 'bash: !": event not found' why?11:30
in single quotes it seemed to work just fine...11:31
broonie ! tells your shell to recall the last command with the prefix in front of the !.11:31
(so if I say 'ls ~' then 'ls!' it will do ls ~ twice)11:32
octopod_octopod11:34
captnmark_ joined11:35
ivazquez joined11:37
ivazquez Is there any way to add arbitrary metadata to a blob?11:38
Mikachu you can tag it, but you can't reach the tag from the blob, only the other way11:40
vbgunz Mikachu: I decided to try it, so I said "ls ~" and then tried all of the following:, bash: ls!: command not found, ls: !: No such file or directory, bash: syntax error near unexpected token `newline'11:41
heh, nothing repeated the command at all :/11:41
Mikachu wrong tabcomplete there11:41
ferdy joined11:42
ivazquez Unfortunately that doesn't help. I need it reachable via the blob.11:43
Mikachu i think that's not possible, since existing objects are read-only11:43
twork__ how do i delete a branch from a remote (shared) repository? such that nobody can pull from it any more, etc. (yes, this is just a testing repository. :) )11:45
Mikachu push remote :branchname11:45
twork__ it's not having any of that11:48
... or is it11:49
captnmark__ left11:52
jsimonss left11:54
jsimonss joined11:54
|zeal| left11:54
lcapitulino joined11:59
vbgunz I have an offtopic question. hopefully, you guys understand. when I open a terminal session, is there any way I can create a personal .bash_history for it? e.g., .myGitHistory ?12:05
Tv vbgunz: help history12:07
G0SUB_ left12:07
wagle joined12:08
IanL joined12:14
mithro joined12:15
YGingras_ joined12:21
YGingras left12:22
ivazque1 joined12:27
namenlos joined12:28
bartman` left12:29
twork__ Thank you all.12:30
twork__ left12:30
bartman joined12:30
johan-s hey folks, I wrote yet another git hosting thing: http://gitorious.org/12:35
lu_zero johan-s what's that?12:35
johan-s lu_zero: hosting git repositories and their clones basically12:37
srid left12:37
Tv forgeries, eh?12:37
theCarpenter left12:37
johan-s Tv: I'm not even sure thats a valid gramatical form of "forge"12:38
lu_zero sounds nice12:38
johan-s haha, forgeries means something else entirely of course, d'oh12:39
Tv bah yet another fake-linear history browser12:39
johan-s Tv: yes. the browser sucks, I want it more gitk like12:39
lu_zero Tv how's going with gitosis?12:39
Tv lu_zero: it seems a lot of people are happy with it, which is good12:40
cedric_ joined12:40
Tv gitweb integration is somewhat of a pain, still12:40
lu_zero would make ffmpeg using it once the other issues against migration are solved12:40
lu_zero noticed ^^;12:40
Tv because of the security barriers12:40
nothing a manual chgrp won't fix, but annoying12:40
jengelh joined12:41
ivazquez left12:42
ivazque1ivazquez12:42
lu_zero I see12:43
ironfroggy left12:44
Tv the thing is, gitosis by design can't do that by itself12:45
it isn't allowed to ;)12:45
i could automate the case of gitweb running as the same user12:46
but i'm not sure if that's common enough12:46
lu_zero Tv otherwise you'd need an helper12:47
Tv to chgrp? maybe12:47
but then, if you trust gitosis to chgrp things, that is to allow their web publication12:48
you might as well run gitweb as the same user12:48
lu_zero yup12:48
Tv i think the same-user-id model will get packaged in a nicer way12:49
and if you're not happy with that, you get to chgrp individual repos manually12:49
that's the best i can do, really12:49
chris2 left12:50
MadCoder git commit -a -s -m'no we shouldn''t be removed'12:52
fatal: Out of memory? mmap failed: Bad file descriptor12:52
Created commit12:52
WTF ?!12:53
Tv MadCoder: reproducable?12:53
jengelh Is there a chance to do two stash applys?12:53
Tv jengelh: if nothing else, via git apply12:53
MadCoder Tv: not really, though it happens on a regular basis12:54
it's annoying12:54
though the commit is here, so it's merely annoying12:54
Tv oh wow12:54
toxx_ joined12:55
MadCoder yeah12:55
jengelh Tv: git-stash apply 'stash@{2}' => Cannot restore on top of a dirty state12:57
WorkingGeier joined12:58
Tv jengelh: try git stash show 'stash@{2}' | git apply --reject12:58
jengelh git-stash show only prints a diffstat, not the actual patch12:58
Tv oh crud12:58
well you can even git show it12:58
i don't have stashes handy for playing, right now ;)12:59
jengelh heh12:59
git log -p 'stash@{2}' did the right thing.12:59
vbgunz Tv: thank you so very much for pointing that out, you sort of killed 2 birds with a single stone regarding my history :)13:01
johan-s left13:02
johan-s_ joined13:02
Tv stashes are just commits. well, two commits: index and working tree.13:02
johan-s_ left13:08
leethal joined13:08
YGingras_ left13:09
YGingras_ joined13:09
johan-s joined13:13
Sho_ joined13:18
z3ro left13:22
mattly left13:22
leethal why is git saying lib/ is ignored? http://git.pastebin.com/m56d717c413:22
I didn't set any global ignores or anything either13:22
z3ro joined13:22
YGingras__ joined13:23
Tv leethal: is it empty?13:23
leethal no, it has another dir in it13:23
Tv leethal: is that empty ;)13:23
find lib \! -type d13:23
leethal oh hey, no we're getting somewhere13:23
didn't even cross my mind that it recursively checked for empty dirs13:24
thanks =)13:24
theCarpenter joined13:24
YGingras_ left13:24
leethal while I'm at it - is there any best practice (pardon me if it's not a practice at all) to version control empty directories?13:24
EmilMedve joined13:25
Tv git only tracks files, by design13:25
pngl joined13:25
Tv you put an empty .placeholder or .gitignore file in dirs you absolutely must get committed13:25
or just create them in the makefile13:25
pngl is there any reason why a git push would work, update the remote git log, but do no actual change to the files? (I'm getting started with git)13:27
Tv pngl: don't push to non-bare repositories13:27
namenlos left13:27
Tv pngl: the working directory will *not* be updated13:27
shared repositories should be bare13:28
pngl so I have to clone --bare my local rep, scp it and then push will work?13:28
leethal I'm pretty noob at git, only know the basic stuff - is it possible to create the dirs with git itself when someone clones the repos? with some hooks or something?13:28
Tv pngl: you can just create a new bare repo from scratch and push to that13:28
pngl: scping repositories is sort of weird13:28
leethal the makefile suggestion sounds clean 'n stuff, but this system doesn't have makefiles =/13:29
Tv leethal: nope13:29
leethal I see13:29
pngl oh thanks for that... yeah I'm sure I'm using a lot of homebrewed methods that have nothing to do with the standart way of doing stuff13:29
Tv leethal: you don't want people running arbitrary code on your system when you just grab their sources, you know..13:29
mattly joined13:29
leethal mm, good point13:29
pngl thanks again I'll make a new bare on my remote server (is scp just weird or actually bad?)13:31
hliusv561 pngl: It is possible to dedicate some prefix for pushes so they won't wind up goin to currently checked out branch. One can even specify patterns at client side how branch names are mapped...13:31
jengelh why scp, just push ssh://13:32
Mikachu i don't think push can create a remote repo?13:32
hliusv561 pngl: It does not check the stuff copied and when copying repositories with their working trees transfers extraneous data plus trashes the working copy caches (fixable with one command).13:33
octopod left13:33
Tv Mikachu: except with gitosis ;)13:33
but still, create it first, push then13:33
bigon`bigon13:34
jtoy joined13:34
jengelh git addiction?13:35
pngl alright I'll see how this goes but it seems that what I need is to spend more time reading the docs13:35
jtoy how can I take the changes that I currently have and put them into a new branch? I forgot to create a new branch for the new code I have added13:35
cmarcelo joined13:35
leethal would suggesting to add a newb-friendly error message when trying to add empty directories to the repos be a silly idea? like, 'git only tracks files, can not add empty directory to repository' or whatever, instead of the 'cryptic' stuff about the dir being ignored.13:35
Tv jtoy: already committed or not?13:35
jtoy Tv: not committed yet13:36
hliusv561 Actually, there are at least two ways to rebuild those caches with just one command ('git status' (the recommended way), and 'git update-index --refresh' (invoking just the low-level operation)).13:36
Tv jtoy: git checkout -b newbranch13:36
jtoy Tv: thanks13:36
LotR hmm. is there a webpage for the git.vim script other than mailing list archives?13:36
ironfroggy joined13:36
hliusv561 git update-index is mainly used in scripts or for doing some really weird stuff.13:37
mithro left13:39
theCarpenter left13:40
Catfish joined13:42
leethal left13:45
soma- what trac plugin is preferred for git?13:47
YGingras__ left13:48
YGingras__ joined13:49
cbrake_awaycbrake13:53
bigonbigon`14:05
dancor joined14:06
dancor i'm going to put a hook in a git-svn repo to automatically commit to svn anything push-ed to it14:07
however, the svn repo also has pre-hooks that can fail14:07
so is the best way to use .git/hooks/pre-receive and have that fail if the svn commit fails?14:07
bigon`bigon14:08
hliusv561 dancor: pre-receive is IIRC invoked before data is transferred.14:09
dancor hliusv561: hm, do i want 'update'?14:10
pngl I'm lost. Or rather I don't get the concept of bare repository. Where are the actual files?14:11
bigred-ian joined14:11
dancor i really just need to: detect failure, make sure the repo stays clean, and notify the person trying to push14:11
hliusv561 pngl: Mainly inside those big *.pack files in objects/pack?14:11
sunblush left14:12
hliusv561 dancor: AFAIK, update can print messages to client and can abort the update.14:12
pngl hm. alright. so without a bare repository, my git push doesn't actually update the files. with a bare one, there are no files. what if I simply want to push changes from my local machine to my remote web server?14:13
hliusv561 pngl: There are some hooks that can be enabled. One of them is invoked after pushing. It could copy a snapshot of newest pushed stuff to apporiate directory.14:14
cartman joined14:14
hliusv561 pngl: At least 'post-update' hook can be used for that.14:14
dancor hliusv561: for me? yeah post-update seems like it might work better with git-svn14:15
i might have to do a little bit more clean up on failure there14:15
hliusv561 dancor: You can't abort from post-update.14:15
pngl sounds good, I'll take a look at this. Strange though that there is a need to add hooks for what seems like a very simple operation to me.14:16
dancor hliusv561: but i can reset and tell the user they got pwnd right?14:16
hliusv561 dancor: Actually propagating the failure to client would be nicer thing to do.14:16
dancor hliusv561: do you think it will be possible with git-svn?14:16
hliusv561 dancor: Not just spew errors to client (and have client think it succeeded).14:17
pngl: Also, some data can live in those files which have 38 characters of "hex garbage" as their names under objects/xy/, where x and y are hex characters also.14:18
dancor update has problems in that it is once-per-file but it's not easy (that i know of, but i would be surprised if it is..) to do svn hook checks without actually committing files14:20
hliusv561 dancor: I think there was some 'all-branches-at-once' hook also...14:21
pngl: It is not simple, as that working tree must not be trashed.14:24
pngl: It would be simple operation only if that working tree was clean on all paths modified. Anything else and merging could wind up being disaster.14:25
jtoy left14:25
bobesponja joined14:26
doener joined14:27
dkagedal left14:27
cartman left14:30
careo joined14:31
saimon_ left14:41
ironfroggy left14:42
doener_ left14:42
ironfroggy joined14:43
jtoy joined14:46
aroben joined14:46
aroben left14:46
dancor can i get like a 'git show' of the change coming in in pre-receive14:49
Tv dancor: just let the fetch happen, review remotes/* before you merge it14:50
oh sorry you meant on push14:50
why?14:50
the hook gets the necessary info in stdin to do that, if that's what you really want14:51
dancor Tv: i'm trying to put a hook in a git-svn repo to automatically commit to svn anything push-ed to it, but fail if the git svn dcommit fails14:52
this seems difficult because git svn dcommit only works on a clean index (after all the hooks are called)14:53
peper how can I rever N last commits to the workdir?14:53
Tv peper: man git-reset14:53
dancor peper: as a new commit, or pretending they never occurred?14:54
Tv peper: oh yeah that too.. there's like three different things you might be after14:54
peper the latter14:54
dancor then git reset14:54
Tv 1) starting a new branch 2) undoing commits you haven't shared 3) cancelling commits you have shared14:54
peper 2)14:55
Tv man git-reset14:55
peper but I want the changes from the commits to be in the workdir14:55
alright14:55
dancor Tv: for this hook, one idea i had was to pull the change out at the pre-receive stage and patch it to a separate repo and dcommit from there14:55
i can't think of anything less hacky14:56
peper ta14:56
Tv dancor: well dcommit is going to rebase it anyway14:56
dancor: so the push is going to be an utter disaster14:56
dancor: what the client pushed will not be what you want to end up with14:57
bigred-ian left14:57
dancor Tv: so you think separate repo is necessary?14:57
peper btw. how can I revert a git add? (either of a new filename or just changes)14:57
Tv dancor: i have no clue what you're trying to build14:57
dancor: but in general, git commits intended for git-svn dcommit should not be shared14:57
dancor: that includes pushing14:57
dancor Tv: svn <-> git-svn repo <-> pure git repo14:57
Tv peper: just like anything else14:57
(16:55:35) Tv: dancor: but in general, git commits intended for git-svn dcommit should not be shared14:58
dancor: think about that14:58
dancor why not14:58
peper Tv: man what? :]14:58
Tv dancor: because dcommit will mutate them14:58
peper: man git-reset14:58
peper: if it's the whole commit you want to undo14:58
peper now I am talking about reverting index changes only14:59
dancor Tv: i see. it adds a git-svn-id line to the message e.g.14:59
peper i.e. I did git-add foo14:59
midgarbdiego14:59
peper and, oops I didn't want to do that ;]14:59
kristoffer joined15:00
Tv peper: see git status output15:00
peper Tv: "to be commited"15:01
Tv peper: ... aaand?15:01
kukks joined15:01
peper er, ok. simple git-reset did the trick ;]15:01
Tv so you didn't read it, then15:02
oh well15:02
peper I did15:02
then run git-reset15:02
and read again15:02
dkagedal joined15:02
dancor Tv: but there are certain benefits from a more-git-like setup that i want such as disk savings cloning from one repo on each machine that developers are on15:02
but i can see it's going to necessarily be more hacky than i had imagined15:03
Tv dancor: you can want all you want ;)15:03
dancor i intend to do more than want15:03
Tv dancor: switch over, then ;)15:03
dancor Tv: in time, and iteration15:03
IanL left15:05
careo question for any git-svn users out there: what's the suggested way to start a new branch in svn with git-svn? or should I just start a new one with subversion directly and just use it in git?15:05
Tv careo: yup15:06
careo Tv: cool. thanks15:07
careo heads back into the dark pit of despair that is his svn checkout15:07
Tv careo: you can do that with a single command, just use full urls15:08
no checkout needed15:08
careo ack. right.15:08
thanks again15:08
Tv: one last dumb question and I'm out your hair: that's done, git-svn fetch found it with the "found possible branch point...", and is now pulling down revision 1-now. is that normal, or is something in my git-svn setup wrong that it can't just get the history from disk?15:13
Tv not sure15:14
git-svn has changed since i last used it for real15:14
for real = more than read-only trivial use15:14
doener careo: for the branching stuff, I have a script here to handle that. http://git.pastebin.com/d387cb2c15:15
careo ok. no worries. I trust that it'll sort itself out after a good gc, even if it does have to go through this temporary insanity.15:16
doener careo: that should look for the last commit in you current git branch that exists in svn, and create a new branch starting at that commit15:16
s/you/your/15:17
careo doener: ahh good! thanks15:17
jengelh How would I make gitweb show the shortlog of all recent commits rather than just the ones on the current branch?15:18
doener still needs the svn executable though. If I knew perl, I'd add that to git-svn... ;-)15:18
careo heh. git-svn needs svn anyway iirc15:19
doener careo: it can get away with just the perl bindings AFAIK15:19
careo wait. no, I don't. it uses uses the bindings directly15:19
careo goes for more coffee to guard against further errors15:20
orospakr joined15:21
sverrej left15:21
doener jengelh: http://git.kernel.org/?p=git/git.git;a=shortlog;h=--all15:21
jengelh: seems that you can pass arbitrary arguments via "h"15:22
jengelh o_O15:22
metzemetze_away15:22
zapnap joined15:24
zapnap left15:24
jengelh well it does what I expected15:26
but is this also possible for the shortlog on the summary page?15:26
doener oh well, not arbitrary, there is some checking it seems15:28
sverrej joined15:28
sverrej left15:29
ironfroggy i have a file that was changed, staged for commit, and then the changes reverted, but it still shows up under changes to be commited15:29
how can i just clear anything that is staged?15:30
sverrej joined15:30
rmh3093 joined15:30
kelvie_ it is safe to remove the tmp_packs right?15:30
YGingras_ joined15:31
sverrej left15:31
kelvie_ ironfroggy: git-reset HEAD <paths>15:31
or use git-gui15:31
p4tux joined15:31
doener jengelh: my perl sucks, but HEAD seems to be hardcoded in git_summary in gitweb15:31
jengelh i don't mind editing gitweb.cgi15:32
changed and works ;-)15:32
sverrej joined15:33
kanru left15:33
doener jengelh: now using $hash instead of 'HEAD', I guess?15:34
sverrej left15:34
ironfroggy kelvie_: thanks15:34
jengelh my %co = parse_commit("--all");15:35
doener ah, hardcoded again :)15:35
jengelh no chance for sneaky kiddies15:35
what's a fork?15:35
eparis i have 1 'public' branch and 10 'devel' branches each with 1 commit and a very nice commit message. git checkout public; git pull . devel-1; git log looks great; git pull devel-2; git log for the latest merge is crap: "Merge branch 'devel-2' into public" rather than the nice commit message I made when I created the branch. how do i make all these devel branches merge into my public branch and keep the nice commit messages?15:35
rmh3093 is there a way to add custom dns info to a repo hosted by repo.or.cz15:37
i have a webredirect working in my dns15:37
which works ok to redirect cloning15:37
doener eparis: your nice commit message is still there, you're just looking at the merge commit that pulls in the other commit15:37
rmh3093 but i cant push to that15:37
doener eparis: have a look at your repo in gitk to see that15:38
eparis: what happened is that the first merge happened to be a fast-forward, so the branch was just moved forward and no merge commit created15:38
eparis: but the second one is not a fast-forward, thus you see the merge commit in _addition_ to the original commit15:39
careo doener: in script there is a line "URL=$(echo -n "$URL" | sed -e 's!//.*@!//!')", svn yelles about the "-n" argument. without it, it works pefectly.15:39
eparis doener: hmmm ok, is there a way to not have that merge commit and just make it look like i did a patch->commit->patch->commit work on the 'public' branch (aka when i push this public branch i don't want people to have to see my internal workings....)15:39
careo in your script, rather15:39
doener eparis: if you want to avoid merge commits, you'll have to rebase the devel branch before merging it15:39
bigonbigon`15:39
jengelh Is there any description of why gitk colors branches halfway one color and in the middle changes to another?15:40
doener eparis: or, if you really just have a single commit in those branches, just cherry-pick them instead of rebasing and merging over and over again15:40
eparis doener: even better. but i'll go read about rebasing just to learn15:40
doener careo: svn yells about -n? that's passed to echo!?15:40
eparis doener: thanks!15:40
careo doener: to svn cp15:40
doener careo: svn cp gets -r ..... -m, I don't see an -n here15:41
careo: there's a single -n and that's passed to echo15:41
careo doener: strange. here what's sent is: svn cp -r ... -n ...15:42
YGingras__ left15:43
doener careo: hm, so it's "svn cp -r ... -n ... -m ..."?15:44
careo yeah15:44
doener careo: hm, does your "echo" not support -n?15:44
careo: what does "echo -n foo" print?15:44
careo doener: just foo, -n's suported15:44
cannonball joined15:45
doener where does that -n come from then? *confused*15:45
careo echo "$DST" => -n reponame15:46
I'm somewhat confused too. but either way, without -n it's running happily. I'm in os x leopard though15:47
Rogan has anyone here used git-cherry?15:47
doener careo: maybe your /bin/sh has a broken echo built-in?15:47
Rogan I'm trying to understand what it is telling me15:47
jengelh Is not `git add .; git commit` like git commit -a ;-)?15:47
doener jengelh: IIRC "commit -a" is like "add -u", while "add ." won't notice deletions15:48
vmiklos git add . will add new files while git add -u will just add modified files to the index15:48
jengelh good to know15:49
careo doener: by god, it does. sh-3.2$ echo -n foo => -n foo15:49
johan-s left15:49
doener ah yeah, new files are handled differently, too15:49
mediogre left15:49
doener careo: well, then make that #!/bin/bash or /bin/echo15:51
:-)15:51
octopod joined15:51
bigon`bigon15:52
spuk- left15:53
johan-s joined15:54
harinath joined15:57
johan-s left15:59
johan-s joined16:00
spuk- joined16:02
johan-s left16:02
johan-s joined16:03
harinat1 joined16:08
aroben joined16:11
harinat1 left16:11
twork__ joined16:13
twork__ Hmm -- I was hoping git cherry-pick would copy the same SHA1 over, but it doesn't. Is there *any* way of copying an entire commit verbatim, including the same SHA1? We're trying to perform merge-tracking.16:14
z3om joined16:15
doener twork__: no, you're changing the parent which affects the hash16:15
Tv twork__: commit sha1s are cryptographical checksums of *everything* in history before that point16:15
twork__: sounds like you want to study the concept of topic branches16:16
twork__ Thank you. :)16:16
careo is there a way to have git-svn mark that branches in svn have been deleted?16:17
marcel left16:19
sunblush joined16:22
stillLotR joined16:24
LotR left16:25
harinath left16:25
HG` joined16:26
mjc joined16:27
puk joined16:27
stick joined16:27
mjc hmm. we have a huge "images" directory in our cvs repo, and I want to make it a separate repo... is there a good way to do that? the history from it is huge16:28
a-atwood left16:28
priidu_ left16:28
mjc when I do the git import16:28
er git-cvsimport16:28
Tv mjc: you can always copy the cvs repo and manipulate the ,v files16:28
but maybe git-cvsimport can do stuff16:29
mjc that'll eliminate it from the history entirely? I'm not familiar with cvs's inner voodoo16:29
(thank god)16:29
Tv and if you import the whole thing you can use filter-branch to split them later16:29
mjc how's that work16:29
Tv cvs versions individual files *only*16:29
mjc filter-branch16:29
Tv ask the man ;)16:30
devurandom joined16:30
devurandom Hello!16:30
mjc ahh, here we go16:30
thanks tv.16:30
devurandom I am getting "Odd number of elements in anonymous hash at /usr/bin/git-svn line 1760." (output, no warning/error) during git-svn-clone. What does it mean?16:31
Is that something bad?16:31
I.e. may my repository be corrupted?16:31
Tv devurandom: could be16:32
devurandom: but probably not16:32
devurandom: it's a bug; try the latest version, if that doesn't help write a good bug report to the mailing list16:32
devurandom: oh and do try to google for the error message, first16:32
devurandom I am using 1.5.4_rc2.16:32
pngl left16:32
zeom left16:33
z3omzeom16:33
aroben_ joined16:33
devurandom Seems as if it really could be a bug: http://www.nntp.perl.org/group/perl.bugmongers/2004/09/msg204.html16:33
Tv well it *is* a bug16:34
that's clear16:34
what's on line 1760 of your copy of git-svn?16:34
aroben left16:34
mjc "To remove commits authored by "Darl McBribe" from the history" funny but I think that should be removed :O16:35
aroben_aroben16:35
lcapitulino left16:36
devurandom $svnsync = {16:36
With context:16:36
# see if we have it in our config, first:16:36
eval {16:36
my $section = "svn-remote.$self->{repo_id}";16:36
$svnsync = {16:36
url => tmp_config('--get', "$section.svnsync-url"),16:36
uuid => tmp_config('--get', "$section.svnsync-uuid"),16:37
}16:37
mjc [email@hidden.address]16:37
devurandom };16:37
FunkeeMonk left16:40
dsaxena left16:40
p4tux left16:41
sunblush left16:42
Phoop joined16:43
RobotDeathSquad joined16:43
robinr joined16:45
p4tux joined16:45
theCarpenter joined16:47
vbgunz forgive me if this is lame, in the man git-init page on the web, what does this mean: Use permissions reported by umask(2). ... specifically umask(2)16:49
Tv vbgunz: umask. look it up in any advanced unix book.16:49
vbgunz: man -a umask may or may not help16:49
vbgunz Tv: not really umask, when you see something with (2) ... whats that mean?16:50
e.g., git(7)16:50
mjc manual section16:50
Tv vbgunz: man section16:50
mjc man 7 git16:50
vbgunz man 2 umask: No manual entry for umask in section 216:51
ok great (n) means n section and to get to it is man n ...16:51
mjc man 1 umask16:51
on osx at least16:51
vbgunz No manual entry for umask in section 116:51
heh, am on Kubuntu 7.1016:52
mjc http://en.wikipedia.org/wiki/Umask16:52
Tv: git-filter-branch --index-filter 'git update-index --remove images' HEAD16:52
Tv there's no user command called umask, it's a shell builtin16:52
mjc that'll blow away anything named images from everywhere, no?16:52
or just the top level directory16:53
from all commits16:53
Tv mjc: i'd need to spend 5 minutes with the man page myself ;)16:53
saimon joined16:53
mjc ah16:53
it gave that with a filename as an example16:53
well I can't hurt anything I can just reimport :P16:53
vbgunz git-init(1) states to read umask(2)... but, there is no man for umask, correct?16:54
mjc you (or your distro) might not have installed the manual for it16:54
read the wikipedia link I posted16:54
Tv vbgunz: man you jump into weird conclusions16:54
mjc and here's an online copy of the man page http://ibm5.ma.utexas.edu/cgi-bin/man-cgi?umask+216:55
vbgunz heh, "there's no user command called umask, it's a shell builtin", not sure, thought maybe this would mean no man for umask, sorry :/16:55
Tv vbgunz: which just means there's no man(1)16:56
err16:56
umask(1016:56
umask(1)16:56
devurandom Filed as http://marc.info/?l=git&m=119981060609053&w=216:56
mjc there's a umask(1) on BSDs16:56
Tv mjc: do they have cd(1) too?16:56
mjc yes looks like 1 is for builtins16:56
Tv mjc: oh wow, what did i just say about jumping into weird conclusions16:57
mjc heh16:57
theCarpenter left16:59
mjc git is so fast it makes my head spin16:59
|kukks| joined17:00
p4tux left17:03
ivazque1 joined17:04
mjc well git-filter-branch without the update index bit is slow17:05
vbgunz the following in git-init(1) ...config variable "core.sharedRepository", '...configuration flag receive.denyNonFastforward' ... where do I find these? are these global or specific? do I edit something outside of .git fro this or edit something inside .git *after* init?17:07
maio joined17:07
harinath joined17:07
maio hi i deleted some files in working copy how do i get them back?17:08
Tv maio: git checkout HEAD path/to/file17:08
mjc vbgunz: .git/config17:08
or ~/.gitconfig17:08
vbgunz yeah, this is in regards to --share=...17:08
mjc then in the config file in your shared repo17:08
but you probably just want git init --shared17:09
or, gitosis17:09
vbgunz so, if I had new templates, I rerun git-init ... if I wanted to change persmissions, do I rerun git-init --shared... OR just change the config?17:09
Tv vbgunz: it won't overwrite anything existing17:09
maio Tv: thanks17:10
Tv vbgunz: if you want to change the hooks, change the hooks17:10
vbgunz: if you want to edit the config, edit the config17:10
vbgunz yeah I read that, I understand you would usually rerun it to pick up modified templates or something similair17:10
Tv it won't overwrite anything17:10
vbgunz Tv: in regards to --shared. git-init --shared=(s/false/group) won't work, I will need to change the config to make such a change correct?17:11
lcapitulino joined17:11
dsaxena joined17:12
kmap left17:13
mjc dude it's just a text file17:13
sunblush joined17:13
mjc but it again sounds like what you really want is gitosis :P17:13
vbgunz hmm, rerunning git-init, changing --shared changed the config17:13
WorkingGeier left17:13
mjc vbgunz: http://eagain.net/gitweb/?p=gitosis.git17:14
sgrimm joined17:14
vbgunz I am trying to learn core-git as best I can, trying to weed out any questions a.s.a.p., am currentyly on git-init, basically done and 19 commands to go... only to be told that isn't core :P17:15
mjc watch randal's presentation17:15
kukks left17:17
_kukks_ joined17:18
kmap joined17:18
ivazquez left17:18
vbgunz mjc: yeah, I am basically done with git-init. seems simple enough though it put umask on my todo, one more command and I'll go over your link again17:18
thanks17:18
mjc yep17:18
wayneeseguin left17:19
mjc been using git for 6+ months; finally convinced the boss to begin migrating to it17:19
vbgunz mjc, quick question, where is the presentation, not in the last link you linked too?17:20
Tv vbgunz: http://tinyurl.com/2c9np17:21
vbgunz heh17:22
kristoffer left17:25
jengelh Could someone look at git log d9a61d669c39d9f260a92554071aa960eb0c3e80?17:25
kumbayo joined17:26
wayneeseguin joined17:27
krsanky joined17:33
|kukks| left17:34
theCarpenter joined17:36
twork__ left17:38
desegnis joined17:45
mjc vbgunz: http://video.google.com/videoplay?docid=125125145359275854117:46
vbgunz am 12 minutes into one presentation... may be the same one17:47
mjc linus gave another one that is more generic17:47
but funny17:47
vbgunz yeah, I think it is, I found this one http://www.techpresentations.org/Git17:47
jengelh linus also has a git talk on video.google17:48
vbgunz yeah, I saw the one with Linus a couple months ago, the presentation by him put Git on my todo.17:48
jengelh and there is another from James Bottomley on linuxworld.com/video17:48
vbgunz Linux went a little nuts in the one I saw about SVN, I think basically he called them retards or something equivalent17:49
jengelh yeah that one17:49
mjc for a reason17:49
jengelh obviously :p17:49
but the beat against svn was not as justified as the beat against cvs17:50
mjc yes it was17:50
:P17:50
vbgunz I never worked on any vcs, I chose Git after seeing the Linus video17:50
mjc even more so because of how most windows users use SVN17:50
jengelh mjc: well just imagine what were if Windows users used CVS17:50
it would be worse17:50
mjc I already know what that's like17:50
jengelh ya right they'd use clearcase :D17:51
mjc but most windows users that use SVN don't use trunk/branches/tags17:51
harinath left17:52
vbgunz im lost, I don't speak svn, cvs and so far, in git, I know enough to ask for a cookie17:52
jengelh git-fetch cookie17:52
Ilari mjc: Yea, I have seen some SVN users. No branches, ocassionally no commit messages. Newer anything about 'Why', etc.17:52
vbgunz heh17:53
ivazquez joined17:54
madewokherd joined17:54
robfitz_ joined17:55
dysinger joined17:56
sdfahakan joined17:56
careo most longtime svn users I know don't even use branches17:57
mjc yeah17:57
sgrimm left17:57
sdfahakan Hi, I want to merge 2 commits into 1: have two commits in sequence: one really adds new funcionality to code, second converts CR LF -> LF - the second one just makes mess - how can I merge the two?17:57
careo or if they do, they're about to find out why most other users dont ;)17:58
Oejet left17:59
vintrepid joined18:02
careo I have a git-svn question I'm hoping someone can shed some light on. I have a nicely setup git-svn clone of our svn repo. git lists 72 remote branches, 71 of which are branches long-since deleted in svn. is there a way to tell git they're dead and to stop listing them?18:02
Mikachu you can rm them from .git/refs/remotes/svn18:03
they will only show up again if they're updated in svn i think18:03
careo cool18:03
Mikachu and when i say rm you should use mv, of course18:03
careo mv to?18:03
or just mv to some backup place in case that wasn't what I wanted to do?18:04
Mikachu yeah18:04
puk left18:06
robfitz left18:06
ivazque1 left18:08
johan-s left18:09
careo hmm. not quite so easy. I'll keep messing around and googling.18:10
harinath joined18:11
devurandom Hmm... My SVN branches and tags, how are they supposed to be displayed in gitweb? As heads?18:12
Lash| joined18:12
aroben left18:14
vmiklos nope18:14
gitweb hows local branches while svn branches are remote branches using git-svn18:14
devurandom So gitweb cannot show them?18:14
vmiklos shows*18:14
harinath left18:14
vmiklos it can, but not as local heads18:14
devurandom Hm...18:15
Randal sdfahakan - use git rebase -i - there's a "squash" option18:15
vmiklos so they will not be listed18:15
devurandom So how do I make them show up?18:15
Randal beware - you will invalidate all future commits on the old branch18:15
vmiklos create local branches from remote branches18:16
Randal if those are the two most recent commits, it might be easier just to do the shuffling "by hand"18:16
TuxCM- joined18:16
Randal wonders if sdfahakan is still listening18:16
pennyk_ joined18:19
pennyk_ hi, all18:19
BitKeeper is commerical software. It provide a simple free tool, bkf.18:20
Is it right that 'bkf clone' only gives a snapshot, not a whole repository clone?18:20
devurandom It's getting better... :( "Unable to determine upstream SVN information from working tree history"18:21
Ilari pennyk_: What the heck it does have to do with Git?18:21
sdfahakan Randal: thanks for your tip; I apologize, went out for a little while, will look at it now18:21
pennyk_ Any way to convert a bk repo into git?18:21
alley_cat joined18:22
pennyk_ I know we can convert CVS/SVN repo into git.18:22
vmiklos using bkcvs18:24
devurandom Hmm... And "git svn log" shows an empty log and gives "fatal: bad default revision 'refs/remotes/git-svn'" on the commandline...18:24
TuxCM left18:24
vmiklos devurandom http://blogs.frugalware.org/vmiklos/2007/12/09/p320 <- maybe you want something like this. the second repo is hanled properly by gitweb18:24
+d18:25
devurandom Saw that yesterday already... But somehow I dislike having the same repository 3 times on the same server, which I all need to update when the first is updated... svn => git-svn => git18:26
git-svn-clone also checks the repository out?? Can I undo that?18:27
thiago git-runstatus stats each file twice. Is there a good reason for that?18:28
sdfahakan Randal: invalidate further commits - I realized this even before asking this question :-) so the rebase does not recalculate the commit hashes (IDs) that are descendants of the new merged commit? That would be bad18:28
vmiklos devurandom yes, it does - as git-svn fetch doesn't work without a working tree18:29
at least not here;)18:29
sdfahakan (... commit hashes _of commits_ that are descendants ...)18:29
theCarpenter left18:29
pennyk_ vmiklos: but I can't access that bk repo directly. All I can do is to access it throught Internet.18:29
devurandom vmiklos: I did "git --bare init && git --bare svn init && git --bare svn fetch" before and it seemed to work...18:30
vmiklos pennyk_ i don't know bkcvs deeply, i just know Linus convert the linux-2.6 repo to git using bkcvs:)18:30
pennyk_ vmiklos: oh. Still, thx.18:30
tvachon joined18:30
vmiklos devurandom huh, git --bare svn fetch ;) i haven't thought of it18:31
$ git --bare svn fetch18:31
fatal: Not a git repository: '/home/vmiklos/scm/git/ooo-build.git'18:31
rev-parse --symbolic --all: command returned error: 12818:31
yes18:32
dancor left18:32
vmiklos doesn't think you can avoid having two repos18:33
mountie left18:33
mountie joined18:35
devurandom vmiklos: git --bare svn fetch works flawlessly here...18:35
Did you do git --bare init before?18:35
saimon left18:35
devurandom I think you will get that error if you don't.18:35
tongueroo joined18:36
devurandom Heh... Now it gets funny...18:37
Odd number of elements in anonymous hash at /usr/bin/git-svn line 1760.18:37
r13 = 6d57857b7da6aeeda39329ccfd52a329fe47ce78 (tags/1.10a)18:37
Segmentation fault18:37
|kukks| joined18:37
jtoy left18:37
Ilari devurandom: What got toasted by segfault?18:38
devurandom git --bare svn fetch18:38
Currently trying to reproduce... r13 takes a while, though...18:39
tvachon left18:39
Ilari devurandom: Maybe allow coredumping 'ulimit -c unlimited' or something like that and then use file on the crashdump to find the actual crashed program?18:40
devurandom Why does git-svn-log take hours, but git-log shows me the log immediately?18:40
Ilari: Will try that.18:40
tvachon joined18:41
janm left18:41
nashdj left18:41
devurandom When I use git-daemon, I don't need git-update-server-info, right?18:42
And gitweb doesn't need it either?18:42
Ilari Maybe git svn log hits the remote repo in some really nasty manner, but git log only hits the local object database (and in really nice way).18:42
loops devurandom, correct.. you only need it to support dumb protocols such as http18:43
johan-s joined18:45
k_dub joined18:45
johan-s left18:45
devurandom Ilari: How do I examine that core?18:46
pennyk_ left18:47
Tv devurandom: what core?18:48
devurandom coredump. From git-svn18:48
Tv oh i see ilari talk about that18:48
gdb18:48
file can extract the program name too, yeah18:49
devurandom If I don't have gdb on the server? Can I do it from remote somehow?18:49
Tv devurandom: you'll need the core file, the binary that was running, and possibly all the libs18:49
anttih joined18:50
theCarpenter joined18:50
devurandom How do I get file to extract the program name?18:50
Here it just says "core.25748: ELF 32-bit LSB core file Intel 80386, version 1 (SYSV), SVR4-style"18:50
GyrosGeier joined18:51
Tv hmm, maybe it didn't know how to18:51
strings core|less18:51
or just use gdb18:51
sgrimm joined18:52
opsis25 left18:53
k_dub left18:53
devurandom vmiklos: Can you explain to me what those configurations in the description on your blog mean?18:54
_kukks_ left18:54
gitte joined18:55
Ilari devurandom: And if it was perl which segfaulted, good luck for debugging, you probably will need it...18:57
devurandom It probably was Perl... :(18:57
theCarpenter left18:57
Ilari devurandom: If it wasn't, one important thing would be to recover the command line used to invoke it.18:58
devurandom: That was important step when I tried to debug that git-rev-list commit limiting crash.18:59
dancor joined18:59
devurandom What do the remote.origin.fetch config keys do?19:02
gitte left19:03
Ilari devurandom: Control remote branch name mapping on fetching.19:04
devurandom So remote.origin.fetch +refs/remotes/tags/*:refs/tags/* means refs/remotes/tags will be renamed to refs/tags on fetch?19:05
careo left19:06
Ilari devurandom: I think so.19:09
devurandom Do I need to have refs/heads/master?19:09
Or would it also work if I just had refs/heads/trunk?19:10
careo joined19:10
Tv devurandom: as long as HEAD points to something sane19:10
GyrosGeier hmm19:10
can I instruct fetch to pull all remotes, or do I have to use one fetch command per remote?19:10
I'd like to build an ip-up rule for the laptop19:11
Tv GyrosGeier: you want git remote update19:12
GyrosGeier thanks19:12
well19:12
KirinDav joined19:12
GyrosGeier is at the beginning of a long hacking session now19:12
jesse_ joined19:14
careo left19:15
timocratic joined19:16
careo joined19:16
archfear joined19:18
vmiklos devurandom aha. it seems if you do a git --bare init before git --bare svn init, then it does (how horrible)19:20
kmap left19:20
devurandom "Then it does <work>" or "Then it does <crash>"?19:21
vmiklos the previous. at least it started19:21
without git --bare init it just bailed out with an error in 2 secs19:21
drizzd_ joined19:23
devurandom Yeah, that's true.19:23
It seems as if git-svn init doesn't do a full init or something like that.19:24
How do I tell it where the default ref is?19:24
s/it/git or gitweb/19:25
vmiklos it does if you don't use --bare ;)19:25
the default ref is refs/heads/master19:25
devurandom But then I will have 2 times the same head, no?19:25
vmiklos yes, one remote and one local19:26
devurandom Then trunk will be the same as master19:26
vmiklos remotes/trunk, yes19:26
devurandom vmiklos: Aren't they both local now, that I fetched them from my git-svn repos?19:26
vmiklos you have one local ref: master19:27
nud_ joined19:27
vmiklos and you have remote refs: remotes/trunk, remotes/branches/*, remotes/tags/*19:27
or so19:27
devurandom vmiklos: I don't have any refs/remotes/19:27
vmiklos huh:)19:27
where do you have your branches?19:27
and tags19:28
in the git-svn repo19:28
devurandom refs/tags/ and refs/heads/19:28
In git-svn I do have them like you said.19:28
Tv devurandom: are you perhaps using a very old git-svn?19:28
devurandom Tv: Probably outdated, yes. I says 1.5.4_rc2 ;)19:28
Tv hah19:28
vmiklos that isn't outdated at all:)19:29
devurandom Note the ";)" ;)19:29
vmiklos: But the only exported repos is the one where I fetch from git-svn19:29
I wonder how this will all work... *sigh*19:29
vmiklos exported repos?19:29
devurandom git-daemon-export-ok19:29
vmiklos well, it isn't that complicated19:30
devurandom Since now I am 100% not on the git-svn manpage way...19:30
vmiklos mkdir foo.git19:30
cd foo.git19:30
git --bare init19:30
git --bare svn init url19:30
git --bare svn fetch19:30
devurandom (That is my git-svn repos?)19:30
theCarpenter joined19:30
vmiklos git config remote.origin.url .19:30
aroben joined19:30
devurandom Oh... Now I fetch from myself??19:31
vmiklos git config remote.origin.fetch +refs/remotes/tags/*:refs/tags/* && git config --add remote.origin.fetch +refs/remotes/trunk:refs/heads/master && git config --add remote.origin.fetch +refs/remotes/*:refs/heads/* && git fetch19:31
yes19:31
devurandom Aha...19:31
vmiklos i haven't tested it yet as git --bare svn fetch is still running, but ideally this can work19:31
devurandom Sounds cool. :)19:31
vmiklos if you fully switch to git later, then you probably still want to remove the git-svn-related files, but that's a minor problem19:32
devurandom And after that I can follow the steps after "# Do the initial import on a server" from man git-svn ?19:33
vmiklos after that you already have an import (git --bare svn fetch did it)19:34
if you want to update it incrementally, then you need git --bare svn fetch && git fetch19:34
drizzd left19:34
devurandom vmiklos: I mean on the clients.19:35
As that thing is thougth to be only a gateway/conversion-station, like described in the manpage.19:35
vmiklos on the clients you can just clone it as a normal git repo19:36
or do you want to use git-svn on the clients, too?19:36
devurandom vmiklos: I want to commit to svn, yes.19:36
Giel joined19:36
devurandom Hello Giel. :)19:36
vmiklos uh :/ no idea19:36
Giel hi devurandom :-)19:36
vmiklos i never used git-svn dcommit from a repo which is created by git clone19:37
devurandom vmiklos: I hope this doesn't mess it up then...19:37
vmiklos probably it's possible but you need someone who knows how to do this ;) (probably you should ask on the list)19:37
Giel devurandom: I think git-svn uses some special config options in .git/config which git-clone doesn't copy over19:38
grahal joined19:39
desegnis left19:39
desegnis joined19:40
mjc devurandom: did those videos help you?19:41
cehteh is it possible to let submodules link to a head instead to a specific commit?19:41
vmiklos nope19:41
devurandom mjc: Videos?19:41
mjc or was that someone else19:42
devurandom Well, if you have something which might even remotely help me, I'd be glad to get it. :)19:42
dsaxena left19:42
cehteh mhm19:42
vmiklos i already asked on the list earlier (as i think it would be a nice feature) but i got the answer "you don't want to do this" ;)19:43
cehteh well they dont know for what i want it :)19:43
vmiklos (which is true in some cases, but i think it would be nice if i could just link to a given branch)19:43
grahal is there a way that after a rebase, commits get lost?19:43
cehteh for software configuration thats certainly a bad idea19:44
vmiklos is it an interactive rebase?19:44
devurandom Yeah, cool...19:44
Now git-svn-rebase gives me: fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.19:44
cehteh http://www.pipapo.org/webgit?repo=webgit&object=af66dbba9f836bd298b2dbe0cd476d0bd4859cbe19:44
devurandom Whatever that means...19:44
cehteh .. see submodule integration in the browser, would be nice to have the toplevel project just accumulate everything below as submodule which links to HEAD19:45
but well .. not really important19:45
devurandom And on git-fetch: fatal: 'origin': unable to chdir or not a git archive19:47
archfear left19:49
devurandom I'll redo it again, using the method you described above. Maybe that helps...19:49
It still segfaults on me. Though I could swear it worked yesterday...19:51
grahal any idea how to look for lost dir/files in git if it seems like no commits point to them?19:59
Tv git lost-found19:59
jengelh left20:07
Phoop left20:07
jengelh joined20:08
jesse_ left20:08
jengelh Running git-gc in a bare repository seems detrimental...20:11
Tux32 left20:11
jengelh refs/heads/ is cleared20:11
grahal Tv: thanks... I see that some commits have portions of the files I wanted to restore... is there any way that I tie up everything?20:12
vmiklos so now you have packed refs:)20:12
jengelh vmiklos: that's not nice ^_^20:12
sdfahakan left20:12
vmiklos why not?20:12
Tv grahal: usually git show COMMITISH:PATH20:13
Mikachu jengelh: see the packed-refs file and man git-pack-refs20:13
jengelh vmiklos: custom script scanned refs/heads/ for available branches :p20:13
vmiklos that's bad20:13
use git ls-remote (for example) for listing refs20:14
Tv git rev-parse20:14
for-each-ref20:14
there's plenty of tools20:14
jengelh nah, ls-remote is good. but 'remote'? should be local, not?20:14
vmiklos 'git ls-remote .' or so20:15
but yes, Tv has better ideas:)20:16
jengelh but git-rev-parse is not one of them20:16
Rogan left20:16
Tv well not for listing out the refs20:16
vmiklos git 'git for-each-ref refs/heads'20:17
s/^git //20:17
theCarpenter left20:18
theCarpenter joined20:21
johan-s joined20:23
hachi can I use git submodules to represent the structure of a single subversion repo that has multiple projects under /trunk and each one split apart when tagged?20:31
http://nopaste.snit.ch/12073 # I'm trying to do it like this, but I'm kinda shooting in the dark with the idea. Maybe someone else has attempted it?20:32
vmiklos you can but probably you don't want so20:32
http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#submodules20:33
have you read this?20:33
jesse_ joined20:33
hachi nope, that's my first failing, missed that part20:33
reading it now20:33
vmiklos basically you want submodules when it makes sense to stick to a given version of the submodule. if you create such a trunk.git, this will only cause problems for you20:35
hachi okay, so then this is the wrong answer20:35
I'm starting with what I consider to be a messed up svn repo, and trying to use git-svn with it20:35
Giel hachi: maybe you might want to clean it out in subversion first ?20:36
hachi http://code.sixapart.com/svn/mogilefs/ # under trunk there's 6 different projects, and then in tags each project has a prefix on the tagname20:36
I can't clean it out, that would destroy the history20:36
while I do own this repo, and in theory I could do whatever I want... the real problem is that other people use it20:37
_mountie joined20:37
vmiklos he means move the tags/branches to their own subdir for each project20:37
mountie left20:37
jengelh something like git-svn --trunk=trunk/myproj --tags=tags/myproj perhaps?20:37
vmiklos maybe you can even do so:)20:37
Giel hachi: yes, as vmiklos says; I meant move all projects to a project/trunk:project/branches:project/tags structure20:38
hachi this works with git-svn? I assumed that it understood the history of everything in the filesystem, and would just get more confused20:38
tarbotarrybone20:39
Giel hachi: ah yes, actually git-svn might not like that at all...20:39
tarrybonetarbo20:39
vmiklos i would try git svn init and then hacking .git/config manually. maybe that would work20:40
hachi I can make a copy of the repo and attempt it20:40
git-svn doesn't allow remotes to have * anywhere in the filepath, it must be in it's own component /*/ style20:41
but still, the first idea I'll also try and see if it works20:41
vmiklos i'm not exactly sure btw what projects do you have, ie there are tags/MogileFS-Client-*, but there is no trunk/MogileFS-Client20:43
hachi it's in api/perl20:43
trunk/api/perl/MogileFS-Client20:43
vmiklos ugh:)20:43
hachi yeah20:43
vmiklos so tunk is trunk/api/perl/MogileFS-Client, tags are tags/MogileFS-Client-* and no branches?20:44
+r20:44
hachi given the choice I might have put these each in seperate repos, but... we didn't20:44
it was a group decision, and we went with the 'easiest' out of what we thought was pragmatism20:44
yes20:44
well, there are branches, but for the sake of git-svn bridging I'll ignore them20:45
vmiklos k20:45
hachi the sucky part is I can't say tags/MogileFS-Client-* to git-svn20:45
vmiklos not sure20:45
hachi I'm trying to see if just saying tags/* will do the right thing, maybe git-svn will see tags/something and go "hey, it was a copy of something never in my trunk... I bet I'm supposed to ignore this"20:46
vmiklos $ git svn fetch20:47
Missing trailing '/' on left side of: 'tags/MogileFS-Client-*' (tags/MogileFS-Client-)20:47
hachi says right in the manpage that you can't do that20:47
or EOL on both sides of the *20:47
vmiklos maybe you can comment out this check in git-svn and see what happends :)20:47
hachi ep20:47
vmiklos -d20:48
cartman joined20:49
Lash| left20:49
devurandom I remember where the difference to yesterday is... I didn't use --use-svnsync-props but --rewrite-root yesterday...20:50
doener EOL? Now that I look at it, EOL makes no sense there. We're talking about the left side, the * must be enclosed in // or /: ... Or am I missing something?20:50
devurandom I will try to confirm that this is the issue and then send a mail to the list...20:50
hachi doener: I'm just recalling what the manpage says... I rememeber quite distinctly that it says EOL or /20:51
doener hachi: yeah it does, but it doesn't make sense to me20:51
pasky left20:51
doener oh well, will just send a patch and see if someone corrects me ;-)20:52
hachi well, for the record, git-svn doesn't just dtrt in this case20:52
Pieter dtrt?20:53
doener do the right thing20:53
Pieter ah :)20:53
jengelh time dtwt.20:53
kumbayo left20:55
hachi so, why does git-svn let you specify a name in the svn-remote section?20:56
the default is 'svn' when it makes the config for you20:56
doener hachi: you can have more than one20:56
vmiklos then say 'git svn fetch foo'20:57
hachi more than one what though? is this only for submodules, or is it for something else?20:57
I can fetch from more than one location sure, but what's the point20:57
ebzzry left20:57
vmiklos there is no point in most cases:)20:57
hachi obviously I'm not within that set currrently20:58
vmiklos say you have foo-ng and foo project and you want to use foo but cherry-picking changes from foo-ng to foo20:58
then maybe you want this20:58
not something for you as far as i see ;)20:58
doener hachi: svk comes to mind20:59
hachi okay, so that's more for stitiching things together again once they are split apart20:59
and I'm still trying to split them apart, so... ignore that20:59
ignore that part of git-svn21:00
desegnis left21:05
theCarpenter left21:07
Giel left21:13
\ask joined21:13
jesse_ left21:16
reval joined21:17
_mountiemountie21:19
wagle left21:22
reval left21:23
reval joined21:26
madewokherd` joined21:28
stillLotRLotR21:30
cartman left21:31
madewokherd left21:38
GyrosGeier left21:40
chris2 joined21:41
loswillios joined21:41
loswillios hi21:42
I've patched my linux-tree manually (with patch). Now I want a clean tree again, how would I do that?21:43
git-status and then git-revert on the single files isn't the right way I guess21:44
doener git reset --hard21:44
loswillios cool, thanks21:45
sverrej joined21:45
sverrej left21:46
loswillios is that the recommended way (patching with 'patch') or is there a git-way too?21:46
KirinDav left21:47
madduck copy src/events/handlers/{CTLSOCK_PING.py => NOOP.py} (83%)21:47
how the heck does git know this???21:47
i copied the file, changed it, added it.21:47
tpope loswillios: git-apply21:47
bdiegomidgar21:47
tpope it's atomic, among other things21:47
doener madduck: it just compares the contents21:47
madduck but the contents is not identical21:47
doener but above a certain threshold21:48
tpope it's 83% identical :)21:48
madduck holy cow21:48
vmiklos maybe a few lines of code with a big copyright header or so :)21:48
madduck vmiklos: yeah21:48
vmiklos then it's logical21:48
loswillios tpope: oki, will check it out21:49
doener madduck: the cool thing is that "git log -p -C" should even show you an exact patch for the stuff you changed, not just some "oh well, this file is new, of course _everything_ was added right now"21:49
dsaxena joined21:49
madduck this is pretty nifty21:49
KirinDav joined21:51
ironfroggy left21:52
spuk- left21:53
hachi how do I move master to point to something else remote?21:59
oh, you just switch branches21:59
aroben left21:59
spuk- joined22:00
hachi so, git-svn didn't like my attempt to clean up the svn source tree at all22:00
the history is not looking very linear22:00
doener hm, this looks "unexpected": http://git.pastebin.com/d4d18a46f22:01
I had accidently fetched 2.6.16-rc2-mm1 earlier, removed the tag, gc --prune, and then tried to fetch 2.6.24-rc6-mm122:02
but git decided to fetch both, the new one as well as the old one once again22:02
is that just me doing sth. stupid, or a genuine bug?22:03
vmiklos where is the problem?22:04
now you probably want git reset --hard v2.6.24-rc6-mm122:05
KirinDav left22:05
KirinDav joined22:05
theCarpenter joined22:05
doener vmiklos: git fetch fetched more than I requested22:07
vmiklos: I only requested v2.6.24-rc6-mm1 in that second run (which is in the paste), but git fetch v2.6.24-rc6-mm1 _and_ v2.6.16-rc2-mm1.22:08
cmarcelo left22:09
vmiklos i don't think you can fetch only one tag22:11
well, you can but in fact you need the objects from a previous tag for a later tag, so it's no good not fetching the tag itself22:11
Tux32 joined22:12
wayneeseguin left22:12
doener vmiklos: hm? I doubt that v2.6.16-rc2-mm1 is an ancestor of v2.6.24-rc6-mm122:13
lcapitulino left22:13
doener by your argumentation, it should've fetched all other tags as well22:14
kumbayo joined22:14
soma- left22:17
HG` left22:17
vmiklos yes, you probably did22:17
soma- joined22:18
wagle joined22:19
vmiklos well, i don't know that repo but only tags that do not point at objects reachable from the branch heads are not fetched automatically22:19
which means that in most cases tags are always fetched - without using fetch -t22:19
doener vmiklos: those -mm* tags are on topic branches. Upstream has e.g. tags v2.6.22-rc3, v2.6.22-rc4, and so on22:20
pasky joined22:21
doener at each tag, a branch like v2.6.22-rc3-mm1 is created, and a tag v2.6.22-rc3-mm1 is created on that branch22:21
vmiklos i would do: git remote add mm git://git.kernel.org/pub/scm/linux/kernel/git/smurf/linux-trees.git; git fetch mm; git reset --hard mm/v2.6.22-rc3-mm1 or so22:22
doener vmiklos: I don't want all that mm crap, thus I asked git to just fetch a single tag for me22:22
vmiklos: and the first run, requesting just v2.6.16-rc2-mm1 did just that22:23
but the second one, although instructed to fetch v2.6.24-rc6-mm1, did _also_ fetch v2.6.16-rc2-mm1 again22:23
Plnt joined22:24
krsanky left22:24
kumbayo left22:26
vmiklos hm22:26
KirinDav left22:27
gitster if it was not by explicit "git fetch $url $this_tag" request but by lazy "git fetch" or "git fetch $nickname" request with configured remote.$nickname.fetch, I suspect that it is working as designed (you are triggering automatic tag following in that use case).22:28
rhalff joined22:28
doener preparing a script right now to reproduce22:28
gitster automatic tag following picks up tags that point at commits that exist in your repository automatically. That commonly is what people want. "git fetch --no-tags" should disable it.22:30
doener http://git.pastebin.com/d4f53698e22:30
Plnt left22:32
pasky left22:32
doener hm, that just fetches the tag though. For the kernel thing, it actually downloaded 5MB, so I doubt that that was just the tag22:32
Plnt joined22:32
rhalff left22:36
mithro joined22:36
hachi http://hachi.kuiki.net/stuff/gitk.png22:40
that does not look right, dangit :(22:40
pasky joined22:40
sunblush left22:42
anttih left22:42
aroben joined22:42
orospakr left22:43
devurandom Sadly another bugreport: http://marc.info/?l=git&m=119983162014061&w=222:43
Plnt left22:44
Plnt joined22:44
vmiklos devurandom git svn fetch finished here and it works properly - so thanks for for suggestions on how to do the conversion without a working directory - i've updated the blog entry22:50
metafollic joined22:50
theCarpenter crap22:50
\ask left22:50
devurandom Seems as if I am the only one where it does not work. ;)22:50
theCarpenter one of my intro programming courses is mandating SVN use for our programming projects22:51
devurandom vmiklos: Which version of git are you using?22:51
vmiklos 1.5.4.rc2.38.gd6da3 at the moment22:51
nud_ left22:51
\ask joined22:52
theCarpenter we have to submit our full project repo and history with the actual final source code version22:52
devurandom Does that have any git-svn differences compared to 1.5.4.rc2?22:52
aroben_ joined22:52
theCarpenter can i publish git repos as SVN repo?22:53
vmiklos devurandom i don't think so22:53
robinr you can export to SVN22:53
theCarpenter wonderful22:53
ill talk to my professor and promote git a bit i think B)22:53
robinr your'e supposed to learn to use more than one SCM I guess22:54
SVN is just an example to practice on22:54
theCarpenter it is22:54
but none of the guys have heard about anytihng else22:55
devurandom vmiklos: Would you mind to try this on a svn dump of mine?22:55
theCarpenter except maybe perforce22:55
and by guys, i mean profs/TAs22:55
aroben left22:55
vmiklos devurandom if you upload a tarballs somewhere, i can22:55
aroben_aroben22:55
devurandom Ok, sec.22:55
delroy joined22:56
reval left22:57
Fullmoon left22:58
ironfroggy joined22:59
ironfroggy left22:59
KirinDav joined23:00
ironfroggy joined23:00
doener gitster: hm, can't reproduce git fetching the objects again... it now always just fetches the tag (as expected)23:00
cbrakecbrake_away23:01
ferdy left23:02
delroy left23:03
federico__ joined23:03
alley_cat left23:03
federico__ I get a problem building gitk; anyone can help?23:04
make[2]: *** No rule to make target `giml.dtd', needed by `all-am'. Stop.23:04
devurandom vmiklos: "if you later switch fully to git, then you want to remove the git-svn metadata - doing so is the easiest if you just clone the repo" git-svn parts of the repository are not preserved when doing git-clone?23:07
duncanm joined23:08
duncanm left23:08
\ask left23:08
Ilari theCarpenter: If you can assign linear branches for commits, then it is possible to dump linearized version of history and commit that to SVN. It sure as heck doesn't look 'natural' though (it probably merges like crazy to SVN person).23:08
robinr linearizing history can be very pretty23:09
duncanm joined23:09
robinr it also gives you an excuse to drop those oopses23:10
duncanm i made a few commits on my new laptop, and i forgot to set GIT_AUTHOR_EMAIL, is there an easy way to fix those commits?23:10
i haven't pushed it anywhere, so it's all local23:10
kristoffer joined23:10
Ilari theCarpenter: And it is difficult to do in stable manner. But stability is presumambly not required here, as it is one-shot dump.23:11
kelvie_ duncanm: git-filter-branch is probably what you're looking for23:11
cartman joined23:11
duncanm hmm, i'm on git 1.5.2.5, and i don't have that23:12
kelvie_ hrm.. perhaps time to upgrade then? :P23:13
YGingras__ joined23:14
YGingras_ left23:14
vmiklos devurandom correct23:16
robinr duncanm: that question was on the mailing list just one or two days ago23:17
devurandom vmiklos: So that is what I regenerate with the "git svn init && git update-ref" part described in the manpage?23:17
robinr and an answer23:17
duncanm robinr: oh nice - do you have a link?23:17
devurandom vmiklos: Got my message?23:17
duncanm is build git 1.5.3.x on ubuntu23:18
vmiklos devurandom private one?23:18
duncanm building23:18
devurandom Yes,23:18
vmiklos they're on ignore :/23:18
use /notice if you want something :)23:18
robinr duncanm: Look for "Retroactively change email signature?"23:18
duncanm cool23:18
flaguy joined23:19
devurandom Better?23:19
jsimonss_ joined23:19
vmiklos devurandom regarding "git svn init && git update-ref" i'm not sure what exactly they're doing - in fact no idea what is the recommended way to clone a git-svn repo properly23:19
devurandom Well, that is what man git-svn says...23:20
gitster If one spends time and energy to build something from source, 1.5.3.x is a wrong thing to build at this time. Why not do 1.5.4-rc2 (or even 'master')?23:20
octopod left23:20
gitster Otherwise you are obsolete the time you finish building, and will be ancient by the end of the month.23:20
duncanm gitster: i guess you have a build23:20
jsimonss left23:20
duncanm s/build/point/23:21
kelvie_ just get git from git.git :P23:21
duncanm yeah23:21
kelvie_ it's just 37 M23:21
gitster Thanks. We just got another tester ;-)23:21
duncanm and i guess i can remove the git package from ubuntu and just use a version in $HOME/bin23:21
i run git.git in my other box - i just got a eee pc for x'mas23:21
kelvie_ well you need one bootstrapped to get it remember ;)23:22
duncanm sure ;-)23:22
kelvie_ you don't want to be gitless23:22
duncanm heh, my domain name is a-chinaman.com, and i host my git stuff on git.a-chinaman.com23:22
kelvie_ haha23:22
duncanm i didn't notice that odd that domain name is until recently23:22
s/that/how/23:22
theCarpenter left23:23
sverrej joined23:23
vmiklos devurandom huh, how do i create an svn repo from that dump file?23:24
devurandom vmiklos: bzcat warzone2100.bz2 | svnadmin load warzone210023:24
vmiklos thx23:25
vmiklos does not know too much about svn administration :)23:25
devurandom I have not tested the bzcat part. If it fails, you can also bunzip2 it and then use cat.23:25
devurandom neither.23:25
devurandom I just learned it in the last 2 days.23:25
jengelh why cat23:26
bzip2 -cd23:26
cartman left23:26
Tv because bzcat is easier to type23:26
kelvie_ whoops git.git is 21M on my system23:26
forgot to repack23:26
jengelh 21M is nothing :p23:26
kelvie_ it is :P23:26
but it's almost half the size of my earlier quote23:27
vmiklos devurandom erm, it requires an argument and an empty dir is not enough23:27
devurandom vmiklos: "it"?23:27
Tv vmiklos: do you read documents, like ever?23:27
vmiklos svn load, sorry23:27
devurandom Ah, sorry.23:27
vmiklos: It has to be the following:23:28
svnadmin create warzone2100 && bzcat warzone2100.bz2 | svnadmin load warzone210023:28
vmiklos Tv well, i offered to help testing git-svn but i don't want to learn svnadmin :)23:28
devurandom thx23:28
devurandom I have to thank you. :)23:29
duncanm building git on an eeepc is not the fastest thing on earth ;-)23:32
hmm23:33
jengelh distro should provid eit23:33
duncanm MSGFMT po/de.msg make[1]: *** [po/de.msg] Error 12723:33
jengelh: ubuntu has only 1.5.223:33
jengelh NOT ubuntu23:33
whatever ox ships23:33
mjc left23:34
duncanm installs gettext23:34
mjc joined23:35
vmiklos devurandom duh, why didn't you just told me it's at svn://svn.gna.org/svn/warzone/trunk/ ;) (or is it different?)23:35
mjc left23:36
devurandom That one is different.23:36
vmiklos ah, k23:36
devurandom I synced a copy, dumped the repos, edited it and will later ask it to be uploaded.23:37
When I sort out why all this problems arrise.23:37
(svn itself doesnt have any problems with it, btw.)23:37
vmiklos: And svn://svn.gna.org/... is usually not working. "Malformed network data" and similar responses.23:38
vmiklos ok, then it's better this way:)23:39
duncanm builds docs23:39
hliusv561 vmiklos: Maybe try creating empty SVN repo there and try the load then?23:40
vmiklos already in progress:)23:42
devurandom hliusv561: Yeah, I forgot to tell him that he needs an empty repos.23:42
Ilari BTW: What's the "right" way to load "dumps" made using 'git bundle create foo.bundle --all'?23:45
KirinDav left23:46
kristoffer left23:47
dancor left23:51
vmiklos is there any way to make --ext-diff the default when using git log -p?23:51
duncanm hmm23:58
how do i specify a <command> in git-filter-branch?23:59
vmiklos see the manpage, it has several examples23:59
duncanm git-filter-branch --env-filter 'git-commit --author "Duncan Mak [email@hidden.address] -- that doesn't work23:59
Eridius joined23:59
Eridius is there any sort of bug tracker? I've just found a bug in git-svn but I don't know if it's been reported before23:59

Logs Search ←Prev date Next date→ Channels Documentation