IRCloggy #git 2008-05-31

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-05-31

juanjoc joined00:04
piclez left00:04
spearce` joined00:05
juanjoc left00:07
Eridius|work wtf? git-read-tree -m isn't merging00:07
I'm trying to construct a very specific object graph in a temp repo, and so I'm trying to build a merge by hand00:08
I have two parentless commits which each create a different file00:08
git read-tree A; git read-tree -m B00:08
I would expect the index to now have both files, but no00:08
vmiklos why do you use read-tree for that?00:08
david_koontz joined00:08
vmiklos git-merge handles this00:09
Eridius|work oh wait, I must be misunderstanding read-tree. apparently I can pass multiple tree-ishs00:09
vmiklos: I'm trying to ensure I understand every detail of the commit obj construction, so I'm using plumbing00:09
vmiklos then see git-merge's source on what read-tree parameters it uses :)00:09
DrNick skip down to the MERGING section of the read-tree manual00:10
Eridius|work I'm reading that now00:10
rwanderley joined00:11
ekidd joined00:12
devogon left00:12
devogon__ left00:12
ben_h left00:13
brosner joined00:20
spearce left00:22
mattf left00:24
pasky is maybe for the first time ever writing some gui application for real00:24
mutex ummm00:25
pasky GTK such so much, but still it's strangely enjoyable :)00:25
*sucks00:25
mutex can I convince git apply to patch even if there is a conflict in the index ?00:25
err git stash apply00:25
pombreda left00:26
vmiklos that would be bad.00:27
you should not have conflicts when you apply anything, as that could lead to a new conflict00:27
mutex well00:27
i cherry picked a fix from another branch00:28
dotsintacks how do I "checkout" a remote branch?00:28
mutex after stashing my work00:28
then tried to reapply teh stash00:28
dotsintacks so that I can push changes back to the branch00:28
vmiklos git checkout -b localbranch remote/branch; hack hack hack; commit; push00:28
mutex my 'fix' is to go back to previous commit-id, apply stash, reset index, stash, change to cherry commit, apply stash(no index)00:29
vmiklos or maybe just commit after cherry-pick; stash apply; commit; and git rebase -i HEAD~2 and squash00:29
ekidd left00:29
mutex head explodes00:30
mutex heh00:31
doener git doesn't support that, can only detach heads, not make them explode00:31
mutex snickers00:31
rubbish joined00:32
redondos left00:33
mattf joined00:35
pombreda joined00:35
mutex can one reset a particular file in the index ?00:41
...00:41
mutex sees it on the man page the second after he asks00:41
BabelO left00:42
datafirm left00:42
pombreda left00:43
pombreda joined00:44
vmiklos :)00:46
tvachon left00:47
mutex so what does '--' stand for00:47
Mikachu end of revisions, start of files00:48
mutex ah00:48
Mikachu or if you prefer, "everything to the left is a revision, everything to the right is a file"00:48
mutex makes sense00:48
Mikachu sometimes just a trailing -- makes a command work where it wouldn't without it00:48
madewokherd left00:49
Mikachu touch master, git checkout master doesn't work, but git checkout master -- does work00:49
a-priori_ joined00:50
Mikachu actually that might work, but there's some command that breaks when you touch a file with the same name as a branch :)00:51
i think show breaks00:51
threeve joined00:59
madewokherd joined01:02
Ramune joined01:05
jamessharpe left01:05
a-priori left01:05
doener_ joined01:07
Leefmc joined01:07
gcarrier joined01:11
gcarrier hi! i love the git -v feature, but i'd love to be able to edit the diff directly...01:12
is it somehow possible to do this fast?01:12
pombred1 joined01:13
datafirm joined01:14
Mikachu the what feature?01:14
doener_ guess he means status -v01:17
gcarrier doener_: sorry, git commit -v01:17
i'd like to tweak my commit directly using some diff version01:18
i speak diff :)01:18
capisce joined01:18
igorgue left01:18
doener left01:19
robin_ left01:22
capisce_ left01:22
sverrej joined01:24
Yuuhi left01:26
pombreda left01:26
strangy left01:26
pflanze joined01:27
pflanze Hello. I'm trying to find the sources of the lightweight git library which has been mentioned a few times (on the list, iirc).01:27
not the big unfinished libification thing, but something which already works for linking into apps and does the basic stuff.01:28
Mikachu that sounds like a work of fiction to me01:30
Ilari IIRC, there was some stuff, but it does not do a lot...01:33
http://repo.or.cz/w/git/libgit-gsoc.git01:34
sgrimm left01:37
pflanze libgit-thin, yep, I think was the name.01:37
Leefmc left01:38
Ilari pflanze: Yup libgit-thin. See the link above.01:39
pflanze I'm trying to find out how to check it out,01:39
datafirm left01:39
pflanze git://repo.or.cz/w/git/libgit-gsoc.git or http://repo.or.cz/w/git/libgit-gsoc.git won't clone.01:39
tongueroo left01:41
pflanze "fatal: The remote end hung up unexpectedly", is repo.or.cz's git service down?01:41
Ilari pflanze: Both of those URLs are incorrect.01:43
aroben joined01:43
pflanze so how to get the correct one? libgit isn't even listed on the repo.* homepage.01:43
doener_ pflanze: feed the url to your browser01:44
pflanze yes, I see the gitweb instance but I don't see any hint how to clone01:44
doener_ "Mirror URL"01:44
pflanze ah, Mirror url01:44
d'oh01:44
(I somehow expected an icon or something at the top)01:46
ruphy left01:49
Ilari pflanze: There's no browser integration in Git... :-)01:53
pflanze well, ajaxy gitweb, why not. Or a Firefox plugin. But I didn't expect that, just didn't parse the relevant info out of the page.01:54
david_koontz left01:55
Eridius|work left01:57
Eridius|work joined01:57
Antrover joined01:59
destruct_ joined02:03
mattf left02:08
timocratic left02:13
pflanze Hm.02:13
rubbish left02:14
pflanze Maybe it would be better to go with the 'real' libgit and somehow automatically convert it to be used embedded.02:14
destruct left02:14
Ilari pflanze: That would be quite difficult...02:14
vmiklos hehe, the key word is automatucally02:14
i don't think that can be automated02:15
pflanze I guess two things are missing: (1) global variables (turn to a super struct or such, or maybe at least just thread-local storage), (2) memory deallocation, could be solved by using the BoehmGC.02:15
Ilari pflanze: Converting libgit suitable to be used as library is difficult and tedious thing to do...02:16
pflanze If C++ had inner classes, one could probably just wrap everything with a class definition :)02:16
Ilari pflanze: BoehmGC. Haha... There's thing called 'Speed'.02:16
gcarrier so, not possible to change an incoming commit directly by editing its diff?02:16
that would rooock02:16
pflanze Ilari: why is speed a problem with the BoehmGC? From what I read and experienced it's almost as fast as malloc.02:17
Ilari gcarrier: Write tool that lets to do that?02:17
pflanze: "Almost as fast as malloc" falls far short.02:18
gcarrier git-diff --cached > ~/.newdiff;git co HEAD;$EDITOR ~/.newdiff;git apply ~/.newdiff;git commit02:18
but i need to track which files were in the index02:18
else, seems good02:18
i mean, at least the general idea02:19
but not efficient at all02:19
pflanze Ilari: GC'd languages usually only take 20% or less of their runtime in GC. And so even if the BoehmGC is 2 times slower than malloc, that'd make it maybe 40%, so what, 1.2 times slower.02:19
gcarrier stupid, doesn't deal at all with multiple repos, etc. i'm use someone better than me would like this feature02:20
cored joined02:21
cored hi guys02:21
i just made some changes to a file inside my new repo02:21
Ilari pflanze: Doesn't matter. There are structures within git that have N+1 objects allocated, and use their own memory management (they have to).02:21
gregf joined02:22
cored everytime i make a change to a file i have to do a git add first ?02:22
vmiklos that's in the faq02:22
gregf is there a way to totally remove a file from git's history if you push something you really didn't want going public?02:22
vmiklos http://git.or.cz/gitwiki/GitFaq#head-3aa45c7d75d40068e07231a5bf8a1a0db9a8b71702:23
gregf: use git-filter-branch?02:23
cored vmiklos: that's for me ?02:23
pflanze Ilari: so have you, or has anyone, actually *tried* to compile git with the BoehmGC and see how it performs?02:23
gregf vmiklos: thanks02:24
vmiklos cored: yes, the link is for you02:24
cored vmiklos: thanks02:24
vmiklos pflanze: and you haven't reached the die() problem yet ;)02:24
pflanze vmiklos: ok. Thanks for noting. Well, replacing with longjmp or C++ exceptions could be a way.02:25
Ilari pflanze: I'm saying that just compiling git with BohemGC would not help much...02:26
vmiklos huh, but such a patch will be never merged ;)02:26
(the one that uses c++ exceptions in die() ;) )02:26
pflanze vmiklos: I'm talking about a way to automatically turn libgit into an embeddable state.02:27
Nothing to be merged into the normal one.02:27
Could either be a merge, or a tool who does it.02:27
a merge to a separate tree.02:27
Lucine2 left02:27
pflanze Ilari: you probably want to say that the memory handling it does internally wouldn't be seen by the GC and thus not free'd; but after the one-shot operation, the whole pool could be free'd, ok?02:28
warthog9 left02:28
pflanze even by the then (if the pool was malloc'ed).02:28
by the *GC02:28
dcrawford_ joined02:29
igorgue joined02:29
Ilari pflanze: The memory management and die() are not all of the problems. Also, there is just one copy of flags table (that needs to be shared). Also, some of the die()s might be in points where state of "library" is inconsistent...02:29
gregf left02:29
dcrawford_ I'm not sure if my from-source git is correct ... anyone seen this before:02:30
Ilari pflanze: Making possible to have have multiple flags tables would enlarge per-object overhead -> speed penalty.02:30
dcrawford_ I can clone fine from a git: repo, but from the equiv http: repo I get a valid .git but the dir is otherwise empty02:30
pflanze I'm thinking that if it works for one-shot commands, doing one-shots in the library by initializing and then afterwards dropping all state would solve that.02:30
Would require initialization code to be cleaned up maybe.02:31
Ilari pflanze: Reinitializing the needed state after dropping is not one of the fastest operations...02:32
pflanze Faster than starting a process?02:32
well; mmap'ing would be a thing to look at, too.02:32
if it really doesn't unmap itself.02:33
Ilari pflanze: One could write pooled version of malloc() and use that...02:33
pflanze: Except that there is stuff like pack mmap windows.02:33
vmiklos btw what's the problem with fork+exec when you use git from an external application?02:34
cored left02:34
pflanze yeah speed02:34
I'm looking at using Git as storage engine for (web) applications,02:35
ekidd joined02:35
pflanze which also needs indizes and such, which requires fast access to individual objects.02:35
yes still tearing up and down mmaps and such stuff will not do good for performance.02:36
Ilari pflanze: Just reading the object database is not that hard (wonder how many times has that been implemented, I say at least 4).02:36
pflanze Some of that could be overridden by cached/pooled ops possibly.02:37
Ilari pflanze: Depends on OS. Mmaps are quite slow on systems such as Mac OS X, but Linux VFS tends to be really fast.02:38
pflanze C, java (Eclipse), C# (ongoing mono gsoc project), and?02:38
Antrover left02:38
pflanze libgit-thin? I just fear that it won't work as Git progresses.02:38
Ilari pflanze: C, Java (Jgit) and two ruby reimplementations...02:38
krawek left02:39
ekidd left02:39
pflanze Stuff like locking rules etc., I wouldn't like if upstream git changes and then libgit-thin or my reimplementation/whatever won't behave anymore.02:40
Ilari The running joke is that Git is the most reimplemented SCM... :-)02:40
cored joined02:40
cored vmiklos: sorry for bothering you again02:40
vmiklos: after doing the commit02:40
Ilari pflanze: Only thing that would really break it would be index or pack formats changing...02:40
cored vmiklos: i just check out the repo again and i did not see my changes in there02:40
Ilari cored: You did another clone of the repository?02:41
cored yes02:41
vmiklos http://git.or.cz/gitwiki/GitFaq#head-b96f48bc9c925074be9f95c0fce69bcece5f6e7302:41
please, read over the faq02:41
pflanze just realized that C++ actually *does* offer inner classes as it seems02:41
cored vmiklos: ok02:42
shoe left02:42
Ilari cored: Was the repo you cloned the one you committed? If not, did you push the change to that repo?02:43
s/committed/committed to/02:43
cored wait02:43
Ilari cored: Each clone of Git repository is complete stand-alone repository itself.02:46
cored ok02:46
i think the problem is because i did a git remote add another repo02:46
which i don't have permissions to write there02:47
maybe that's why i can't make the push what do you think ?02:47
DrNick pflanze: not exactly02:47
Ilari cored: Yes, you need write permissions to remote repo to make a push.02:47
DrNick pflanze: at least, not in the Java sense02:47
tongueroo joined02:48
pflanze yeah, I just wondered, "A nested class may inherit from private members of its enclosing class.", just inheriting is not the same;02:48
Ilari cored: Maybe go to that another clone, register the other as remote, and pull the changes?02:48
pflanze but then what is different from just normal interiting class declarations?02:48
SuttoL left02:48
cored Ilari: how can i go back to use my repo and not any ref to the remote02:48
?02:48
SuttoL joined02:49
DrNick pflanze: Java inner classes get a hidden reference to their containing class and are allowed to access it's private members, while C++'s "inner" classes are just a namespace thing02:49
duck1123 joined02:49
imyousuf joined02:49
Ilari cored: Well, you can just ignore the remote reference...02:49
cored hm02:51
well it's looks like is another thing02:51
because after the push command i'm getting an error02:51
and the url is pointing is to my own repo02:51
fatal: The remote end hung up unexpectedly02:51
Ilari cored: Is there any other errors (such as "...can't chdir...") before it?02:52
cored nop02:53
after i have this one02:53
error: failed to push to 'git://github.com/cored/merb-core.git'02:53
Ilari cored: You can't push over git:// (well, if you care about security, that is).02:54
Ken69267 joined02:55
Eridius|work left02:55
Ken69267 did git-svn change behavior when dcommitting?02:55
cored Ilari: ok, so where can i do the push ?02:55
Ilari cored: Pushes to remote hosts are normally done using ssh://... URLs.02:56
cored i see02:57
loops joined02:57
cored so i have to re clone it using the ssh url02:57
Ilari cored: Maybe edit '.git/config'. The URL is there...02:57
duck1123 left02:58
Ilari cored: Or 'git config remote.origin.urk <new URL>'.03:00
*'git config remote.origin.url <new URL>'.03:00
Ken69267 indeed03:02
Ken69267 left03:02
kanru left03:03
rubbish joined03:03
spearce joined03:05
rwanderley left03:06
flaguy left03:14
aroben_ joined03:17
aroben left03:17
capisce_ joined03:19
loops left03:21
spearce` left03:21
doener_ left03:22
dcrawford_ left03:22
capisce left03:23
gcarrier left03:24
a-priori_ left03:27
Aughey left03:41
warthog9 joined03:41
ekidd joined03:42
threeve_ joined03:45
cored Ilari: thanks for all your help03:47
cored left03:47
mvanholstyn joined03:49
ekidd left03:53
mvanholstyn left03:54
theperitus joined03:55
threeve_ left03:57
SuttoL left03:57
SuttoL joined03:57
aroben_ left03:59
threeve left04:02
aroben joined04:02
rubbish left04:04
eternaleye joined04:08
jeffpc left04:10
Surfer15 joined04:10
Surfer15 Visit http://www.FakeMagazineCover.com (upload pic make mag) - http://www.SillyWebcam.com (play with webcam online) - http://www.Is-A-Jerk.com (insulter/anon email) - http://www.ComedySearchEngine.com (fun) - http://www.BodySwitcher.com (put your face on funny body) - http://www.MedChecker.com (health) - http://www.Canuckster.com (Canada eh) - http://www.Nerdful.com (geeks)04:10
Surfer15 left04:10
tjafk1 joined04:10
daperitus left04:11
jeffpc joined04:11
Eridius I wish freenode would kline this Surfer## spammer04:11
madewokherd left04:16
spearce` joined04:17
SuttoL left04:18
jwasson joined04:19
pflanze left04:20
tjafk2 left04:27
jroes left04:27
eikonos left04:29
kanru joined04:31
spearce left04:34
cmo-0 joined04:35
bootie joined04:37
ckoehler joined04:40
spearce` left04:44
Eridius left04:46
ckoehler left04:49
sgrimm joined04:53
cmo-0 left04:54
ggeecko left04:59
ggeecko joined04:59
jeckel left05:05
ggeecko_ joined05:05
cmo-00 joined05:09
cmo-00 i'm trying to clone a git repo. through git protocol on github.com, when doing 'git clone git://github.com/bruce/rtex.git' the program hangs there, only it maked an empty rtex folder, but nothing more. i tried telnet github.com 9418, which logged in and logged out when i typed 'junk'05:11
if i do 'git clone git://github.com/bruce/rte' the remote end hung up unexpectedly05:12
tpope cmo-00: the first is cloning fine for me05:13
still in progress but it's a slow hotel connection05:13
cmo-00 tpope: this is on my office pc, at home it works perfectly05:15
halorgium cmo-00: maybe the port is blocked05:17
dropping your request packets05:17
ruphy joined05:19
tpope is it an old git version?05:20
cmo-00 two things i know for sure. 1) the iptables policy for input, output and forward are accept. 2) the router has a port-forwarding rule on 9418/tcp05:20
1.5.405:20
tpope you shouldn't need 9418 forwarded05:20
cmo-00 i have a git-daemon on the office server also05:20
gnufied joined05:23
gnufied correct me, if I am wrong, git checkout foo, switches to branch foo, but also updates branch foo with changes from current working branch, right?05:24
RandalSchwartz no05:24
but if you have dirty files in your tree, it brings them along05:24
on the theory that you really wanted to check them into a different branch, but forgot to switch to that first05:24
gnufied whats dirty files? modified files, which aren't checked in?05:25
RandalSchwartz to move work from one branch to another, you need to cherry pick, merge, or rebase, or some combinatin of those05:25
dirty = anything "git status" complains about05:25
gnufied hmm, is there way to not carry those dirty files when switch branch ?05:26
RandalSchwartz in general, you don't want to be using git checkout unless git status shows clean, unless you really understand what you're doing05:26
well - why do you have dirty files?05:26
is it work in progress?05:26
or things you don't want to track at all?05:26
loops joined05:26
gnufied yeah, something, experimental.05:27
RandalSchwartz yeah what?05:27
stuff you never want back again?05:27
or stuff you might want back later?05:27
gmcinnes left05:27
gnufied yeah, I understand the flow now.05:27
RandalSchwartz eh?05:28
you're not answering me?05:28
which was it05:28
gnufied like, i could have commited those changes to local branch. and then switched. that branch was anyway, local so it woulnd't have affected the branch to which i was switching05:28
RandalSchwartz right05:29
cmo-00 Strange!!! the following works perfectly git clone git://git.savannah.nongnu.org/stumpwm.git .05:29
RandalSchwartz or just simply use git clean first05:29
gnufied those changes are something, i think obviously useful, but yet ready for use by other third party libraries.05:29
RandalSchwartz that throws away things05:29
oh - then yes, commit first05:29
you can always unwind the commit later05:30
essentially a managed git-stash05:30
gnufied yeah. right o05:30
RandalSchwartz cmo?05:30
RandalSchwartz hangs out "the doctor is IN" sign05:30
cmo-00 RandalSchwartz: i'm trying to clone a git repo. through git protocol on github.com, when doing 'git clone git://github.com/bruce/rtex.git' the program hangs there, only it maked an empty rtex folder, but nothing more. i tried telnet github.com 9418, which logged in and logged out when i typed 'junk'05:31
gnufied is reading too many PG wodehouse books.05:31
tpope cmo-00: can you clone another repo?05:31
cmo-00 yes and this is one ... Strange!!! the following works perfectly git clone git://git.savannah.nongnu.org/stumpwm.git .05:31
loops left05:31
RandalSchwartz that clone is working for me05:31
... git clone git://github.com/bruce/rtex.git05:31
yes. just finished.05:32
cmo-00 tpope: git clone git://git.savannah.nongnu.org/stumpwm.git05:32
tpope: but note git clone git://github.com/bruce/rtex.git05:32
RandalSchwartz cmo-00 - that github clone works for me05:32
rubydiamond joined05:32
cmo-00 but not for me05:32
RandalSchwartz what version of git do you have?05:32
cmo-00 1.5.405:33
ckoehler joined05:33
RandalSchwartz ooooh05:33
that version is so, like, two months ago05:33
please upgrade05:33
cmo-00 even with 1.5.5 from sources the same happend05:33
gitster bs. anything remotely recent such as 1.3.0 should be Ok.05:33
RandalSchwartz we're on 1.5.6 though :)05:33
heh05:33
rubydiamond How do I uninstall Git from my macbook... which I installed from source.... I want to upgrade it05:33
RandalSchwartz did you install it into something cool like /opt/git ?05:34
or just let it default and spray all over your default dirs05:34
rubydiamond RandalSchwartz: no..05:34
its in default dirs05:34
RandalSchwartz good luck cleaning then05:34
rubydiamond RandalSchwartz: hmm05:34
gitster isn't the default /home/$user/bin?05:34
rubydiamond is there any uninstall script?05:35
RandalSchwartz not that I've seen05:35
gitster I do not think so.05:35
rubydiamond its there in usr/local/bin/git05:35
RandalSchwartz default what?05:35
this is why I use PREFIX=/opt/$project for everything I install locally05:35
so I can undo it.05:36
rubydiamond I hope there is some uninstall script and I will just run it to install it05:36
RandalSchwartz rubydiamond - as we have just said, not likely05:36
rubydiamond RandalSchwartz: how do u undo it05:36
hmm05:36
gitster well you can install it again and see what's installed ;-)05:36
RandalSchwartz "u"?05:36
loops joined05:36
RandalSchwartz are you paying by the character for IRC?05:36
if so, must suck to be "u"05:36
rubydiamond RandalSchwartz: I mean... what is difference having it in usr/local/bin/git and /opt/git05:36
cmo-00 /usr/bin/git05:36
RandalSchwartz if it's in /opt/git, I can tell everything that is installed05:37
it's in /opt/git/bin/*05:37
and /opt/git/lib/*05:37
etc05:37
rubydiamond RandalSchwartz: oh sorry sir05:37
RandalSchwartz I want to remove git...05:37
I say rm -rf /opt/git05:37
and it's all gone05:37
easy05:37
rubydiamond oh..05:37
RandalSchwartz 30 years of Unix05:37
this is one thing I've learned. :)05:37
rubydiamond so now.. what is the way to upgrade it on macbook..05:37
RandalSchwartz never use the default install dirs. :)05:37
rubydiamond RandalSchwartz: oh05:37
RandalSchwartz the new install will overwrite the old though05:38
so you upgrade just by... upgrading. :)05:38
rubydiamond yeah... seems good way to upgrade it..05:38
will try it05:38
jwasson Funny, it only took me 5 years to learn not to use Unix. ;)05:38
RandalSchwartz but in the future, either use a package manager (fink or macports) or install things in /opt05:39
gnufied cmo-00, i have observed that sometimes, if you have slow internet connection using git protocol causes cloning process to hang.05:39
rubydiamond thanks RandalSchwartz05:39
RandalSchwartz bows05:39
RandalSchwartz hits head on desk05:39
RandalSchwartz ouch!05:39
rubydiamond jwasson: so.. you use Git on unix machines05:39
RandalSchwartz hi gitster, by the way05:39
rubydiamond I mean Windoze machines05:39
jwasson I actually run it on both.05:39
Er, I mean I run it on Unix and Windows. I don't use Windoze.05:39
rubydiamond jwasson: so do you use Cygwin or any other installer for it?05:40
jwasson I used msysgit.05:40
rubydiamond so.. you just had said that you learned in 5 years that you learned not to used Unix, thats is why I asked05:40
jwasson I was joking.05:40
rubydiamond jwasson: msysgit looks nice05:41
jwasson: oh05:41
RandalSchwartz And yes, I indeed typed "ls" for the first time in 1977.05:41
I wasn't kidding about 30 years.05:41
jwasson I stopped running Linux for a couple of years.05:41
RandalSchwartz the entire unix kernel fit in 32k back then05:41
yes. 32 *K*05:41
not meg05:41
jwasson You've got me beat, I only started using Linux 15 years ago.05:41
RandalSchwartz 22 system calls05:41
Linux isn't unix05:41
it's sorta unix like05:42
except where it's wildly different05:42
jwasson I used Xenix a little back then as well.05:42
RandalSchwartz I won't run linux on anything that matters05:42
gnufied RandalSchwartz, ouch, then what?05:42
RandalSchwartz osx for the laptop. openbsd on the server so I can sleep at night.05:43
jwasson Yeah, I like *BSD.05:43
RandalSchwartz theo's paranoia is my ambien. :)05:43
datafirm joined05:43
gnufied ubuntu 8.04 runs like champ on notebook. everything works.05:43
jwasson I managed to install Debian during it's "What is this 'entropy' you speak of?" phase.05:43
*** cdm (n=cdm@pool-71-116-66-101.snfcca.dsl-w.verizon.net) has joined channel05:44
Oops.05:44
Wrong button.05:44
gnufied Linus soul would be twitching in his body, if he would have heard what RandalSchwartz got to say.05:44
RandalSchwartz no. I've told him that to his face. :)05:44
cmo-00 gnufied: my home connection is 3 times slower than my office connection,but it still works05:45
gmcinnes joined05:45
RandalSchwartz take a look at the security alerts against linux vs those against openbsd05:45
and you'll see what I mean05:45
datafirm left05:45
gnufied he he, i smell of openssl.05:45
RandalSchwartz oh yeah, wow, that debian mistake05:46
what a fiasco05:46
had they only submitted the patch upstream, theo's boys would have caught it05:46
instead, they sat on it05:46
dumb05:46
gnufied yeah, they have. my boxen are patched.05:46
but I do believe, for poor guys like me Ubuntu/Linux is a good choice for laptops.05:48
sikanda joined05:48
gnufied OS X is good, but aren't you again handling everything to apple, again? i mean, philosophically, how is it better than windoze?05:48
*handing over05:49
RandalSchwartz it's far better than windoze, because I can compile all my unix toys on it.05:49
and because it's just not windows. :)05:49
and I *do* trust unix-heads to get security a bit better than redmond, given the relative trackrecord.05:50
Arrowmaster debian did ask for help on that patch from upstream05:50
got ignored05:50
RandalSchwartz they didn't submit an actual patch05:50
they just talked about it05:50
I've seen the report05:50
it would be easy for that to not get noticed05:51
actual patch would have been examined and rejected05:51
Arrowmaster got ignored by openssh though since it was related to how openssh got its random numbers05:51
RandalSchwartz very likely05:51
gnufied yeah, i think it was OpenSource and public and hence issue got wide coverage with xkcd publishing a cartoon with /* */, if it would have anything, they would have it under carpet in a minute.05:53
Arrowmaster nah it got a lot of coverage even before xkcd05:54
but a lot of people didnt even bother reading about it and just assumed the dev did something stupid without talking to anybody05:54
Lucine2 joined05:55
jwasson It just shows that a "million eyes" can all blink at the same time.05:57
panagos_panagos05:57
Xyri0 joined06:01
igorgue left06:02
imyousuf left06:03
datafirm joined06:04
Xyrio left06:11
Xyri0Xyrio06:11
bobesponja left06:14
adante_ joined06:18
Antrover joined06:24
Antrover left06:25
adante left06:34
adante_adante06:34
sikanda left06:34
Xyri0 joined06:42
mvanholstyn joined06:44
mvanholstyn_ joined06:44
drizzd_ joined06:46
rubydiamond hi06:48
where is the git_autocompletion.sh is installed when you install git install from source /usr/local06:48
bootie left06:50
deeno joined06:51
Xyrio left06:52
Xyri0Xyrio06:52
mvanholstyn_ left06:54
Eludias joined06:55
thiago_home joined06:56
drizzd left06:57
Beket joined06:58
tongueroo left06:59
tenpaiyomi left07:01
mvanholstyn left07:01
xilef joined07:01
xilef can anyone tell me how git handles symbolic links? i particularly don't want them stored as links but rather de-referenced07:02
cmo-00 left07:03
aroben left07:04
Modius left07:05
Modius joined07:06
_graham_ joined07:07
tzafrir_home joined07:10
thiago_home xilef: it stores them as links07:11
xilef thiago_home, can i turn that off?07:11
on a per file basis?07:11
thiago_home you can't07:12
symlinks are stored as special files07:12
xilef righto, thanks for your help07:12
d0k joined07:15
mvanholstyn joined07:16
mvanholstyn left07:19
xilef left07:21
ph^ joined07:22
holizz joined07:22
_zack joined07:23
Beket left07:23
mrCrowley joined07:24
priidu joined07:28
_graham_ left07:31
roylee17 left07:36
|kukks| joined07:37
robin_ joined07:46
david_koontz joined07:47
FunkeeMonk joined07:48
Lucine2 left07:49
mrCrowley left07:49
LotR joined07:50
datafirm left07:50
ckoehler left07:53
kukks left07:55
mvanholstyn joined08:08
d0k left08:09
shaftyy joined08:15
tzafrir_home bah, this greylisting on the list server is annoying08:16
I thought my own server was bad08:16
ajonat left08:18
rubydiamond tzafrir_home: what is your server08:22
tzafrir_home I send from local.xorcom.com08:23
david_koontz left08:23
tzafrir_home It was plain annoying. It means I can't just "subscribe" to the list, and just "post to the list. There is an inherent delay for newcomers08:24
(and I know, I'm not the first one saying this, and I'm not the admin of the list server who actually has to deal with the spam )08:24
twb joined08:27
twb etckeeper has resulted in a 40MB /etc/.git for a 45MB /etc, after a few months of use. Can I somehow optimize the .git directory to use less space?08:29
Pieter git gc08:29
twb Thank you.08:29
tzafrir_home twb, does it record changes automatically?08:30
Pieter and if you really want to spice it up, do a git repack -adf --window=20008:30
tzafrir_home also: maybe exclude some files?08:30
twb tzafrir_home: yeah, I should probably ignore resolv.conf and stuff.08:31
tzafrir_home depends where08:31
twb Pieter: impressive, 40MB -> 7.4MB08:31
tzafrir_home with the resolveconf package on Debian resolve.conf changes reside in /var anyway08:31
twb I do not like resolveconf.08:32
FunkeeMonk left08:32
Pieter twb: nice :)08:33
twb Pieter: I'll ask upstream to make a cron job do that08:33
hein2 joined08:37
Sho_ left08:37
hein2Sho_08:37
deavid joined08:37
twb left08:43
dwmw2_HELdwmw2_gone08:44
kumbayo joined08:46
ph^_ joined08:58
gitte joined09:04
imyousuf joined09:06
pygi left09:11
deavid left09:22
statim left09:24
pygi joined09:25
imyousuf left09:26
imyousuf joined09:29
imyousuf left09:29
chris2 joined09:31
strangy joined09:38
zachinglis joined09:39
statim joined09:43
cedricv joined09:45
ph^ left09:49
ph^_ph^09:49
charon joined09:51
priidu left09:53
gmcinnes left09:53
shaftyy_ joined09:55
dwmw2_gonedwmw2_HEL09:55
priidu joined09:59
Ademan left10:00
Ademan joined10:01
dirk1296 joined10:02
shaftyy_ left10:04
shaftyy left10:06
csc` left10:06
holizz left10:10
stillLotR joined10:10
redondos joined10:11
tko_ joined10:12
ben_h joined10:13
tko_ can anyone perhaps suggest a patch tracker that could monitor mailing list posts of patches sent for review and keep track which patches have been reviewed/committed/etc. ?10:14
LotR left10:16
ben_h left10:17
zachinglis left10:17
johan-s joined10:18
shaftyy joined10:19
shaftyy left10:20
jelmer left10:30
tommorris joined10:30
crab joined10:32
drizzd_ tko_: maybe you should ask junio, I was wondering how he does it.10:33
shaftyy joined10:36
lea_w joined10:37
radarek joined10:38
nud joined10:38
tko_tko10:39
tko maybe he's just better at it :)10:39
tommorris left10:40
drizzd_ maybe :-). he must have some kind of scripting support though. see for example his what's cooking posts.10:41
I doubt he does that manually10:42
Xyri0 joined10:43
tommorris joined10:46
Ilari drizzd_: Aren't those scripts available in some branch of git.git?10:48
drizzd_ I wouldn't know10:48
tko I suppose we could put everything in 'review-needed' branch or something instead10:49
drizzd_ there is git-topic.perl in the todo branch10:49
Xyrio left10:53
Xyri0Xyrio10:53
devogon joined10:54
brosner left10:54
shaftyyy joined10:59
dmq joined11:06
tommorris left11:08
lea_w left11:10
Eludias left11:12
dirk1296 left11:15
shaftyy left11:15
mvanholstyn left11:16
rubydiamond left11:16
rubydiamond joined11:16
shaftyyy left11:17
BabelO joined11:19
rubydiamond I just did rm file11:21
git status shows "# deleted: fetcher.rb"11:22
I want it back11:22
how do I do that?11:22
anybody know how do I do that?11:22
swombat joined11:24
swombat is it possible to merge two git repositories together? Basically, I have a project that's split across 2 repos and I'd like to scrunch them together without losing the revision history11:24
rubbish joined11:24
jengelh fetch and merge, simple as that11:25
swombat these are two separate sets of files11:25
jengelh well you don't even need to merge; you can have many trees, since git actually stores a forest11:25
swombat one is the rails backend, the other the flex frontend11:25
we made a bad decision in splitting them up11:25
can i be in repo 1 and "fetch" repo 2 then?11:26
(is that what you're saying?)11:26
jengelh yes11:27
bentob0x joined11:27
swombat incredible. that's with the fetch command? (I'll go look at the manual page if you just point me to the right command :-) )11:27
jengelh git remote add; git fetch11:28
swombat unbelievable.11:28
thank you :-)11:28
ggeecko left11:29
swombat corrolary question: a large part of the space used by the repo is hundreds of copies of the 500k-1.5M SWF built by Flex... is there a way to nuke a specific file (in a specific directory) across all the revision trees to reduce the size of the repo?11:29
pflanze joined11:29
ggeecko_ left11:29
cedricv hmm doesn't git save binary files changes as deltas too?11:31
jengelh because they are hard to compress?11:31
cedricv oh the delta is after compression?11:32
swombat cedricv: it might, but this binary has changed hundreds or even thousands of times, and it makes our repo about 1.5G atm :-)11:32
and I'd say 98% of that is that SWF file11:32
Arrowmaster you would have to do revision rewriting to remove them all i think11:32
jengelh binary files can often change so that the delta would be bigger than storing a raw copy;11:32
Arrowmaster and probably want to add that SWF file to your .gitignore11:32
cedricv swombat: yeah sure anyway it doesn't make it a good idea to put in a rep something that is generated but i was wondering about how git store binary changes?11:32
swombat Arrowmaster: can't... we need it for deployments11:33
Arrowmaster: the thing is, we only really need the current copy, since it can be rebuilt from sources11:33
cedricv swombat: doesn't git gc or git repack -a -d would dramatically reduce the size of your rapo anyway?11:33
swombat git repack??11:34
man i need to learn more about git.11:34
Arrowmaster try git gc and see if the size changes11:34
Ilari cedricv: Git can ineed attempt to delta any type of file, but binary files (especially compressed or encrypted files) may not delta-compress very well (if at all)...11:35
swombat running..11:35
Sho_ left11:35
Arrowmaster you can use filters to try and uncompress files automaticly before commiting them and recompress them on checkout11:35
i think11:36
swombat will that gc reduce the size of the remote repo too or just the local one?11:36
jengelh whichever repo it is run in11:37
swombat oh... so it wouldn't help reduce the size of the github repo then11:37
jengelh you have to run gc on the remote side to squeeze it there11:37
swombat lol... it's gone from 1.5G.... to 1.5G11:37
not a huge reduction.11:37
Arrowmaster: ^11:38
(from git gc)11:38
Arrowmaster it was worth a shot11:38
lea_w joined11:38
swombat Arrowmaster: yep :)11:38
jengelh git repack -a -d --depth=25011:38
Sho_ joined11:38
jengelh try11:38
swombat what will that do?11:38
jengelh compress-me-harder11:38
Arrowmaster i dont know enough to help you try doing history rewriting to remove all the old files11:38
swombat i'm not really concerned about the local repo though11:38
jengelh Arrowmaster: you set a graft, and then let rewrite the revisions, then remove the graft, then gc.11:39
pflanze The problem will be to keep the sha1 id's11:40
unless you don't care about those.11:40
swombat I don't care about them11:40
jengelh it's probably a necessary evil11:40
Arrowmaster if your going to be doing a lot of rewriting because you need the file to in the recent version but not in the older ones would moving it to a submodule help with the problem of sharing rewriten repos?11:40
swombat I just want to nuke the swf file11:40
jengelh though it screws with tags and all that11:41
swombat Arrowmaster: it can be deleted completely including current version if necessary11:41
takes about 10 seconds to recreate it :-)11:41
jengelh mh11:41
don't add files to the repository that are autogenerated11:41
swombat jengelh: i need to, for deployment purposes11:41
jengelh nah11:41
things like "configure" for example don't belong into a repo11:41
swombat hmm11:42
I suppose capistrano could just scp the file over11:42
jengelh for things that are not easily autogenerated, like .swfs it may be ok11:42
pflanze swombat: you only ever want one version in the repo -- but you say you need it versioned for deployment. That sounds like a contradiction.11:42
jengelh but for configure, people just run autogen.sh before11:42
Arrowmaster if you absolutely have to i bet a submodule would atleast be less hassle then constantly rewriting the history on the main repo11:42
swombat no, i need it in the repo for deployment to get it deployed11:42
jengelh mh11:43
pflanze swombat: just add a script which fetches it from a web url?11:43
swombat Arrowmaster: that sounds like a potential solution too11:43
jengelh swombat: use a new history tree and use amend to update it11:43
swombat pflanze: i think i might just write a step that scp's it actually11:43
jengelh that should work, keep exactly 1 revision of it, and always transfer it with git fetch11:43
swombat you guys are a gold mine of ideas, btw11:43
thanks11:43
jengelh well like I said earlier, git stores not just a history tree, but a history forest11:44
drizzd_ can I make git citool break lines in commit messages?11:44
jengelh drizzd_: use git commit instead?11:44
drizzd_ very funny11:44
jengelh i'm serious11:44
swombat drizzd_: i think he's serious11:44
Arrowmaster im lazy, git-gui &11:44
drizzd_ well that costs me an extra 10 keys of typing at least11:44
jengelh moving the mouse costs time too :p11:45
swombat drizzd_: alias?11:45
swombat does: gca -m "Some commit messagenwith line breaks n stuff"11:45
jengelh what I am saying is that with the console-based git-commit, you can set an $EDITOR of your choice, and -- surprise surprise -- that editor can do automatic line breaking on request11:45
pflanze swombat: btw you can even add that script as a hook to git, so upon git pull the swf is fetched automatically, too.11:45
drizzd_ look, sometimes a type the message, stage hunks, change the message, unstage hunks again etc.11:46
I can't do that with git add/git commit11:46
jengelh use stgit.11:46
swombat right. other git question. We've done a lot of stuff in our master branch with submodules and such, and now when I try to checkout the production branch it complains about some untracked files and such in some of the directories which are now submodules:11:47
git checkout production11:47
fatal: Untracked working tree file 'vendor/plugins/rspec/.autotest' would be overwritten by merge.11:47
I think it's related to the submodule stuff11:47
not quite sure what to do. happy to nuke the production branch after I've switched to it successfully and had one last look11:47
SRabbelier left11:48
pflanze well you seem to have checked in that .autotest file into the repo11:48
SRabbelier1 joined11:48
drizzd_ jengelh: that seems like overkill11:48
swombat pflanze: it's part of the (external) submodule11:48
drizzd_ but i'll have a look at it11:48
swombat pflanze: it's an rspec file, i mean11:48
jengelh drizzd_: I am not sure why you would unstage things anyway11:48
rubbish left11:48
SRabbelier1SRabbelier11:48
drizzd_ jengelh: because I don't want to commit all my changes11:48
jengelh oh...11:49
drizzd_ I often do something, fix something else in the process11:49
jengelh use branches11:49
drizzd_ and so I make two commits for completely different reasons11:49
jengelh that's good11:49
drizzd_ oh come on that's ridiculous11:49
jengelh that's how people do it11:49
swombat drizzd_: what's ridiculous? branches?11:49
jengelh as soon as they think "hey I can change that because it looks worth fixing", they open a new branch.11:49
drizzd_ i'm not going to make a branch for 5 seconds11:50
swombat drizzd_: why not?11:50
it takes like 0.5s11:50
pflanze swombat: I haven't used submodules, but you must have this same file in several modules, and/or locally generated; so go check where the doppelgänger is11:50
jengelh As Linus puts it, because branches are so cheap, people have 3, 5 or 10 of theem11:50
and you do not have to merge em, you can rebase it.11:50
drizzd_ guys, branches won't help my problem at all11:50
jengelh which makes for a nice linear history11:50
swombat drizzd_: trust us... with git, you can branch like crazy really easily (especially locally). That's one of git's huge advantages over svn.11:51
try it11:51
jengelh if, during editing for a change, you notice that you have to fix something else first, you use stgit (or stash in rare cases) to back out your changes and do the required fix first11:51
drizzd_ ok, I understand how branches work, and I use them extensively. That's not the issue. My problem is totally unrelated to branches.11:51
I have a dirty working directory11:51
jengelh listens11:52
drizzd_ One changed file, for example11:52
two hunks11:52
I want to make two commits11:52
one for the first hunk11:52
jengelh git add -i11:52
drizzd_ another one for the other11:52
oh, have you ever used that?11:52
jengelh yes11:52
solemn, but yes, I know how it works11:52
drizzd_ well maybe I don't get it but it just doesn't work for me11:52
jengelh I rather take the branch approach11:52
but that's just me.11:52
drizzd_ how does a branch help me staging hunks?11:52
Arrowmaster everybody has their own development method11:52
jengelh drizzd_: it does not, you have to edit it again :)11:53
pflanze drizzd_: you can also just "git commit first/file", then "git commit other/file"11:53
drizzd_ well, git citool solves that problem for me, but not having line breaks in the commit messages sucks.11:53
pflanze: it's two hunks in the same file11:54
pflanze ah11:54
then undo one of the hunks, maybe through editor undo, commit, redo, commit11:54
swombat drizzd_: 1) decide to work on defect 123; create branch 123; make change to file X; commit to branch 123; Oh shit, need to work on 124; create branch 123; make change to file X; commit; checkout master branch; merge 124; push to origin; checkout 123 again; rebase; resume work on 12311:55
drizzd_ this was just an example, usually it's a few files and quite a few hunks11:55
swombat er... -1)11:55
and the second create branch should be 124.. *slaps self*11:55
pflanze drizzd_: commit often as you work, and afterwards fix up the history if you think it is looking ugly11:56
drizzd_ I often break my executable during work, and I really don't like commiting something that doesn't even compile11:56
pflanze why not?11:56
swombat you can amend the commit later11:57
pflanze you don't need to push/publish to others11:57
drizzd_ because it will break bisect, for example11:57
swombat and that... it stays private11:57
pflanze drizzd_: that's why I said fix the history afterwards11:57
swombat nobody needs to know you broke the executables :-)11:57
Xyrio left11:57
pflanze before you publish it.11:57
jengelh fix it before you commit it :P11:58
drizzd_ I guess the problem is that I'm just to lazy to commit every time I decide to do something different11:58
because whenever I fix something I end up fixing 5 other things as well.11:58
swombat drizzd_: once you're used to it it's so quick you don't even spend any brainpower on it11:58
it becomes second nature to create branches as you need them11:59
(for even the tiniest change)11:59
pflanze drizzd_: how would the tool you imagine (and which doesn't exist afaik) find out which hunks belong together, and worse, if two independent changes happen to be in the same hunk, how to take those apart?12:00
You'll have to do just as much work as you'd do when committing early, I suppose.12:00
drizzd_ pflanze: as I said, git gui is the solution to my problem. I simply can't work with git add -i, so I don't have any other decent tool to stage hunks. That is all.12:01
But you're wrong. I have to commit less often, so to speak, because in the end I won't have to amend anything.12:02
pflanze so, think what you want, if you've got a solution I'm not sure what you're after then.12:02
drizzd_ If it's about bigger changes, I do exactly the thing you suggested. But for small changes it's just not worth it, IMO.12:03
tommorris joined12:03
drizzd_ pflanze: I just asked how to do line breaks in the commit message with git gui, because that's the only thing bothering me.12:03
And everyone told me not to use it...12:03
So I made my case12:03
TGEN there's an official git gui?12:04
pflanze ah -- well I don't use it either :), so I'll leave that open to whoever uses it.,12:04
Yuuhi joined12:04
pflanze iirc it's in tcl/tk, so you might change it easily enough yourself.12:04
drizzd_ yeah, it's already on my todo list :-)12:05
TGEN: yes, git-gui is in official git12:06
TGEN hmm, well, of it's written in Tcl I won't bother with it anyway12:06
(though gitk is useful)12:06
drizzd_ yeah, tcl is a pita12:07
pasky it's usable12:08
but hacking it is no-go for me either :)12:08
swombat bah12:09
TGEN if I were to use a gui for e.g. committing you'd get stuff like :wq at the end of commit messages all the time ;)12:09
swombat i managed to switch to the production branch with git checkout -f production12:09
now trying to merge master in and getting:12:09
git merge master12:09
fatal: Entry 'vendor/plugins/rspec/.autotest' would be overwritten by merge. Cannot merge.12:09
i've already removed that whole directory and committed the remove12:09
(the rspec directory i mean)12:10
(which, in master, is a submodule)12:10
lea_w left12:11
swombat anyone know how i can just squash whatever's in the production branch with whatever's in the master branch?12:14
I'm not too bothered about keeping the history in the production branch at this point12:14
maybe with a special merge strategy?12:15
jengelh git rebase -i12:15
filter-branch also does it, with grafts12:15
swombat git rebase -i isn't doing anything12:15
jengelh well12:16
git rebase -i --onto <here> <here>12:16
and then let it squash12:16
swombat <here>?12:16
jengelh an appropraite ID12:16
swombat would git rebase -i --onto HEAD do it?12:17
k, got it12:18
i think12:18
thanks again12:18
pflanze drizzd_: I've played with git-gui and can write multi-line commit messages just fine (version 1.5.5.1)12:20
drizzd_ Yes, but I have to break lines manually. You don't?12:21
pflanze I'm entering the commit message into the text box; do you mean from the commandline?12:21
dwmw2_HELdwmw2_gone12:22
pflanze or, what do you mean by having to break lines manually.12:22
drizzd_ no, I mean the text box. When I write a long line, it doesn't wrap around but it makes a scroll bar at the bottom...12:22
pflanze ah. well.12:23
drizzd_ and it starts scrolling to the right indefinitely12:23
pflanze I see.12:23
drizzd_ actually, I don't even have a scrollbar12:23
lea_w joined12:23
drizzd_ it sucks even more than I realized12:23
but I think it used to be fine a long time ago.12:24
pflanze Maybe someone thought that it sucked to not be able to write overly long lines?..12:24
you could check it's history (the git repo history) of course.12:25
drizzd_ It kinda defeats the purpose of the box.12:25
I think it's probably some change to tcl/tk, I'll check it out later.12:26
pflanze you really want something like emacs'es reindent to selectively reformat paragraphs.12:26
drizzd_ But the fact that nobody bothers to change this tells me that there's actually very few people using it seriously.12:26
pflanze ehr not reindent -- whatever. Meta-q12:26
drizzd_ Well, it would be a great improvement if it would wrap the lines just visually, So I can actually _read_ what I wrote.12:26
pflanze You do see that sometimes you want to put source code fragments into a commit, which could have long lines which you don't want to have wrapped.12:27
LotR joined12:27
pflanze So the thing to go for is, hit meta-q or something similar after done writing a paragraph which you know you want to have broken into short lines. And soft wrap while writing, yes.12:28
(Depending on your preferences, you might even want to embed git-gui into the editor, so you've got all the text handling functionality you'd ever want.)12:29
drizzd_ I don't know, I seriously doubt the current behaviour is reasonable for anyone. Even if you don't want the lines to wrap (visually or in the actual commit message), you'd at least need a scrollbar. And we can make the rest configurable.12:29
ggeecko joined12:30
drizzd_ yeah, git-vi would be cool12:30
pflanze git-gui is actually kinda neat, but I'd prefer a good emacs mode (but I haven't even checked if one exists now).12:30
stillLotR left12:32
Yuuhi left12:34
ggeecko left12:34
Pieter whoo12:37
Yuuhi joined12:37
jengelh export EDITOR=joe; git-commit ... ^K^J = autoalign12:37
Pieter repository shrunk from 4.1GB to 120MB12:37
|kukks|kukks12:37
jengelh Pieter: did what?12:38
pflanze (Anyway, git-gui doesn't seem to be able to select individual chunks for commit either.)12:39
Ilari Pieter: How big it was in the original SCM?12:39
reaVer what was the original SCM?12:40
Pieter Ilari: 300MB12:40
bazaar12:40
reaVer ah12:40
btw, how can I make git rebase autofetch?12:41
Pieter git pull --rebase12:41
reaVer ah ok:P12:42
tnx12:42
Pieter or, if you do a git config branch.branchname.rebase true, you can do just git pull12:42
Ilari Setting that is handy for private topic branches.12:47
chris2 pflanze: if you like emacs, try gitsum http://github.com/chneukirchen/gitsum/tree/master but beware it's alpha12:48
VitaRara_ joined12:52
VitaRara_ left12:52
jelmer joined12:57
pflanze chris2: thanks; although I've never felt the need for selective commits (drizzd_ did), but I'll check it out some time.12:59
(selective on the level of thunks)12:59
chris2 i'm very used to it :)12:59
due to darcs mainly13:00
drizzd_ Unfortunately, I don't like emacs. But maybe I can copy the idea for a vi mode. ;-)13:01
chris2 hehe13:01
it's just a mode to edit git diff and then apply it13:01
holizz joined13:02
drizzd_ I was thinking, it would be cool to have a mode which marks the modified and staged lines in the editor. And then you can stage/unstage individual lines or a selected number of lines.13:04
Ademan_ joined13:10
chris2 left13:11
Ademan left13:15
madewokherd joined13:18
gitte left13:22
tommorris left13:23
lea_w Is a tab width of 8 correct for git's perl modules?13:24
jengelh a tab is a tab, nothing else13:24
lea_w yes it is ;-)13:24
jengelh what your editor makes out of it is its own business13:24
Pieter nah13:24
that's not really true13:24
thiago_home as long as you use tab for indention and spaces for alignment, it works13:24
otherwise, it looks just plain ugly13:24
jengelh and that's the supposed way13:24
a number of people fail to understand that *sigh*13:25
thiago_home so, to make things practical, don't use tabs :-)13:25
lea_w this_is_a_long_function_name(42,13:25
<indentation here>13:25
jengelh actually <alignment here>, not <indent>13:25
lea_w Right.13:25
Pieter that's not what always happens in git's code13:25
lea_w But my editor doesn't know the difference. So are those 28 spaces equal to 3 tabs + 4 blanks or 7 tabs?13:26
jengelh that's because it's an imperfect world13:26
lea_w: 28 spaces are 28 spaces.13:26
pombreda joined13:26
jengelh some editors reformat code behind your back, they are the worst.13:26
lea_w jengelh: How do I do this with Emacs? I.e., getting indentation as tabs and alignment as blanks?13:26
jengelh I don't use emacs, thankfully.13:26
thiago_home emacs uses, by default, a mix of tabs and spaces13:26
lea_w jengelh: What do you use?13:26
jengelh joe and mcedit13:27
Pieter vim \o/13:27
thiago_home especially since the default indentation is 2 spaces13:27
Pieter oh :)13:27
jengelh yeah and vim13:27
as a fallback13:27
thiago_home however, Emacs with spaces-only indentation works much better13:27
M-x set-variable indent-tabs-mode nil13:27
lea_w Good, so say my editor messes up and replaces alignment blanks with tabs, and I need to edit a file that uses indentation with, what is the most reasonable default? 4 blanks = 1 tab or 1 blanks = 1 tab?13:28
uses indentation with tabs*13:28
jengelh 8 blanks to 1 tab13:28
lea_w jengelh: Thanks!13:28
jengelh but i'd rather turn that stupid setting of automatic tab<->space transformation off, now.13:28
tommorris joined13:29
lea_w there's no way to get it right with emacs, i believe13:29
thiago_home if your editor messes up, don't edit the file13:29
use another editor13:29
with Emacs, you can probably make it work right, but if it's not one of the easy modes, I don't know how to do it13:30
jengelh then again, I would have expected emacs be at least a bit saner than those windows editors13:30
thiago_home Emacs can do anything13:30
jengelh but perhaps it does the wrong thing _by default_ :)13:30
lea_w "can do anything given infinite time to write Lisp code"13:30
which I don't have13:30
jengelh haha13:30
so don't use it, simple as that13:31
lea_w *hates-emacs-and-needs-to-switch-at-some-point*13:31
jengelh "Like it or lump it", as the saying goes.13:31
thiago_home by default, it uses default indentation of 2 spaces and a mix of tabs and spaces13:31
Ademan_ left13:31
jengelh the GNU "style", if you can call it that13:31
thiago_home editing a text file with Emacs without setting up the indentation mode properly is a pain in the a**13:31
it'll reindent your line at semi-colons, parentheses, etc.13:31
lea_w thiago_home: Majorly insane indeed. When you use global-whitespace-mode (or so), it stops using tabs, which is fine most of the time. Until you edit files with tabs.13:32
thiago_home which is why we (Qt) converted to all-spaces a while ago13:32
lea_w Thanksfully, the oh-so-powerful Emacs is unable to automatically recognize that a file uses tabs and keeps inserting rows of blanks. Yuppee. *shakes-head*</rant>13:32
thiago_home no issue with any editor13:32
jengelh just use vim or nano, will ya13:33
so as to get started with some sane tab settings13:33
lea_w Yup, I suppose I'll move to vim...13:33
Ademan_ joined13:34
lea_w pasky: You say I should move minor cleanups to separate patches.13:35
What's the best way to do minor cleanups then?13:36
I don't exactly want to flood the mailing list with patches that just move lines around, add two comments, or fix a typo.13:36
Should I wait and then submit a larger cleanup patch?13:36
jengelh you should not do any cleanup13:36
lea_w Why not?13:37
jengelh to which project?13:37
lea_w git (perl/Git.pm)13:37
jengelh because then everyone starts sending "cleanups", the linux list is flooded with that already regularly13:37
it gets much worse in projects which do not have a CodingStyle set into stone13:37
because people then change it forth and back13:38
you can introduce a proper style when you write new lines, that's the best way of introducing them13:38
gradually over time improving the code13:38
lea_w That's why I just sent my cleanup patch as part of another patch (which is how I've been doing it in other projects), but pasky objected: mid.gmane.org/20080531130450.GI18781@machine.or.cz13:38
pasky I'm personally fine with small cleanup patches, but I don't know the currently prevailing mileage at git@13:41
jengelh lea_w: See, readability is not functionality.13:41
pombred1 left13:41
jengelh for example, when you removed the lines from get_head_hash (to write new ones), you can write the new ones in the preferred style without flagging everyone's "split this" mentality13:41
pasky lea_w: I don't personally have anything against cleanup like this, but it'd be again greatly preferred to be consistent - are there no other places in gitweb where you could fix this?13:43
if not, I'm fine with the patch; if yes, you should fix all the places when you're cleaning up already13:43
lea_w okay...13:44
i'll remove it from the patch for now13:44
GyrosGeier left13:47
hipertracker left13:48
mattf joined13:52
vbabiy-laptop joined13:54
VitaRara joined13:54
vbabiy-laptop Hey guys if I tag a local branch and I push it a remote branch will it carry over the tags. Or do tag only reside locally?13:54
jengelh only the branch13:55
vbabiy-laptop jengelh: so is there any way to push a tag to a remote branch?13:55
jengelh git push <remote> <tagname>13:55
vbabiy-laptop jengelh: but will that push the tag or the code at that stage?13:57
jengelh the tag, and everything it depends upon.13:57
vbabiy-laptop okay13:57
VitaRara jengelh: Thanks13:59
I'm working with vbabiy-laptop13:59
Still trying to git it.13:59
qknight tags are used for releases?13:59
jengelh primarily yes13:59
qknight ok, then i know them from svn. good to know13:59
that git has them as well13:59
vbabiy-laptop qknight: that is how we are using them14:00
jengelh svn does not really have tags.14:00
neither has it branches; it just has directories14:00
qknight jengelh: yes don't to into detail too much. i just used it that way14:00
tommorris left14:00
mstormo left14:02
eilartt joined14:03
rubydiamond left14:03
thiago left14:05
eilartt how can i retrieve the files of a certain commit?14:06
bentob0x left14:06
Ilari Tags are not associated with branches. They are branchlike entites themselves.14:06
eilartt: 'git checkout <revision> -- file1 file2'14:06
eilartt revision can be a commit as well?14:06
tommorris joined14:07
Ilari eilartt: It can be any valid commit or expression resolving to commit.14:07
jengelh <? extends committish>14:08
eilartt ok, thanks14:08
koke joined14:08
Lucine2 joined14:11
priidu left14:11
Ilari eilartt: Examples: 'master~5' (five commits before tip of branch master, using first parents), 01234567 (commit with numeric ID starting with 01234567).14:11
pflanze Numeric id's?14:12
jengelh and?14:12
Ilari pflanze: Every commit has 40 hex digit ID.14:13
pflanze but it's not numeric14:13
well14:13
if you count hex numbers as numbers, then yes14:14
jengelh it is counted as hex numbers14:14
pflanze but it's not a number in the sense of numbering something, still14:14
it's just binary data.14:14
a hash.14:14
holizz So ... I did git reset --hard HEAD^, and then git commit -ac ORIG_HEAD. But now it complains when I try to push to other repositories.14:16
! [rejected] master -> master (non-fast forward)14:17
Ilari holizz: It is considered bad practice to try to edit what is already pushed.14:18
holizz I see. So what _should_ I be doing when I want to revert the tree to a previous revision? (And how do I unbreak what I have?)14:20
pflanze holizz: you can either undo your reset by using git-reflog; or if you want to risk making other people unhappy, there's a force flag to git-push14:22
Ilari holizz: Maybe revert the reset and then do 'git revert HEAD'?14:23
holizz: And if you really wanted to get rid of last commit in chain, it would be just 'git reset --hard HEAD^'. None of that SVN branches-are-not-first-class nonsense.14:25
holizz Thanks. But how do I reset it if the original commit has disappeared (at least as far as gitk is concerned)?14:27
Sonderblade joined14:28
pflanze holizz: as I said, use git-reflog and you'll see the old commits14:28
then you can git reset back to the right one.14:28
pygi or just use git checkout sha14:28
pflanze yeah, would work, too14:28
but to get the sha, you use git-reflog. Or, if you know already that it's 'HEAD@{1}' then I think you can use just that string.14:29
a-priori joined14:29
pygi pflanze, true =)14:29
holizz Aha, thank you. I think I'm back to a sensible state.14:30
a-priori left14:30
a-priori joined14:31
Ilari holizz: After you have undone that reset, maybe 'git revert HEAD' would work to revert the change in newest commit (it should commit the revert automatically).14:32
holizz Thank you very much. It all works happily now.14:37
SRabbelier What's the proper plumbing way of showing a commit, but not the patch? ('git show <commit>' does what I want except that it also shows the patch)14:43
strangy left14:43
thiago_home git cat-file -p <id>14:43
eilartt left14:43
strangy joined14:44
SRabbelier thiago_home: almost what I want, it doesn't do the indentation of the log msg?14:44
and it skips the colons14:44
strangy left14:45
Pieter yeah, that's the raw message14:45
SRabbelier mhh, I say plumbing, but what I want is to just show one commit14:45
Pieter otherwise use git log or git rev-list14:45
SRabbelier in the regular format :-/14:45
Pieter git log -1 commit14:45
thiago_home SRabbelier: the indentation comes from git log14:45
git log commit^!14:46
SRabbelier thiago_home: Ah, in that case I should just go for git log :)14:46
will that also work with multiple refs?14:46
thiago_home no14:46
SRabbelier how could I do that?14:46
do I have to call git log for each ref? 0.o14:46
thiago_home git log only works in ranges14:46
SRabbelier drat14:46
that's gonna be expensive :(14:47
thiago_home if the commits you want are sequential, then it can show14:47
otherwise, no14:47
SRabbelier ah well14:47
lea_w I'm trying to create a test suite for Git.pm, and I'd like to add tests for it under the t/ directory. t/README tells me the meaning of the starting digits 0-9, but none of them seem to match for Git.pm (a Perl API).14:49
GyrosGeier joined14:50
SRabbelier lea_w: how about 9?14:50
lea_w The closest would be using 9 ("the git tools") as a catch-al14:50
SRabbelier lea_w: I think the numbering is mostly for grouping/ordering, I don't think anyone will freak out over the Git.pm test suite being under 9?14:51
lea_w SRabbelier: one problem is that we might run out of digits for the second digit (the "command" we are testing) -- there are only 3 left ^^14:51
SRabbelier lea_w: heh, yeah, that's what I noticed too when reading that README14:52
just lump them all under t97... ? :P14:52
lea_w SRabbelier: Perhaps add hex digits a-f?14:53
SRabbelier hehe, nice hack :P, wonder if the ordering still works though14:53
lea_w a could be used for API's14:53
Ilari It should still work then.14:53
SRabbelier Ilari: the 1-9 get executed before a-f?14:53
btw, why limit just to hex?14:54
lea_w SRabbelier: They should be14:54
SRabbelier shrugs14:54
SRabbelier in that case14:54
if we need to, just extend to a-z?14:54
Lodorius joined14:54
SRabbelier or we'll run into the same problem in ~a year14:54
Ilari ... Since 0-9 are ASCII codes 48-57 and a-z are codes 97...122...14:54
jengelh what problem?14:54
sha ids are eternal :p14:55
SRabbelier Ilari: +114:55
jengelh: we're not wtalking about sha's though :(14:55
jengelh: about 4 digit numbers for the tests14:55
lea_w SRabbelier: The problem with a-z is that it might accidentally match14:55
jengelh heh14:55
go 5 numbers14:55
hagabaka` joined14:56
lea_w test2-lib.sh would match for instance14:56
jengelh since you count upwards anyway14:56
SRabbelier lea_w: I claim trofl.sh14:56
tommorris left14:56
SRabbelier jengelh: mhhh, not sure, it's more like a grouped approach14:56
lea_w bah, lousy ordering system.14:56
SRabbelier jengelh: that wouldn't allow for more commands/groups, only for more subtests per command14:56
very much so :P14:56
it doesn't scale well at all14:57
jengelh use a huffmann code14:57
SRabbelier jengelh: ... lol14:57
Lodorius left14:57
lea_w okay... so move it to a-f for now?14:57
i'll submit a patch...14:57
SRabbelier lea_w: bring it up with the list?14:58
vmiklos SRabbelier: did you ever get to rewrite your py script to sh, which summarized tests results?14:58
SRabbelier vmiklos: eh, no, mhhh, I should consider doing that if I have some time14:58
vmiklos: thanks for asking though ^__^14:58
vmiklos :)14:58
SRabbelier puts a +1 on his 'someone read my proposal' board14:59
vmiklos i liked that patch, even i was thinking about adding such a rewrite item to my todo ;)14:59
tommorris joined14:59
SRabbelier vmiklos: really? awesome!14:59
SRabbelier cheers15:00
SRabbelier It works :)15:00
./stats.py15:00
lists all the commits that touched the same files as any of my staged changes15:00
jengelh uhm15:00
git log --author="me" thisfile.c --pretty=format:%H ?15:00
SRabbelier jengelh: well, yes, but that's not what it does15:01
erm, skip the --author filter for one15:01
jengelh what does it do?15:01
and more interestingly, what does it output15:01
SRabbelier and replace thisfile.c with all the files that are staged15:01
jengelh hm15:01
SRabbelier also, format is the regular commit list format from git log15:02
mvanholstyn joined15:02
vmiklos SRabbelier: i like python as well, but git is written in sh/perl/C, so it's probably better if you don't use python for your scripts if you ever want it to be merged..15:02
SRabbelier vmiklos: I'm doing it in python first, and then if I have time spare I'll rewrite to C15:02
jengelh { Python. Regex. Slow. Repeat. }15:02
SRabbelier I'm happy with living in /contrib till doing the rewrite15:02
mvanholstyn left15:02
bobesponja joined15:03
vmiklos ah, k15:03
SRabbelier vmiklos: mostly for ease of development15:03
vmiklos well, as you want, it was just a suggestion15:04
SRabbelier nods15:04
vmiklos if you write it directly in perl or sh, you can avoid a rewrite15:04
SRabbelier jengelh: http://rafb.net/p/rL8pu293.html15:04
vmiklos: I don't know perl, and I want to do it in C for speed15:05
vmiklos: since some parts are likely to a real cpu-burner on big repos15:05
vmiklos hm yes, that makes sense15:06
SRabbelier but c doesn't allow the ease of change python does15:06
vmiklos sure, writing a prototype should not happen in C15:06
SRabbelier I mean, I'm rather good in C even if I say so myself, but python is just better for prototyping15:06
exactly :)15:06
dirk1296 joined15:08
hagabaka left15:10
ekidd joined15:14
tommorris left15:15
mvanholstyn joined15:15
aroben joined15:16
mvanholstyn left15:18
lea_w1 joined15:19
vbabiy-laptop left15:24
doener joined15:25
lea_w left15:28
pombred1 joined15:32
crab left15:39
sanxiyn joined15:40
tommorris joined15:42
tommorris left15:42
sanxiyn Hi, progress.c seems to use VLA, and it seems to be the only place VLA is used. Would you want this to be "fixed"?15:44
jengelh No.15:44
sanxiyn (To make it compile on compilers not supporting VLA)15:44
jengelh: Why not?15:44
jengelh VLA is C99.15:44
sanxiyn I know.15:44
pasky gah, great15:44
jengelh I would not take such a retrograde step.15:45
pasky now git log is outputing spurious empty lines15:45
hramrach joined15:45
pasky :/15:45
hramrach hello15:45
sanxiyn jengelh: Then why is VLA used in this single file only? (It could simplify code elsewhere.)15:45
jengelh because no occassions to use VLA in other places have come up? :)15:45
sanxiyn jengelh: Well, I can find several easily.15:45
hramrach How do you revert a commit? I want to edit the commit message basically but I guess it's not possible that simply15:46
jengelh sanxiyn: send a patch :)\15:46
make it use vla15:46
pygi hramrach, git checkout sha15:46
RandalSchwartz hramrach - see "git commit --amend"15:46
vmiklos pasky: hey, is the git-mirror script available somewhere? the one you use in repo.git. it seems it's not part of git.git or repo.git at the moment15:46
hramrach thanks, I'll try15:46
doener hramrach: or for older commits, look into rebase -i15:47
sanxiyn jengelh: That would be useless to me. So I would send a patch to remove VLA usage instead.15:47
pasky vmiklos: it's in git/repo.git15:47
vmiklos: but it's very legacy15:47
sanxiyn jengelh: Thank you for an opinion.15:47
pasky you should be able to do the same stuff with normal git15:47
if you setup the remotes right15:47
jengelh sanxiyn: it's a real pity that some compilers are not even c99. I'd wish for them to rot.15:47
vmiklos pasky: git remote --mirror does not seem to remove branches, but i may be wrong, i haven't checked recently15:47
pasky jengelh: and is gcc finalyl fully c99-conformant itself? ;)15:48
afaik it wasn't for *long* time :)15:48
jengelh pasky: at least it supported VLAs for long15:48
pasky well that's true15:48
but c99 has many hairy stuff15:48
hramrach It looks like amend is what I want. Thanks15:49
jengelh such as15:49
pasky such as what's listed as "Missing" at http://gcc.gnu.org/c99status.html ;)15:49
_zack left15:50
_zack joined15:50
pasky (or Broken - like "variable-length arrays" :P)15:50
(no clue what the breakage is, in case you want to ask)15:50
vmiklos yes, just checked; git fetch won't remove branches, even if you added the remote with --mirror15:51
pfs0 joined15:51
pasky vmiklos: hmm, strange... there were some discussions around this long time ago but I don't remember the outcome15:51
pombreda left15:51
pasky vmiklos: git remote prune?15:51
vmiklos let me check15:52
lamont left15:52
vmiklos aha.15:53
so git fetch origin; git remote prune origin seems to do the trick :)15:53
thanks15:53
lamont joined15:54
hacim joined15:54
hacim I did a git checkout remote/branch -b mybranch ; then I did a git pull, which pulled in a lot of stuff, some conflicting15:55
igorgue joined15:55
hacim now I can't get back to my master branch, because it wants to merge and I've got unresolved conflicts that I do not know how to resolve15:56
sanxiyn left15:56
doener you can "git reset --hard" to abort the merge15:56
afterwards, you should have no problems checking out master15:56
hacim you are right15:56
i'm surprised that the git pull failed, because its on a remote repo that I have made no changes to locally15:57
RandalSchwartz that's because pull is fetch + merge15:57
did you really want to merge?15:57
doener RandalSchwartz: well, should result in a fast-forward then though15:57
hacim RandalSchwartz: i wanted the latest changes from the remote in that branch15:57
doener hacim: which git version is that?15:58
hacim (a branch I have not changed, except for the last time I yanked it from upstream)15:58
RandalSchwartz still laments that merge has no "--fast-forward-only" switch15:58
hacim doener: 1.5.5.115:58
RandalSchwartz in spite of it always being the solution to this stuff15:58
mohbana joined15:58
doener hm, that should have setup the tracking stuff correctly... weird15:58
mohbana is there a git book?15:58
hacim maybe I setup the remote branch incorrectly?15:59
bryanl left15:59
doener hacim: unlikely... I'd check four things: Am I on the right branch? Did I really do no commits locally? Is branch.$name.{remote/merge} correct? Did the remote history get rewritten?15:59
jengelh pasky: most of it is done16:00
pasky: the rest probably does not have that much value16:00
hacim doener: i did a git-checkout -b remote/branch mybranch, so I know my branch is brand new16:00
i'm not sure how to check what branch.$name.{remote/merge} is?16:01
doener git config --get-regexp branch.master16:01
replace master with your branch16:01
hacim ok, how do I tell if it is correct?16:03
mvanholstyn joined16:04
doener remote should be the right remote and merge should be the right branch from which you want to merge16:04
eg. refs/head/some_cool_branch16:04
s/head/heads/16:04
hacim doener: http://pastebin.com/m50e4878516:05
doener hacim: rewritten history it seems, complain to your upstream (unless they said upfront that that branch is going to be rewritten)16:06
hacim thanks16:07
doener hacim: IIRC "git remote update" also does non-fast-forward fetches16:07
hacim but in my case, I want the latest, so I want it to be fast-forwarded, don't I?16:07
doener so you could just do that and hard reset your branch to the new remote state16:07
jengelh git remote update also makes forced updates16:07
datafirm joined16:07
doener hacim: so: git remote update && git checkout emacs-mode && git reset --hard emacs-mode/emacs-mode16:08
Tv left16:08
hacim doener: that gets me to where the repo was before the update16:09
hagabaka`hagabaka16:09
hacim but how do I get to the latest? I suppose i can do: git remote rm emacs-mode/emacs-mode; git add remote ...16:10
doener hacim: http://archives.eyrie.org/software/git/puppet -- seems broken, can't clone16:10
maybe someone forgot to git-update-server-info?16:10
hacim doener: http://archives.eyrie.org/software/git/puppet.git16:10
jeffpc left16:10
doener ok, that works16:11
jeffpc joined16:11
doener no16:11
http://pastebin.com/m200a0c2416:11
rubydiamond joined16:12
hacim doener: maybe try again? I just did it in a new location and it worked16:12
rwanderley joined16:13
lea_w1 left16:13
doener hacim: failed three times now16:14
lea_w joined16:14
hacim doener: maybe its your version of git? because I've succeeded 2x and not had an error16:15
Tv joined16:15
zawir joined16:16
brosner joined16:16
rubydiamond hey...16:18
how to use git submodule thing16:19
doener hacim: haha, latest master now, and a new error16:19
hacim is the only way to fast-forward by merging?16:19
doener: weird16:19
doener http://git.pastebin.com/m4366771a16:19
jengelh no, you can also FF by reset --harding.16:19
but it's the destructive way16:20
hacim doener: thats really strange16:20
jengelh http is strange.16:21
called update-server-info?16:21
rubydiamond left16:22
rubydiamond joined16:22
hacim jengelh: its not my repo16:23
gmcinnes joined16:25
trochala joined16:28
SRabbelier left16:28
SRabbelier1 joined16:28
SRabbelier1SRabbelier16:29
kanru left16:29
agib_ joined16:31
strangy joined16:32
hacim if I do cherry-picking from a remote, should I cherry-pick the merge commit?16:35
sr joined16:36
cmo-0 joined16:36
Ilari hacim: cherry-picking is diff-level operation, so cherry-picking merges is special. OTOH, merges shouldn't contain anything important to cherry-pick...16:37
hacim: *changeset-level operation, that is...16:37
thiago_home they'll contain the merge-result16:37
you'd be squashing the merge if you cherry-pick it16:37
hacim what would the result of squashing the merge be?16:38
thiago_home the merge applied, but without the second parent16:39
doener it's not even necessarily equal to a squashed merged. The merge bases between your branch and the branch from which you pick might be different WRT the branch that got merge16:40
d16:40
Ilari 'shouldn't contain anything important to cherry-pick' means that those commits only contain the merge resolution, but it needs to be done again anyway...16:41
thiago_home right, good point16:41
cmo-0 what does git-upload-pack do ...?16:41
thiago_home cmo-0: it uploads a pack file to git-receive-pack16:41
rwanderley left16:41
rwanderl` joined16:41
cmo-0 do you mean git-daemon uses it behinde the sence16:41
sence=scene16:42
aroben left16:42
thiago_home yes16:42
Ilari send-pack/receive-pack from a pair. As do upload-pack/fetch-pack.16:43
send-pack and fetch-pack run on client, receive-pack and upload-pack run on server. send/receive pair is used for push, upload/fetch pair for fetch...16:44
thiago_home didn't know that16:44
cmo-0 ok. yesterday and the day before i was complaining in this channel that the git-daemon i have on my office serever hangs around 37% to 50% percentage. while pooling around with 'ps aux | grep git' I saw ' git-upload-pack --strict --timeout=0 .' and thought that timeout=0 is the clue print!16:44
cmiiw16:45
thiago_home 0 timeouts usually mean "no timeout". Whether that means "immediate" or "forever" depends on the code.16:45
you cannot infer anything just by reading the command line.16:45
agib left16:45
tenpaiyomi joined16:46
tenpaiyomi left16:46
Ilari cmo-0: Does the upload-pack process stick around after it hangs on client?16:47
pfs0_ joined16:47
panagos_ joined16:47
_Ramblurr joined16:47
seebyr joined16:47
dmitry_afanasiev joined16:48
jeffpc left16:48
joevandyk left16:48
solars left16:48
Vantage left16:48
wolf^ left16:48
aazar left16:48
jengelh left16:48
pasky left16:48
cschneid_ left16:48
aporetic left16:48
slack left16:48
thijso left16:48
lydgate left16:48
datafirm left16:48
igorgue left16:48
pfs0 left16:48
bobesponja left16:48
dirk1296 left16:48
a-priori left16:48
Sonderblade left16:48
johan-s left16:48
cedricv left16:48
robin_ left16:48
loops left16:48
tjafk1 left16:48
jwasson left16:48
Ramune left16:48
manveru left16:48
pdherbemont_ left16:48
gnufied left16:48
tcoppi left16:48
panagos left16:48
sbeyer left16:48
jarod left16:48
mtodd_ left16:48
christastrophe left16:48
comp left16:48
iabervon left16:48
mugwump left16:48
gitster left16:48
microm left16:48
jpieper left16:48
Ramblurr left16:48
albertito left16:48
rikur left16:48
tchan left16:48
gcl left16:48
Zycon left16:48
grasshopp left16:48
Mikachu left16:48
eikke left16:48
up_the_irons left16:48
efaistos_ left16:48
halfline left16:48
tsuna left16:48
mutex left16:48
Husio left16:48
cehteh left16:48
normalperson left16:48
reaVer left16:48
ThunderChicken left16:48
Husio joined16:49
bobesponja joined16:49
comp joined16:49
reaVer joined16:49
rikur joined16:49
cmo-0 yes for a while ... i found using ps a couple (approx. 6) half are defunct16:49
normalperson joined16:50
jarod joined16:50
tsuna joined16:50
robin_ joined16:50
kanru joined16:50
com4 left16:52
cmo-0 Ilari: yes for a while ... i found using ps a couple (approx. 6) half are defunct16:52
gcl joined16:52
zawir left16:52
jacobat left16:53
ThunderChicken joined16:53
Ilari cmo-0: Is there anything unusual in the SSH connections, like using 'ProxyCommand'?16:53
johan-s joined16:53
cmo-0 i don't use ssh. only git:// not ssh+git://16:53
microm joined16:54
up_the_irons joined16:54
efaistos joined16:54
albertito joined16:54
jeffpc joined16:54
joevandyk joined16:54
solars joined16:54
Vantage joined16:54
wolf^ joined16:54
cschneid_ joined16:54
aazar joined16:54
lydgate joined16:54
slack joined16:54
jengelh joined16:54
thijso joined16:54
pasky joined16:54
pdherbemont_ joined16:54
a-priori joined16:56
mtodd_ joined16:56
Ilari cmo-0: What state are those (non-defunct) upload-packs in? S?16:56
cyclist joined16:56
cyclist jgit is git reimplemented entirely in java?16:57
Ilari cyclist: Right.16:57
cyclist by the core git devs? i don't understand16:58
ForsakenSoul left16:58
cmo-0 they disappeared!16:59
Ilari cyclist: Main authors of Jgit are Shawn O. Pearce and Robin Rosenberg.17:00
gitster joined17:00
simmel left17:00
simmel joined17:00
samgranieri joined17:01
jpieper joined17:01
Sonderblade joined17:01
cedricv joined17:02
tjafk1 joined17:02
rwanderl` left17:02
gnufied joined17:02
halfline joined17:02
tcoppi joined17:03
igorgue joined17:03
cyclist ahh the new generation who learned Java in university17:04
rwanderley joined17:05
ekidd left17:05
lirit joined17:05
loops joined17:05
grasshopp joined17:05
Ilari cyclist: Shawn is more known in Git circles for Git-gui.17:05
rwanderley left17:06
rwanderley joined17:06
lirit left17:07
lirit joined17:07
Ilari cyclist: And Jgit uses various advanced (at least for Java programs) memory management tricks to get good performance.17:07
Mikachu joined17:08
mvanholstyn left17:08
cehteh joined17:10
Ilari cyclist: Jgit is mainly used by Egit (Git Eclipse plugin). As it was probably the easiest to reimplement Git in Java (so one doesn't have to mess with using non-Java code).17:10
cyclist makes -some- sense17:11
Ilari cyclist: I wouldn't classify Shawn as 'new-generation university-churned Java programmer'... :-)17:12
cyclist how old is he?17:16
Ilari cyclist: No idea.17:16
lirit left17:18
gmcinnes left17:19
lirit joined17:19
pasky i think there were some hairy licence reasons for the reimplementation too17:21
but i may be misremembering17:21
cmo-0 Ilari: should i paste the output of 'ps aux | grep git' on the office server (7 lines of output).17:21
_zack left17:23
_zack joined17:23
cyclist left17:25
ckoehler joined17:25
Ilari cmo-0: Yea, it could be useful...17:27
cmo-0: Paste it to some pastebin...17:28
ckoehler_ joined17:30
nuge left17:30
SRabbelier left17:30
ckoehler left17:30
chris2 joined17:30
gram left17:31
mohbana is there a git book?17:31
pasky there go 15 minutes of my life wasted by debugging code that had my ($self, $minihunk, $line); instead of my ($self, $minihunk, $line) = @_;17:32
cmo-0 Ilari: http://pastie.caboo.se/20643917:34
Bombe And that is reason #11758291 why Perl sucks... ;)17:34
Paf joined17:34
SRabbelier joined17:35
nuge joined17:35
hramrach hmm, now I would like to change a deeply buried commit17:36
Not that I could not revert the later ones .. but It might be nice to know how it's done17:36
Ilari hramrach: 'git rebase -i <commit>^'?17:37
hramrach Ilari: but I do not get what that does17:37
lea_w mohbana: Search Amazon. ;-) There's one coming out in September.17:37
hramrach Ilari: for me it created an anonymous branch that is incompatible with master now17:38
pfs0_ left17:38
Ilari cmo-0: Both upload-pack and pack-objects are waiting to become runnable (state S). Are all git processes on local side in state S as well?17:38
ckoehler_ckoehler17:38
Ilari hramrach: Yes, rewriting a commit also rewrites everything coming after it...17:38
hramrach Ilari: yes, but I do not have the stuff after that17:39
cmo-0 Ilari: all are in S+17:39
hramrach does that mean I will have to create a new branch an cherry-pick master to skip the broken commit?17:40
Ilari cmo-0: That sounds like both ends are waiting for each other... And you have seen Timeout errors from server?17:40
cmo-0 i do not wait that much. i just C-c it when i see it hangs for more than 10 sec17:41
or so17:41
Ilari cmo-0: Timeout errors on server end, that is?17:41
christastrophe joined17:41
samgranieri left17:41
lirit left17:42
radarek left17:42
pfs0 joined17:43
Ilari cmo-0: Also, what OS home PC runs?17:44
cmo-0 here is a tail of the output git-daemon17:44
Ilari: http://pastie.caboo.se/20644317:44
I run ubuntu server edition 8.04 on officePC and ubuntu 7.04 on my HomePC17:44
Ilari cmo-0: 2008-05-31_17:33:59.27767 fatal: write error (Connection timed out)17:45
cmo-0: Linux, that is. Linux is not known for broken TCP stack...17:45
nuge__ joined17:45
cmo-0 ?17:46
Ilari cmo-0: On Linux, killing the task(s) holding the connection kills the connection instantly. Some broken TCP stacks may not do so.17:47
mohbana lea_w: what's the name of it?17:47
mvanholstyn joined17:48
chris2 left17:51
_RamblurrRamblurr17:51
cmo-0 Ilari: on the server i can make 'git clone git://localhost/as-epanel' worked17:51
is it a problem in the router?17:52
lea_w mohbana: Goodness, http://www.amazon.com/s?ie=UTF8&keywords=git&index=blended17:52
felipec joined17:53
Ilari cmo-0: I'm thinking problem with the connection between the two machines...17:53
cmo-0 i had some silly thought that may be the isp is tracking and droping packets?17:54
Ilari cmo-0: Or bad router at home...17:54
igorgue left17:54
cmo-0 Ilari: the following works: 'git clone git://github.com/bruce/rtex.git' on either home or server17:55
nuge left17:58
jeckel joined17:59
jettero is git-svn reasonably usable? or am I better off just using svn (for this project that's already in svn)?18:01
Ilari jettero: Git-svn is way more usable than SVN...18:02
mohbana left18:03
jettero he18:04
... heh rather18:04
well, they have svk over there18:04
I doubt it's that bad with local commits...18:04
zachinglis joined18:04
Ilari jettero: Not that Git-svn is good (in absoulte terms). SVN is just way worse.18:05
jettero I just wondered if git-svn was unsupported like my poor beloved cogito18:05
jengelh cogito is obsolete..18:05
jettero yeah, I didn't know that until it disappaered from ubuntu18:05
Ilari jettero: Git-svn is supported. Cognito is dead.18:05
jengelh svn is also obsolete ;-)18:05
jettero I didn't realize how sucky cogito was until I got tused to pure git18:05
cmo-0 Ilari: one thing strange. when i do 'git clone git://github.com/bruce/rtex.git' on server through ssh, but from within the office LAN it worked (before 3 hours) now doing it through ssh but from home hangs???18:06
jettero svn isn't obsolete, it's tne text crappy lowest common demonitnator18:06
at least cvs is finally leaving18:06
wow, the git svn clone takes a while18:07
jengelh it's svn...18:07
Ilari cmo-0: Break out Wireshark?18:07
doener yeah, it fetches each and every revision, so you get the full svn slowness18:07
cmo-0 ?18:07
sorry ?18:08
doener jettero: latest git.git master has some patches that improve performance18:08
jengelh you can't improve upon the slowness of svn's side18:08
Tv left18:08
doener not sure how much of a difference they make though18:08
Ilari cmo-0: Wireshark is packet sniffer. Turn off Promisc mode, as this reduces clutter when debugging from endpoint of connection...18:09
jettero jengelh: svn imports much faster than git imports from svn since it has to replay each revision18:09
gmcinnes joined18:09
jettero not that you can do anything about it18:09
I think I'm going to be much happier with git-svn than pure svn though...18:09
this feels nice18:09
Ilari jettero: In fact, git-svnimport was removed from git.git (with designated replacement of git-svn).18:10
jettero I'm nervous about trying a dcommit, but I imagine it works reliably18:11
Ilari jettero: Just double-check if the commits look sane...18:12
doener jettero: check the commits and dcommit -n first to check what and where it's going18:12
xenoterracide joined18:13
jettero -n is dry run?18:13
jengelh often18:14
doener yep18:14
jengelh other times, it's -n(umeric)18:14
jettero does dcommit do an svn commit for each of my commits? or does it make one big patch?18:14
jengelh jettero: if it made one big patch git would be no better than svn18:14
gram joined18:15
jettero jengelh: please expand that thought... I'm curious about your thinking18:16
jengelh gram: just when did you register that domain? :)18:16
jettero that's a cool domain name18:17
sr huum, is there any way to know who and when a line was deleted? ala git-blame - i know that's a stupid question, but still, i can't figure how to do that :p18:17
jengelh jettero: you spend lots of time keeping bits in smaller commits, and then dcommit makes one big pile out of it. If that were the case, you could just use the regular svn client where you also need to commit before making the next eidt.18:17
gram: istr that this domain was free a few months ago18:17
doener sr: try "git log -p -Ssomething" where "something" is (part of) the stuff that got deleted18:18
xenoterracide anyone having problems reaching github via ssh?18:18
jettero are you guys talking about mknod.org? cuz that doesn't seem new to me18:19
Beket joined18:20
zachinglis left18:20
xenoterracide does anyone have any idea what this means? http://vim.pastey.net/8873418:22
gitster left18:23
a-atwood joined18:23
chrisrb joined18:24
cmo-0 Ilair: should i look for specific thing? (hint or link or doc) ;)18:25
putrum joined18:25
cmo-0 Ilari: should i look for specific thing? (hint or link or doc) ;)18:26
mvanholstyn left18:27
Ilari cmo-0: One thing to look for would be what happens immediately before and after the connection cuts off...18:28
pfs0 left18:32
chrisrb left18:33
hramrach left18:35
csc` joined18:35
cmo-0 left18:47
Seldaek joined18:48
NewMonarch joined18:49
NewMonarch Hey guys, I'm having a problem. Git keeps removing a frozen copy of rails from my application with every other commit. I have to keep reissuing the add command. What gives?18:49
aroben joined18:50
mvanholstyn joined18:50
_graham_ joined18:52
Seldaek left18:53
Sho_ left18:55
zachinglis joined18:57
Angelic13 joined18:58
Sho_ joined18:59
hipertracker joined19:03
Sho_ left19:03
zachinglis left19:04
mvanholstyn left19:07
Sho_ joined19:07
Sho_ left19:08
Ramblurr left19:08
mvanholstyn joined19:09
Sho_ joined19:09
Sho_ left19:09
mvanholstyn left19:10
jlh left19:11
Sho_ joined19:11
jlh_ joined19:11
priidu joined19:11
kumbayo left19:11
Ingmar left19:14
Ingmar joined19:14
pasky Someone might find http://pasky.or.cz/~pasky/dev/git/giddy.perl interesting.19:17
Basically, a GUI pickaxe frontend.19:17
Still pretty rudmental.19:17
pasky -> Indiana Jones19:17
zachinglis joined19:18
Mikachu it seems a bit tricky to find the actual change in a commit ,you have to scroll and loo kfor the green?19:19
Angelic13 left19:19
pasky it's constructed differently than say gitk19:19
it's not meant to browse commits19:19
bigfleet joined19:19
pasky it's meant to get history of certain content19:19
(if, after all, everyone says git is meant to track content - this thing is built to _show_ the tracks :)19:20
capisce joined19:20
pasky right-click somewhere inside the file19:20
(or, make some selection first)19:20
Mikachu yeah i did that, and it limited commits to those that changed that string i think19:20
pasky yes... that's the basic idea :)19:21
Mikachu but presumably one would then be interested in the diffs of those commits :)19:21
pasky I can spawn xterm with git show... ;)19:21
Mikachu heh19:21
bigfleet Hello, all. I am trying to convert an SVN repo to git19:21
peeja joined19:21
Mikachu well, it looks like it might be nice19:22
bigfleet But at some point a git repo was committed to the SVN repo19:22
So now the svn fetch does this19:22
http://pastie.textmate.org/private/zdqpygfc3is26pjfcuyx2g19:22
Any tips for how I can get past this?19:22
I don't need any commit history for the git subrepo19:22
but would like to be able to keep history for everything19:22
jengelh then use amending.19:22
then don't use amending :p19:22
bigfleet jengelh: I am a total n00b, so I may need more help than that19:23
jengelh you're contradicting19:23
bigfleet The element that is causing the conflict when doing the fetch19:23
Ingmar left19:23
bigfleet I wouldn't mind if that never existed19:23
jengelh fetch itself does not cause any conflicts generally19:23
bigfleet but I do need the rest of the repo converted19:23
Ingmar joined19:24
bigfleet problem, then19:24
What would amending allow me to do? I cannot pull the change that I would need to amend?19:25
Mikachu jengelh: i think th eproblem is the svn repo has a .git dir which git refuses to import?19:27
jengelh nice :)19:27
bigfleet That is the problem, yes19:27
putrum left19:28
capisce_ left19:32
strangy left19:34
strangy joined19:34
rubydiamond left19:35
solars how do I remove a file from the index after I added it to gitignore, and it has been already in the index? man git-remove says "removes a file from the index OR from the working dir" but there is no option to distinguish that19:38
jwasson joined19:39
iabervon joined19:39
Tv joined19:39
tchan joined19:39
manveru_ joined19:39
mugwump_ joined19:39
eikke joined19:39
RandalSchwartz git rm --cached path/to/file19:39
what do you mean "no option"?19:40
solars gnah, sorry19:40
overlooked that :)19:40
thanks19:40
RandalSchwartz bows19:40
RandalSchwartz hits head on desk19:41
RandalSchwartz ouch!19:41
jengelh RandalSchwartz: doing it repeatedly strengths your skull19:41
bigfleet left19:42
eternaleye left19:42
gmcinnes left19:43
pombred1pombreda19:43
robin_ left19:44
capisce_ joined19:45
NewMonarch Hey guys, I'm having a problem. Git keeps removing a frozen copy of rails from my application with every other commit. I have to keep reissuing the add command. What gives?19:49
capisce left19:49
Kagemaru joined19:51
Kagemaru hi19:51
pasky RandalSchwartz: Speak o' guru, why do I have to to pilgrim to the holy site of CPAN to get Algorithm::Diff on my humble systems?19:52
RandalSchwartz Not sure what you mean by "pilgrim"19:54
brosner left19:55
RandalSchwartz you mean, why are some things in the Perl core, and others on a network of widely geolocated mirror sites?19:55
that answer is simple... would you want the perl.tar.gz to be 100GB? :)19:55
RandalSchwartz waits for pasky to respond19:56
RandalSchwartz (not to mention, instantly out of date, since there are about 20 updates to the CPAN daily)19:57
ajonat joined19:57
ajonat left19:57
pasky well, but commonly used modules are part of perl.tar.gz ;)19:57
pasky feels that he somehow ends up using algorithm::diff for something in half of all scripts he writes ;)19:58
RandalSchwartz ok - that's you19:58
I haven't used it except for a magazine article19:58
ajonat joined19:58
RandalSchwartz everyone's locality of modules is different19:58
mstormo joined19:58
vbgunz left19:59
gmcinnes joined20:00
pasky everyone, use algorithm::dif more!20:00
RandalSchwartz well, it's pretty unlikely that anything new will be added to the core20:00
the usual talk is "how can we remove things"20:01
since the CPAN is so easy to install from now20:01
pasky hmm, pity :)20:01
RandalSchwartz why?20:02
pasky people are afraid of scripts with dependencies20:02
gitster joined20:02
pasky it's psychology :)20:02
capisce joined20:02
madewokherd I'm not afraid of scripts with dependencies20:02
I just expect sometime to magically handle them for me20:03
*something20:03
without any work20:03
RandalSchwartz people are also afraid of commitment :)20:03
mostly guys though20:03
and yet, "git-commit" exists20:03
gmcinnes left20:03
RandalSchwartz as I tell people, if you're not allowed to install from the CPAN, you're not using Perl.20:03
pasky you can always amend ;)20:03
igorgue joined20:04
pasky RandalSchwartz: is it seamless for non-root users to install from CPAN by now?20:04
pfs0 joined20:04
RandalSchwartz it has been for years.20:05
perldoc perlmodinstall20:05
set a prefix, set a envar20:05
and you're done20:05
madewokherd so no20:05
RandalSchwartz how could it be any easier?20:05
perl has to know where to get non-standard modules20:05
Kagemaru I'm trying to figure out how to change the default url "git push" uses for my project... I tried remote.rubybot.url without any luck. Could anyone help?20:05
pasky my perlmodinstall says just20:06
Make sure you have the appropriate permissions to install the module in your Perl 5 library20:06
RandalSchwartz and also that it should be installed in there20:06
pasky directory. Often, you'll need to be root.20:06
madewokherd it requires modifying the environment?20:06
RandalSchwartz you expect it to be psychic instead?20:06
how would it know?20:06
madewokherd know what?20:06
RandalSchwartz where to find non-root modules20:06
pasky something like ~/.perl ought to be in default @INC and perl -MCPAN should automatically install there if it notices it is not root20:06
madewokherd it can't pick a default place?20:06
pasky that's how I imagine "seamless"20:06
RandalSchwartz and where would it get *that* path?20:06
you have a bootstrapping problem here20:07
pasky well, it's, you know - default20:07
RandalSchwartz it can't be anythign to do with $HOME20:07
pasky why?20:07
RandalSchwartz because what happens when YOU run MY code?20:07
it'd break20:07
pasky how?20:07
jengelh RandalSchwartz: it works but I'd have no clue what you wrote :p20:07
Ilari Kagemaru: What does 'git remote' give?20:07
RandalSchwartz so that's why there's lots of options about that20:07
you can put it *into* the file20:07
or you can put it into your environment20:07
or some combination of both20:07
Kagemaru Ilari: origin and rubybot20:08
RandalSchwartz different advantages and disadvantages20:08
so it's seamless, when you choose the stitching pattern. :)20:08
Ilari Kagemaru: The default remote might be 'origin'.20:08
pasky RandalSchwartz: umm, okay :) not satisfyingly seamless for me20:09
brosner joined20:09
RandalSchwartz I still wonder how you would do it better20:10
Kagemaru Ilari: push rubybot works now... but it says "Everything up to date", although there's a new file locally but not remote :\20:10
hein2 joined20:10
aikidev joined20:10
Sho_ left20:10
hein2Sho_20:10
pasky RandalSchwartz: I already explained once, and I still don't understand what the problem would be20:10
RandalSchwartz because what happens when I run *your* code?20:11
Sho_ left20:11
pasky I don't understand20:11
RandalSchwartz it won't have access to YOUR installed modules20:11
pasky what special should happen?20:11
why not?20:11
RandalSchwartz because it'll look in MY home not yours20:11
since ~ is per-user20:11
pasky why would it?20:11
ah, you mean it this way20:11
well, then you gotta install the modules too20:11
RandalSchwartz ok - if you're gonna be that clueless, I won't argue it with you20:11
madewokherd I would do it better by using a real package manager :p20:11
gmcinnes joined20:11
gmcinnes left20:12
RandalSchwartz and you can get *that* behavior right now with envars20:12
you set an envar in your .login20:12
pasky yes, but you have to set them up manually20:12
RandalSchwartz and then you tell perl to install there20:12
pasky and that's my point20:12
RandalSchwartz so you have that BROKEN behavior already20:12
pasky again, manually20:12
RandalSchwartz broken in one way20:12
the other way that works better is to edit the file to include a "use lib"20:12
then it works for both you and me20:12
but it's a *different* thing you have ot do20:12
Perl lets you choose which kind of problem20:12
there's no way to do both TRANSPARENTLY20:13
that's the point20:13
you choose which you want to work20:14
not sure why that's so hard to reason out20:14
you just want a default that will BREAK for some class of people20:14
Sho_ joined20:14
RandalSchwartz I don't think that's a sane default20:14
pasky but I don't want to do both, and I never wanted; if I don't have module installed locally in my ~ or system-wide, I don't expect Perl to magically find it elsewhere20:14
aikidev left20:14
RandalSchwartz it's also a security risk20:14
pasky my problem is that Perl doesn't _let_ me choose, it _forces_ me to choose, and does not pick sensible default20:14
capisce_ left20:14
pasky so now it will BREAK of _everyone_20:14
RandalSchwartz that's because the default is wrong for most people20:14
ajonat left20:14
RandalSchwartz the ~ approach is wrong for most20:15
pasky how so?20:15
RandalSchwartz even though you would like it as a default20:15
dammit - see scrollback20:15
I don't like repeating myself20:15
pasky I've read all you wrote20:15
RandalSchwartz it breaks when *you* want to use *my* scripts20:15
or when we install things into a shared lib20:15
it's not sufficient for *most* users20:16
so why make it the default when it breaks things for *most* people20:16
leads them to a false sense of hope20:16
pasky but I almost _never_ care about running scripts of different users on the same system, and I don't see how would almost anyone care20:16
RandalSchwartz yeah - you're NOT THE NORMAL PERL USER20:16
get it?20:16
pasky no20:16
RandalSchwartz too bad20:16
pasky I think I'm pretty normal perl user20:16
RandalSchwartz I think you aren't20:16
pasky but why?20:17
RandalSchwartz and I would probably know better than you20:17
since I've been dealing with crazy perl users for 15 years20:17
madewokherd technically, normal perl users don't write or read perl20:17
RandalSchwartz but if you won't accept my broad view on this, then be that way.20:17
pasky okay, I guess...20:17
madewokherd they just have it installed so perl software works20:17
RandalSchwartz go ahead, discount my experience20:17
I don't care now.20:17
pasky tough to argue if you don't state any arguments :)20:17
RandalSchwartz MY EXPERIENCE20:18
WHAT I HAVE SEEN20:18
how do I recount that in IRC?20:18
danderson thinks everyone could stand to calm down, it's the weekend, and this is irc, hardly worth getting annoyed over20:18
pasky you could give some concrete example or something20:18
pasky is not getting annoyed, personally20:18
RandalSchwartz yes. MOST installations I've seen PEOPLE are using OTHER PEOPLE'S SCRIPTS20:18
for which ~/perl would MOST CERTAINLY BREAK20:18
I gave that example now three times20:19
maybe even four20:19
or five20:19
Mikachu RandalSchwartz: how is forcing them to set an env var and then installing the module better than only having them installing the module to the default ~/perl location before they run the script? your argument makes no sense20:19
RandalSchwartz how many more times do you want me to type that20:19
pasky well, most users I've seen actually use a single-user machine so there are no other people's scripts to use20:19
that's my experience20:19
and they almost certainly use some perl scripts20:19
RandalSchwartz Mikachu - for that type of usage, "use lib" is the proper solution20:19
which again doesn't rely on ~/perl20:19
or an envarr20:20
pasky you're creating some false dichotomy there, that solving one of the problems by default prevents solving the other one20:20
RandalSchwartz rolls eyes20:20
RandalSchwartz ok - triage time20:20
gram jengelh: at least a few years now20:20
RandalSchwartz you're not instructable here20:20
you won't accept my 15 years of teaching Perl as valid experience.20:20
so there's no point in me wasting my time20:20
pasky I'm accepting it as valid experience20:20
RandalSchwartz you. have. options.20:21
pasky but I don't accept blanket statement "I have more experience as you so I'm automatically right and you're wrong"20:21
RandalSchwartz if it's just for you, set an envar20:21
and that envar will break for others20:21
hence you have to "use lib" for others20:21
it's a dicotomy BECAUSE IT IS20:21
either you have the envar or you don't20:21
d0k joined20:21
RandalSchwartz how many f'ing times do I need to say that?20:21
Mikachu whether there's a default to ~/perl or not, you still have to set up a path to use modules from other users, i think that is quite obvious20:22
RandalSchwartz so the envar is the WRONG choice if you're sharing20:22
and it's the RIGHT choice if you're not20:22
Mikachu but why would setting it break other users more than not doing so?20:22
RandalSchwartz but in either case, why make it the DEFAULT choice?20:22
zachinglis left20:22
RandalSchwartz wanders off20:22
Ademan_ left20:23
pasky hm... I guess my argument did not sink in :(20:24
jengelh Each method introduces user-defined behavior.20:24
Kagemaru Ilari: still there?20:26
Ilari ...20:26
Kagemaru I'll take that as a yes >.>20:27
jengelh it's neither20:27
gnufied left20:27
Kagemaru push rubybot works now... but it says "Everything up to date", although there's a new file locally but not remote :\20:27
jengelh still need to commit...20:27
Kagemaru I did20:28
jengelh push the right branch20:28
Kagemaru uhm20:28
I think so?20:28
jengelh I don't?20:28
Kagemaru there's only master20:28
jengelh fire up gitk --all, see where master is, and see where origin/master is20:28
Ilari Kagemaru: How did you get that rubybot remote? Via 'git remote add'?20:29
Kagemaru git clone20:29
Mikachu Kagemaru: if you're expecting the working dir of the remote to update when you push, read the faq20:29
Ilari Kagemaru: Uh... Isn't the default remote from clone called 'origin'.20:29
koke left20:30
Kagemaru if I do 'git branch' it gives me *master20:30
if I do 'gitk --all' I see master and origin/master20:31
DJH__ joined20:31
pasky always wishes he'd called it 'trunk' instead of the silly 'master' name when reading these discussions ;)20:31
jengelh trunk is svn is forbidden20:31
pasky it makes more sense :)20:31
or even 'main'20:31
but, what's done is done ;)20:32
Ilari Kagemaru: If you do 'less .git/config', which settings you see in section '[remote rubybot]'? There should be 'fetch' and 'url' there...20:32
pasky: It is just a default in 'git init'.20:32
pasky well, its unfortunate legacy of cogito ;)20:33
Kagemaru just [remote "origin"] and [branch "master"]20:34
and [core] of course20:34
Angelic13 joined20:34
Kagemaru Mikachu: found it in the FAQ, thanks20:39
but what would be the expected way to do it?20:39
mtodd__ joined20:39
Mikachu you found it, but didn't read it? ;)20:39
Kagemaru I did20:39
it just.... goes a bit over my head20:39
u.u20:39
something about a hook20:39
Angelic13 left20:41
holizz Is there a way to make git-status greppable?20:42
What I want to do is something like "svn st | grep '?' | awk '{print $2}' | xargs rm" (deleting all files that the VCS doesn't know about).20:43
Mikachu holizz: man git-clean20:43
holizz Aha. Thank you.20:44
Mikachu also related, git-ls-files20:44
holizz git could be the new emacs, it has so many features.20:45
Kagemaru oh... I've seen it -_-... I stopped reading there cause I thought the link is only for people with firewall problems :P20:46
thanks for the help =)20:46
WALoeIII joined20:46
mtodd left20:47
Ilari Kagemaru: The stuff in [] is section headers. There are options after those section headers.20:47
albertito left20:47
poildur joined20:47
cbrakecbrake_away20:47
aroben_ joined20:48
mtodd joined20:50
poildur left20:51
drizzd_ how can I push only annotated tags?20:53
Kagemaru Ilari: thanks for the help, 'git push' works as expected now =)20:54
com4 joined20:54
Ademan joined20:55
pior joined20:55
pior left20:55
Ilari drizzd_: I don't know any built-in way, but use git-for-each-ref and some text manipulation utils to get list of objects of type 'tag' in refs/tags and pass those to git push...20:56
mtodd__ left20:57
aroben left20:57
drizzd_ ok, because non-annotated tags have no objects associated with them, only refs. right?20:57
hipertracker_ joined20:57
ToxicFrog left20:57
jengelh well they have the commit associated20:57
but it's a ref basically20:58
mvanholstyn joined20:59
robin_ joined21:00
d2dchat joined21:01
drizzd_ ok, so git-for-each-ref refs/tags | sed 's/.*tag\t//' seems to do the trick21:01
and then i can just do | xargs git push origin21:02
Ilari drizzd_: Or 'git push origin `...`' where ... prints the list of those tags...21:02
drizzd_: Hmm... That sed looks bit odd...21:03
WALoeIIIWALoeIII_em21:03
drizzd_ maybe it's too minimalistic21:04
bigfleet joined21:05
Ilari drizzd_: It should rewrite all matching lines and remove all nonmatching ones...21:06
drizzd_ yeah, it does21:07
Ilari drizzd_: Also, using the `` operator won't work, since the command should not be executed if nothing matches...21:07
brosner left21:07
PrOmEte joined21:07
manveru_manveru21:07
PrOmEte left21:08
aroben_ left21:08
Ilari drizzd_: It doesn't appear to remove nonmatching ones...21:10
drizzd_ Ilari: yes, of course. you're right. mea culpa21:10
kyevan joined21:10
drizzd_ git-for-each-ref refs/tags | sed -n 's/.*tag\t//p' is what we want21:10
Ilari drizzd_: You have multiple annotated tags and at least one non-annotated one for testing?21:11
hipertracker left21:13
GyrosGeier left21:24
jdavis If I have modifications to some file and I have not added it to the index, how do I revert those changes?21:27
Ilari jdavis: 'git checkout -- file'.21:29
priidu left21:29
jdavis what do the "--" mean before the file?21:30
Ademan left21:30
priidu joined21:32
Ademan joined21:32
jdavis Ilari: I'm assuming it means the current branch... anyways, it worked perfectly. Thanks.21:32
Ilari jdavis: It means 'filenames follow'.21:34
pfs0_ joined21:35
Ilari jdavis: Current commit/branch is called 'HEAD'. 'git checkout HEAD -- file' "revert file to version in last commit in this branch". Without any commit specified, it defaults to staged version.21:35
mvanholstyn left21:36
Beket left21:36
jdavis Ilari: I see, thanks.21:37
_zack left21:39
Michelangelo joined21:40
d2dchat left21:41
Michelangelo left21:41
brosner joined21:41
tommorris joined21:41
strangy left21:45
WALoeIII_em left21:45
radarek joined21:46
hipertracker joined21:47
pfs0 left21:48
WALoeIII joined21:50
WALoeIIIWALoeIII_small_t21:51
tommorris left21:52
holizz left21:53
priidu left21:53
tommorris joined21:56
lucs left21:57
kyevan Hmm.21:59
Er, wrong window22:00
d2dchat joined22:00
tko left22:01
ndim left22:01
felipec left22:07
peeja_ joined22:09
d0k left22:09
_graham_ left22:10
mithro joined22:12
hipertracker_ left22:14
zachinglis joined22:15
mattf left22:16
BabelO left22:18
jlh_jlh22:18
pilifpilif|away22:19
gitte joined22:20
bootie joined22:20
Ramune joined22:22
peeja left22:23
igorgue_ joined22:26
lea_w Is there some reason the Git test suite uses /bin/sh rather than bash?22:26
igorgue left22:27
lea_w I'm trying to implement some a new feature in test-lib.sh, and keeping Bourne Shell compatibility is just painful.22:27
thiago_home does it use anything bash specific?22:27
lea_w Yup.22:27
gitte lea_w: some platforms do not have bash installed by default. For example Ubuntu.22:28
lea_w gitte: I'm pretty sure Ubuntu has bash ;-)22:28
gitte What bash specifics do you think you cannot live without?22:28
lea_w: not by default. That is what I am saying.22:28
lea_w: it uses _dash_.22:28
So again, what bashism do you absolutely want?22:28
vmiklos gitte: hey :) are you before or after the travel?22:29
gitte Before.22:29
lea_w gitte: thiago_home: I'm trying to get the return value of the first command in a pipe.22:29
vmiklos ah.22:29
gitte vmiklos: In 7 hours...22:29
lea_w So I need pipefail or process substitution.22:29
gitte lea_w: why don't you use temporary files for that?22:29
lea_w Because I need continuous output.22:30
ychat joined22:30
lea_w It's test output from external test scripts that get piped through sed/.22:30
sed.22:30
I'd much rather use pipefail than create a FIFO.22:30
gitte And "(xyz || do_something_drastic) | sed" does not do what you need?22:31
lea_w (Piping things through FIFO is asking for trouble, I think.)22:31
gitte I think you are trying to do something too cute.22:31
Test scripts should be simple, first and foremost.22:31
redondos_ joined22:31
lea_w Yes, but you want the output to be readable.22:31
gitster I won't accept any script that does not run under /bin/dash; period.22:31
lea_w Btw, Ubuntu has bash, only /bin/sh is dash. So how about changing everything to #!/bin/bash?22:32
gitster One obvious exception is contrib/completion/git-completion.bash22:32
pombreda left22:32
gitte lea_w: I want the output to be readable, but if that takes too cute constructs, I'd rather live without something readable. As long as you can find out _easily_ if it is a bug in the tested program or the test script.22:32
lea_w: why are you so married to breaking compatibility?22:32
thiago_home lea_w: if your program is too complex, maybe it shouldn't be a shell script in the first place22:33
pygi left22:33
lea_w gitte: I'm not married to breaking compatibility! I just want to indent the output of a test script, because otherwise the output will be pretty unreadable.22:33
thiago_home: It needs to be in test-lib.sh. :(22:33
gitte lea_w: I doubt that indenting changes much, as far as readability is concerned.22:34
lea_w: besides, the output will _only_ be read if the test fails.22:34
lea_w gitte: Yes it does, trust me. I've seen it.22:34
No, the output is continuous "ok" output. I don't care about indenting failure output.22:34
gitte lea_w: so wasting time on making it pretty, breaking compatibility with non-bash-yet-posix shells, is, uhm, not desirable.22:34
lea_w So what's wrong with turning /bin/sh into /bin/bash?22:35
VitaRara_ joined22:35
gitster there are platforms without bash.22:35
lea_w gitte, gitster?22:35
gitster: What platform?22:35
gitte lea_w: why don't you see that? Other people do prefer other shells, and just _not_ want bash!22:35
lea_w *confused*22:35
gitster keep number of files that begins with "#!/bin/bash" to the minimum.22:36
gitte lea_w: that's what posix is for: it is a lowest common denominator.22:36
lea_w Every platform I know has bash installed22:36
Well, okay. *shrugs*22:36
gitte lea_w: anyway, arguing for bash when everybody tells you not to, is not only a waste of time for you.22:36
pombreda joined22:36
gitte lea_w: Windows?22:36
lea_w: VMS?22:36
gitster Maybe you do not know enough platforms. I have debian and ubuntu installations without bash.22:36
jast windows doesn't have posix sh either ;)22:37
lea_w gitster: Wow. Okay, never mind then. :)22:37
gitte lea_w: small Linux installations with BusyBox?22:37
jast oh, yeah. one of those is actually running in my apartment22:37
gitster I am not crazy enough to do so on my primary machine, but that is not a good reason to force people to install /bin/bash22:37
jbunster joined22:37
jast i always force people to install zsh ;)22:38
gitte Anybody who ever looked at the source code of bash will try to avoid it, anyway.22:38
jast just out of spite22:38
gitte jast: that is spiteful, alright.22:38
jast (in fact i don't. i don't release my shell scripts.)22:38
raster_burn joined22:38
d2dchat left22:39
gitte lea_w: seriously, coming back to your problem: if your output consists only of "ok"s, then I think you might need to rethink the test a bit.22:39
lea_w: for example, there is nothing wrong with using separate "test_expect_success" clauses for different tests.22:39
bigfleet left22:41
zachinglis left22:41
WALoeIII_small_t left22:41
adante_ joined22:41
igorgue_igorgue22:42
DJH__ left22:42
christastrophe left22:42
ckoehler left22:42
cehteh left22:42
Mikachu left22:42
tjafk1 left22:42
jpieper left22:42
panagos_ left22:42
lea_w left22:42
doener left22:42
adante left22:42
AlexanderS left22:42
ft left22:42
shad left22:42
G_SabinoMullane left22:42
ruskie left22:42
dvorak_ left22:42
bdowning left22:42
ska-fan left22:42
kyevan left22:42
solatis left22:42
jezdez left22:42
tpope left22:42
mika left22:42
pigeon left22:42
halorgium left22:42
sr left22:42
Strogg left22:42
Cap_J_L_Picard left22:42
nutrimatt left22:42
Bombe left22:42
tmm1 left22:42
metze_away left22:42
[dmp] left22:42
adante_adante22:42
VitaRara left22:42
bdowning joined22:43
redondos left22:43
redondos_redondos22:43
Strogg joined22:43
kyevan joined22:44
DJH__ joined22:44
christastrophe joined22:44
ckoehler joined22:44
cehteh joined22:44
Mikachu joined22:44
tjafk1 joined22:44
jpieper joined22:44
panagos_ joined22:44
sr joined22:44
lea_w joined22:44
doener joined22:44
AlexanderS joined22:44
ft joined22:44
shad joined22:44
G_SabinoMullane joined22:44
ruskie joined22:44
Bombe joined22:44
pigeon joined22:44
jezdez joined22:44
ska-fan joined22:44
tmm1 joined22:44
nutrimatt joined22:44
tpope joined22:44
halorgium joined22:44
dvorak_ joined22:44
solatis joined22:44
mika joined22:44
[dmp] joined22:44
Cap_J_L_Picard joined22:44
metze_away joined22:44
ska-fan left22:44
metze_away left22:44
metze_away joined22:44
ska-fan joined22:44
solatis left22:44
solatis joined22:44
Cap_J_L_Picard left22:44
sr left22:44
sr_ joined22:44
mika left22:44
pygi joined22:44
mika joined22:44
ft left22:44
ft joined22:45
ychat left22:45
sr_sr22:45
SRabbelier how could I go about listing files changed in a commit?22:47
jbunster left22:47
jbunster joined22:47
SRabbelier e.g., I want --name-status22:47
but for a specific commit22:47
Pieter git log --name-status -1 --pretty="format:" HEAD^^22:48
SRabbelier Pieter: it gives a bonus newline, lol :P22:49
cos of the format:?22:49
also, is it ok to use git log in a script like that?22:50
Pieter I think so.. you might want to look at git whatchanged too though22:51
Mikachu there's git diff --name-only sha1^..sha1 too22:51
SRabbelier Pieter: whatchanged is nice, bug I don't want the log msg -mutters-22:52
Surfer58 joined22:52
Surfer58 Visit http://www.FakeMagazineCover.com (upload pic make mag) - http://www.SillyWebcam.com (play with webcam online) - http://www.Is-A-Jerk.com (insulter/anon email) - http://www.ComedySearchEngine.com (fun) - http://www.BodySwitcher.com (put your face on funny body) - http://www.MedChecker.com (health) - http://www.Canuckster.com (Canada eh) - http://www.Nerdful.com (geeks)22:52
SRabbelier Mikachu: mhhh, sounds a bit contrieved, but that would be what I want22:52
Surfer58 left22:52
SRabbelier sigh22:52
SRabbelier spam on IRC now too? sheesh22:53
Pieter SRabbelier: whatchanged takes the --pretty option too :)22:53
jengelh SRabbelier: it's older than smtp-spam.22:53
SRabbelier jengelh: I thought they gave up on IRC spam22:53
jengelh SRabbelier: %-ally, yes. But that does not rule out there are still some idiots around.22:53
Pieter fake magazine covers? cool22:53
jengelh SRabbelier: also, it only really works when channels are +R or +m22:54
deavid joined22:54
SRabbelier jengelh: yeah, I guess that's true... mhh22:54
Mikachu: it doesn't eat the commit22:54
Mikachu: complaining about it beign an unknown revision22:55
Pieter SRabbelier: it won't work on the first commit in a repo22:55
the git log thing will though22:55
SRabbelier oh, gah, such a silly mistake22:55
ok ok :P22:55
goibhniu joined22:56
SRabbelier I'll go for git log and take the free newline as an added bonus22:56
(we need a --pretty=none)22:56
strangy joined22:56
Pieter send in a patch :)22:56
SRabbelier why don't we have one?22:56
where's pretty parsed?22:57
builtin-pretty.c? :P22:57
gitte pretty.c22:57
--pretty=raw?22:57
SRabbelier crawls under a rock22:57
SRabbelier gitte: no, not raw, none!22:58
like, don't show anything22:58
gitte GIT_PAGER="cat > /dev/null" git log22:58
;-)22:58
SRabbelier gitte: erm, but, I do want the --name-stat part :P22:59
what I want is a nice hack to get git log to only give me the --name-stat :)22:59
gitte git diff <commit>^..<commit> --name-stat22:59
SRabbelier yy, was suggested, but doesn't work for first commit22:59
gitte Oh, okay.22:59
How about "git log --pretty=format:" then?23:00
SRabbelier also23:00
it feels kinda.. dirty :(23:00
gitte: yeah, that was what we were thinking off23:00
gitte: but it gives a bonus newline23:00
gitte: which I don't need, hence I came up with --pretty=none :)23:00
gitte I think the extra newline comes from the --name-stat part.23:00
SRabbelier hmmm, no23:00
well, that is23:01
Pieter I wonder how much faster a --pretty=none would be compared to --pretty=format:23:01
SRabbelier it didn't when I used it with git-diff-index23:01
Pieter: possibly not a lot? I just don't want the newline! :P23:01
ok, pretty.c is unreadable to the untrained eye :P23:02
thiago_home left23:02
albertito joined23:02
Pieter I think it's okay23:02
SRabbelier I think... I need to edit somewhere in the bottom most function23:02
Pieter I tried to figure out the insert/get_marks thing in fast-export.c today23:02
DJH__ left23:02
Pieter took me some time to figure out what happened there23:03
jbunster left23:03
rubbish joined23:03
SRabbelier /* Make sure there is an EOLN for the non-oneline case */23:03
if (fmt != CMIT_FMT_ONELINE)23:03
strbuf_addch(sb, '\n');23:03
I think that's the offending bit23:04
I suspect changing it to if(fmt != CMIT_FMT_ONELINE && fmt != CMT_FMT_NONE)23:04
gitte From a simple gdb run, I know that the newline comes from line 315 in log-tree.c.23:04
Function show_log()23:05
d2dchat joined23:05
gitte putchar(opt->diffopt.line_termination);23:05
SRabbelier gitte: whow, skills23:05
Yuuhi left23:05
gitte It's in an if() clause that does trigger when !opt->use_terminator.23:05
panagos_ left23:06
trochala left23:07
SRabbelier you're using a different version I think23:07
if (opt->use_terminator)23:07
putchar('\n');23:07
gitte is on 'next' + patches23:07
SRabbelier ehe23:08
mhh, so I'll just have to parse away those newlines, yes?23:08
no easy way around it?23:08
ironfroggy joined23:15
simosx joined23:16
gitte I think the easiest would be to detect a root commit (via git rev-parse --verify), and replace <commit>^.. by --root, and go with git-diff.23:17
bigfleet joined23:18
Mikachu if you want easiest, just do blabla sha1^..sha1 2> /dev/null || blabla --root sha1 :)23:18
SRabbelier you think that is easy? :P23:19
gitte: mhhh... I did it with git log, I'll take the "if len(line.lstrip()) == 0: continue" and go with git log23:19
no need to check for root23:19
ckoehler left23:20
gitte But making the source ugly.23:20
SRabbelier and no 'complex' stuff with redirecting output from python :P23:20
ugly? why is it ugly?23:20
hipertracker left23:21
SRabbelier http://rafb.net/p/jxnojI78.html23:21
brosner left23:22
nice_burger joined23:22
sudocoup joined23:22
mvanholstyn joined23:22
sudocoupgitmachine23:22
gitmachine evening all23:23
gitmachinegitdrunk23:23
SRabbelier oh dear...23:23
gitte: ping? :D23:23
gitdrunkgitonup23:23
gitonupsudocoup23:23
gitte SRabbelier: because you are not really logging commits, are you?23:24
sudocoup cant have a git like nick in here really23:24
gitte You are really interested in the names of the diff.23:24
SRabbelier gitte: ah, mhhh, you mean it's "abusing" git log?23:24
gitte Yes. Anyway, gotta go.23:25
SRabbelier gitte: mhhh, point taken, thanks for the advice :)23:25
WALoeIII joined23:27
johan-s left23:28
johan-s joined23:28
WALoeIIIWALoeIII_skynet23:30
Pieter SRabbelier: http://git.pastebin.com/m7f2d7999 ;)23:35
anyway, it's not much quicker than format: :)23:35
SRabbelier Pieter: hehe, nice, it still prints the newline though?23:36
Pieter I guess.. just add another if ;)23:37
mithro_ joined23:37
SRabbelier Pieter: also, gitte's point still stands, I'm using git log to do something it was "not intended for" (OTOH, there isn't really something to do what I want.. the sha^...sha construct is a bit ugly imho :-/)23:37
it sorta violates DRY23:37
Pieter there was a debate about that on the mailing list.. there are things that rev-list can do that log can't, and vice versa23:38
like --name-status23:38
mithro left23:38
SRabbelier ah, yes, I read that :)23:38
mithro_mithro23:38
SRabbelier (well, I read all the mails, but I read that one with slightly more attention :P)23:38
what I want is git-showmewahtchangedincommit sha23:39
sudocoupinvalidrecord23:40
ironfroggy left23:41
invalidrecordgitlifo23:44
gitlifogitrsl23:44
gitrslgitlaid23:44
gitlaidsudocoup23:45
zachinglis joined23:46
sudocoupinvalidrecord23:47
devogon left23:49
zachinglis left23:54
mithro_ joined23:57
mithro left23:58
gitte left23:59
raster_burn left23:59

Logs Search ←Prev date Next date→ Channels Documentation