| 2008-05-31 |
| → juanjoc joined | 00:04 |
| ← piclez left | 00:04 |
| → spearce` joined | 00:05 |
| ← juanjoc left | 00:07 |
|
Eridius|work
| wtf? git-read-tree -m isn't merging | 00: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 hand | 00:08 |
|
| I have two parentless commits which each create a different file | 00:08 |
|
| git read-tree A; git read-tree -m B | 00:08 |
|
| I would expect the index to now have both files, but no | 00:08 |
|
vmiklos
| why do you use read-tree for that? | 00:08 |
| → david_koontz joined | 00:08 |
|
vmiklos
| git-merge handles this | 00:09 |
|
Eridius|work
| oh wait, I must be misunderstanding read-tree. apparently I can pass multiple tree-ishs | 00:09 |
|
| vmiklos: I'm trying to ensure I understand every detail of the commit obj construction, so I'm using plumbing | 00: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 manual | 00:10 |
|
Eridius|work
| I'm reading that now | 00:10 |
| → rwanderley joined | 00:11 |
| → ekidd joined | 00:12 |
| ← devogon left | 00:12 |
| ← devogon__ left | 00:12 |
| ← ben_h left | 00:13 |
| → brosner joined | 00:20 |
| ← spearce left | 00:22 |
| ← mattf left | 00:24 |
|
| pasky is maybe for the first time ever writing some gui application for real | 00:24 |
|
mutex
| ummm | 00:25 |
|
pasky
| GTK such so much, but still it's strangely enjoyable :) | 00:25 |
|
| *sucks | 00:25 |
|
mutex
| can I convince git apply to patch even if there is a conflict in the index ? | 00:25 |
|
| err git stash apply | 00:25 |
| ← pombreda left | 00:26 |
|
vmiklos
| that would be bad. | 00:27 |
|
| you should not have conflicts when you apply anything, as that could lead to a new conflict | 00:27 |
|
mutex
| well | 00:27 |
|
| i cherry picked a fix from another branch | 00:28 |
|
dotsintacks
| how do I "checkout" a remote branch? | 00:28 |
|
mutex
| after stashing my work | 00:28 |
|
| then tried to reapply teh stash | 00:28 |
|
dotsintacks
| so that I can push changes back to the branch | 00:28 |
|
vmiklos
| git checkout -b localbranch remote/branch; hack hack hack; commit; push | 00: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 squash | 00:29 |
| ← ekidd left | 00:29 |
|
| mutex head explodes | 00:30 |
|
mutex
| heh | 00:31 |
|
doener
| git doesn't support that, can only detach heads, not make them explode | 00:31 |
|
| mutex snickers | 00:31 |
| → rubbish joined | 00:32 |
| ← redondos left | 00:33 |
| → mattf joined | 00:35 |
| → pombreda joined | 00: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 asks | 00:41 |
| ← BabelO left | 00:42 |
| ← datafirm left | 00:42 |
| ← pombreda left | 00:43 |
| → pombreda joined | 00:44 |
|
vmiklos
| :) | 00:46 |
| ← tvachon left | 00:47 |
|
mutex
| so what does '--' stand for | 00:47 |
|
Mikachu
| end of revisions, start of files | 00:48 |
|
mutex
| ah | 00:48 |
|
Mikachu
| or if you prefer, "everything to the left is a revision, everything to the right is a file" | 00:48 |
|
mutex
| makes sense | 00:48 |
|
Mikachu
| sometimes just a trailing -- makes a command work where it wouldn't without it | 00:48 |
| ← madewokherd left | 00:49 |
|
Mikachu
| touch master, git checkout master doesn't work, but git checkout master -- does work | 00:49 |
| → a-priori_ joined | 00: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 breaks | 00:51 |
| → threeve joined | 00:59 |
| → madewokherd joined | 01:02 |
| → Ramune joined | 01:05 |
| ← jamessharpe left | 01:05 |
| ← a-priori left | 01:05 |
| → doener_ joined | 01:07 |
| → Leefmc joined | 01:07 |
| → gcarrier joined | 01: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 joined | 01:13 |
| → datafirm joined | 01:14 |
|
Mikachu
| the what feature? | 01:14 |
|
doener_
| guess he means status -v | 01:17 |
|
gcarrier
| doener_: sorry, git commit -v | 01:17 |
|
| i'd like to tweak my commit directly using some diff version | 01:18 |
|
| i speak diff :) | 01:18 |
| → capisce joined | 01:18 |
| ← igorgue left | 01:18 |
| ← doener left | 01:19 |
| ← robin_ left | 01:22 |
| ← capisce_ left | 01:22 |
| → sverrej joined | 01:24 |
| ← Yuuhi left | 01:26 |
| ← pombreda left | 01:26 |
| ← strangy left | 01:26 |
| → pflanze joined | 01: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 me | 01:30 |
|
Ilari
| IIRC, there was some stuff, but it does not do a lot... | 01:33 |
|
| http://repo.or.cz/w/git/libgit-gsoc.git | 01:34 |
| ← sgrimm left | 01:37 |
|
pflanze
| libgit-thin, yep, I think was the name. | 01:37 |
| ← Leefmc left | 01: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 left | 01: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 left | 01: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 joined | 01: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 browser | 01:44 |
|
pflanze
| yes, I see the gitweb instance but I don't see any hint how to clone | 01:44 |
|
doener_
| "Mirror URL" | 01:44 |
|
pflanze
| ah, Mirror url | 01:44 |
|
| d'oh | 01:44 |
|
| (I somehow expected an icon or something at the top) | 01:46 |
| ← ruphy left | 01: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 left | 01:55 |
| ← Eridius|work left | 01:57 |
| → Eridius|work joined | 01:57 |
| → Antrover joined | 01:59 |
| → destruct_ joined | 02:03 |
| ← mattf left | 02:08 |
| ← timocratic left | 02:13 |
|
pflanze
| Hm. | 02:13 |
| ← rubbish left | 02: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 left | 02:14 |
|
Ilari
| pflanze: That would be quite difficult... | 02:14 |
|
vmiklos
| hehe, the key word is automatucally | 02:14 |
|
| i don't think that can be automated | 02: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 rooock | 02: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 commit | 02:18 |
|
| but i need to track which files were in the index | 02:18 |
|
| else, seems good | 02:18 |
|
| i mean, at least the general idea | 02:19 |
|
| but not efficient at all | 02: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 feature | 02:20 |
| → cored joined | 02:21 |
|
cored
| hi guys | 02:21 |
|
| i just made some changes to a file inside my new repo | 02: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 joined | 02: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 faq | 02: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-3aa45c7d75d40068e07231a5bf8a1a0db9a8b717 | 02: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: thanks | 02:24 |
|
vmiklos
| cored: yes, the link is for you | 02:24 |
|
cored
| vmiklos: thanks | 02: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 left | 02: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 left | 02:28 |
|
pflanze
| even by the then (if the pool was malloc'ed). | 02:28 |
|
| by the *GC | 02:28 |
| → dcrawford_ joined | 02:29 |
| → igorgue joined | 02: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 left | 02: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 empty | 02: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 left | 02:34 |
|
pflanze
| yeah speed | 02:34 |
|
| I'm looking at using Git as storage engine for (web) applications, | 02:35 |
| → ekidd joined | 02: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 left | 02: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 left | 02:39 |
| ← ekidd left | 02: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 joined | 02:40 |
|
cored
| vmiklos: sorry for bothering you again | 02:40 |
|
| vmiklos: after doing the commit | 02: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 there | 02:40 |
|
Ilari
| cored: You did another clone of the repository? | 02:41 |
|
cored
| yes | 02:41 |
|
vmiklos
| http://git.or.cz/gitwiki/GitFaq#head-b96f48bc9c925074be9f95c0fce69bcece5f6e73 | 02:41 |
|
| please, read over the faq | 02:41 |
|
| pflanze just realized that C++ actually *does* offer inner classes as it seems | 02:41 |
|
cored
| vmiklos: ok | 02:42 |
| ← shoe left | 02: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
| wait | 02:43 |
|
Ilari
| cored: Each clone of Git repository is complete stand-alone repository itself. | 02:46 |
|
cored
| ok | 02:46 |
|
| i think the problem is because i did a git remote add another repo | 02:46 |
|
| which i don't have permissions to write there | 02:47 |
|
| maybe that's why i can't make the push what do you think ? | 02:47 |
|
DrNick
| pflanze: not exactly | 02: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 sense | 02:47 |
| → tongueroo joined | 02: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 left | 02:48 |
|
cored
| Ilari: how can i go back to use my repo and not any ref to the remote | 02:48 |
|
| ? | 02:48 |
| → SuttoL joined | 02: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 thing | 02:49 |
| → duck1123 joined | 02:49 |
| → imyousuf joined | 02:49 |
|
Ilari
| cored: Well, you can just ignore the remote reference... | 02:49 |
|
cored
| hm | 02:51 |
|
| well it's looks like is another thing | 02:51 |
|
| because after the push command i'm getting an error | 02:51 |
|
| and the url is pointing is to my own repo | 02:51 |
|
| fatal: The remote end hung up unexpectedly | 02:51 |
|
Ilari
| cored: Is there any other errors (such as "...can't chdir...") before it? | 02:52 |
|
cored
| nop | 02:53 |
|
| after i have this one | 02: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 joined | 02:55 |
| ← Eridius|work left | 02: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 see | 02:57 |
| → loops joined | 02:57 |
|
cored
| so i have to re clone it using the ssh url | 02:57 |
|
Ilari
| cored: Maybe edit '.git/config'. The URL is there... | 02:57 |
| ← duck1123 left | 02:58 |
|
Ilari
| cored: Or 'git config remote.origin.urk <new URL>'. | 03:00 |
|
| *'git config remote.origin.url <new URL>'. | 03:00 |
|
Ken69267
| indeed | 03:02 |
| ← Ken69267 left | 03:02 |
| ← kanru left | 03:03 |
| → rubbish joined | 03:03 |
| → spearce joined | 03:05 |
| ← rwanderley left | 03:06 |
| ← flaguy left | 03:14 |
| → aroben_ joined | 03:17 |
| ← aroben left | 03:17 |
| → capisce_ joined | 03:19 |
| ← loops left | 03:21 |
| ← spearce` left | 03:21 |
| ← doener_ left | 03:22 |
| ← dcrawford_ left | 03:22 |
| ← capisce left | 03:23 |
| ← gcarrier left | 03:24 |
| ← a-priori_ left | 03:27 |
| ← Aughey left | 03:41 |
| → warthog9 joined | 03:41 |
| → ekidd joined | 03:42 |
| → threeve_ joined | 03:45 |
|
cored
| Ilari: thanks for all your help | 03:47 |
| ← cored left | 03:47 |
| → mvanholstyn joined | 03:49 |
| ← ekidd left | 03:53 |
| ← mvanholstyn left | 03:54 |
| → theperitus joined | 03:55 |
| ← threeve_ left | 03:57 |
| ← SuttoL left | 03:57 |
| → SuttoL joined | 03:57 |
| ← aroben_ left | 03:59 |
| ← threeve left | 04:02 |
| → aroben joined | 04:02 |
| ← rubbish left | 04:04 |
| → eternaleye joined | 04:08 |
| ← jeffpc left | 04:10 |
| → Surfer15 joined | 04: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 left | 04:10 |
| → tjafk1 joined | 04:10 |
| ← daperitus left | 04:11 |
| → jeffpc joined | 04:11 |
|
Eridius
| I wish freenode would kline this Surfer## spammer | 04:11 |
| ← madewokherd left | 04:16 |
| → spearce` joined | 04:17 |
| ← SuttoL left | 04:18 |
| → jwasson joined | 04:19 |
| ← pflanze left | 04:20 |
| ← tjafk2 left | 04:27 |
| ← jroes left | 04:27 |
| ← eikonos left | 04:29 |
| → kanru joined | 04:31 |
| ← spearce left | 04:34 |
| → cmo-0 joined | 04:35 |
| → bootie joined | 04:37 |
| → ckoehler joined | 04:40 |
| ← spearce` left | 04:44 |
| ← Eridius left | 04:46 |
| ← ckoehler left | 04:49 |
| → sgrimm joined | 04:53 |
| ← cmo-0 left | 04:54 |
| ← ggeecko left | 04:59 |
| → ggeecko joined | 04:59 |
| ← jeckel left | 05:05 |
| → ggeecko_ joined | 05:05 |
| → cmo-00 joined | 05: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 unexpectedly | 05:12 |
|
tpope
| cmo-00: the first is cloning fine for me | 05:13 |
|
| still in progress but it's a slow hotel connection | 05:13 |
|
cmo-00
| tpope: this is on my office pc, at home it works perfectly | 05:15 |
|
halorgium
| cmo-00: maybe the port is blocked | 05:17 |
|
| dropping your request packets | 05:17 |
| → ruphy joined | 05: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/tcp | 05:20 |
|
| 1.5.4 | 05:20 |
|
tpope
| you shouldn't need 9418 forwarded | 05:20 |
|
cmo-00
| i have a git-daemon on the office server also | 05:20 |
| → gnufied joined | 05: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
| no | 05:24 |
|
| but if you have dirty files in your tree, it brings them along | 05:24 |
|
| on the theory that you really wanted to check them into a different branch, but forgot to switch to that first | 05: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 those | 05:25 |
|
| dirty = anything "git status" complains about | 05: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 doing | 05: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 joined | 05: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 left | 05:27 |
|
gnufied
| yeah, I understand the flow now. | 05:27 |
|
RandalSchwartz
| eh? | 05:28 |
|
| you're not answering me? | 05:28 |
|
| which was it | 05: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 switching | 05:28 |
|
RandalSchwartz
| right | 05: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 first | 05: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 things | 05:29 |
|
| oh - then yes, commit first | 05:29 |
|
| you can always unwind the commit later | 05:30 |
|
| essentially a managed git-stash | 05:30 |
|
gnufied
| yeah. right o | 05:30 |
|
RandalSchwartz
| cmo? | 05:30 |
|
| RandalSchwartz hangs out "the doctor is IN" sign | 05: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 left | 05:31 |
|
RandalSchwartz
| that clone is working for me | 05:31 |
|
| ... git clone git://github.com/bruce/rtex.git | 05:31 |
|
| yes. just finished. | 05:32 |
|
cmo-00
| tpope: git clone git://git.savannah.nongnu.org/stumpwm.git | 05:32 |
|
| tpope: but note git clone git://github.com/bruce/rtex.git | 05:32 |
|
RandalSchwartz
| cmo-00 - that github clone works for me | 05:32 |
| → rubydiamond joined | 05:32 |
|
cmo-00
| but not for me | 05:32 |
|
RandalSchwartz
| what version of git do you have? | 05:32 |
|
cmo-00
| 1.5.4 | 05:33 |
| → ckoehler joined | 05:33 |
|
RandalSchwartz
| ooooh | 05:33 |
|
| that version is so, like, two months ago | 05:33 |
|
| please upgrade | 05:33 |
|
cmo-00
| even with 1.5.5 from sources the same happend | 05: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 |
|
| heh | 05:33 |
|
rubydiamond
| How do I uninstall Git from my macbook... which I installed from source.... I want to upgrade it | 05: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 dirs | 05:34 |
|
rubydiamond
| RandalSchwartz: no.. | 05:34 |
|
| its in default dirs | 05:34 |
|
RandalSchwartz
| good luck cleaning then | 05:34 |
|
rubydiamond
| RandalSchwartz: hmm | 05:34 |
|
gitster
| isn't the default /home/$user/bin? | 05:34 |
|
rubydiamond
| is there any uninstall script? | 05:35 |
|
RandalSchwartz
| not that I've seen | 05:35 |
|
gitster
| I do not think so. | 05:35 |
|
rubydiamond
| its there in usr/local/bin/git | 05:35 |
|
RandalSchwartz
| default what? | 05:35 |
|
| this is why I use PREFIX=/opt/$project for everything I install locally | 05:35 |
|
| so I can undo it. | 05:36 |
|
rubydiamond
| I hope there is some uninstall script and I will just run it to install it | 05:36 |
|
RandalSchwartz
| rubydiamond - as we have just said, not likely | 05:36 |
|
rubydiamond
| RandalSchwartz: how do u undo it | 05:36 |
|
| hmm | 05:36 |
|
gitster
| well you can install it again and see what's installed ;-) | 05:36 |
|
RandalSchwartz
| "u"? | 05:36 |
| → loops joined | 05: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/git | 05:36 |
|
cmo-00
| /usr/bin/git | 05:36 |
|
RandalSchwartz
| if it's in /opt/git, I can tell everything that is installed | 05:37 |
|
| it's in /opt/git/bin/* | 05:37 |
|
| and /opt/git/lib/* | 05:37 |
|
| etc | 05:37 |
|
rubydiamond
| RandalSchwartz: oh sorry sir | 05:37 |
|
RandalSchwartz
| I want to remove git... | 05:37 |
|
| I say rm -rf /opt/git | 05:37 |
|
| and it's all gone | 05:37 |
|
| easy | 05:37 |
|
rubydiamond
| oh.. | 05:37 |
|
RandalSchwartz
| 30 years of Unix | 05: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: oh | 05:37 |
|
RandalSchwartz
| the new install will overwrite the old though | 05:38 |
|
| so you upgrade just by... upgrading. :) | 05:38 |
|
rubydiamond
| yeah... seems good way to upgrade it.. | 05:38 |
|
| will try it | 05: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 /opt | 05: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 RandalSchwartz | 05:39 |
|
| RandalSchwartz bows | 05:39 |
|
| RandalSchwartz hits head on desk | 05:39 |
|
RandalSchwartz
| ouch! | 05:39 |
|
rubydiamond
| jwasson: so.. you use Git on unix machines | 05:39 |
|
RandalSchwartz
| hi gitster, by the way | 05:39 |
|
rubydiamond
| I mean Windoze machines | 05: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 asked | 05:40 |
|
jwasson
| I was joking. | 05:40 |
|
rubydiamond
| jwasson: msysgit looks nice | 05:41 |
|
| jwasson: oh | 05: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 then | 05:41 |
|
| yes. 32 *K* | 05:41 |
|
| not meg | 05:41 |
|
jwasson
| You've got me beat, I only started using Linux 15 years ago. | 05:41 |
|
RandalSchwartz
| 22 system calls | 05:41 |
|
| Linux isn't unix | 05:41 |
|
| it's sorta unix like | 05:42 |
|
| except where it's wildly different | 05:42 |
|
jwasson
| I used Xenix a little back then as well. | 05:42 |
|
RandalSchwartz
| I won't run linux on anything that matters | 05: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 joined | 05: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 channel | 05: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 works | 05:45 |
| → gmcinnes joined | 05:45 |
|
RandalSchwartz
| take a look at the security alerts against linux vs those against openbsd | 05:45 |
|
| and you'll see what I mean | 05:45 |
| ← datafirm left | 05:45 |
|
gnufied
| he he, i smell of openssl. | 05:45 |
|
RandalSchwartz
| oh yeah, wow, that debian mistake | 05:46 |
|
| what a fiasco | 05:46 |
|
| had they only submitted the patch upstream, theo's boys would have caught it | 05:46 |
|
| instead, they sat on it | 05:46 |
|
| dumb | 05: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 joined | 05: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 over | 05: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 upstream | 05:50 |
|
| got ignored | 05:50 |
|
RandalSchwartz
| they didn't submit an actual patch | 05:50 |
|
| they just talked about it | 05:50 |
|
| I've seen the report | 05:50 |
|
| it would be easy for that to not get noticed | 05:51 |
|
| actual patch would have been examined and rejected | 05:51 |
|
Arrowmaster
| got ignored by openssh though since it was related to how openssh got its random numbers | 05:51 |
|
RandalSchwartz
| very likely | 05: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 xkcd | 05:54 |
|
| but a lot of people didnt even bother reading about it and just assumed the dev did something stupid without talking to anybody | 05:54 |
| → Lucine2 joined | 05:55 |
|
jwasson
| It just shows that a "million eyes" can all blink at the same time. | 05:57 |
| panagos_ → panagos | 05:57 |
| → Xyri0 joined | 06:01 |
| ← igorgue left | 06:02 |
| ← imyousuf left | 06:03 |
| → datafirm joined | 06:04 |
| ← Xyrio left | 06:11 |
| Xyri0 → Xyrio | 06:11 |
| ← bobesponja left | 06:14 |
| → adante_ joined | 06:18 |
| → Antrover joined | 06:24 |
| ← Antrover left | 06:25 |
| ← adante left | 06:34 |
| adante_ → adante | 06:34 |
| ← sikanda left | 06:34 |
| → Xyri0 joined | 06:42 |
| → mvanholstyn joined | 06:44 |
| → mvanholstyn_ joined | 06:44 |
| → drizzd_ joined | 06:46 |
|
rubydiamond
| hi | 06:48 |
|
| where is the git_autocompletion.sh is installed when you install git install from source /usr/local | 06:48 |
| ← bootie left | 06:50 |
| → deeno joined | 06:51 |
| ← Xyrio left | 06:52 |
| Xyri0 → Xyrio | 06:52 |
| ← mvanholstyn_ left | 06:54 |
| → Eludias joined | 06:55 |
| → thiago_home joined | 06:56 |
| ← drizzd left | 06:57 |
| → Beket joined | 06:58 |
| ← tongueroo left | 06:59 |
| ← tenpaiyomi left | 07:01 |
| ← mvanholstyn left | 07:01 |
| → xilef joined | 07:01 |
|
xilef
| can anyone tell me how git handles symbolic links? i particularly don't want them stored as links but rather de-referenced | 07:02 |
| ← cmo-00 left | 07:03 |
| ← aroben left | 07:04 |
| ← Modius left | 07:05 |
| → Modius joined | 07:06 |
| → _graham_ joined | 07:07 |
| → tzafrir_home joined | 07:10 |
|
thiago_home
| xilef: it stores them as links | 07:11 |
|
xilef
| thiago_home, can i turn that off? | 07:11 |
|
| on a per file basis? | 07:11 |
|
thiago_home
| you can't | 07:12 |
|
| symlinks are stored as special files | 07:12 |
|
xilef
| righto, thanks for your help | 07:12 |
| → d0k joined | 07:15 |
| → mvanholstyn joined | 07:16 |
| ← mvanholstyn left | 07:19 |
| ← xilef left | 07:21 |
| → ph^ joined | 07:22 |
| → holizz joined | 07:22 |
| → _zack joined | 07:23 |
| ← Beket left | 07:23 |
| → mrCrowley joined | 07:24 |
| → priidu joined | 07:28 |
| ← _graham_ left | 07:31 |
| ← roylee17 left | 07:36 |
| → |kukks| joined | 07:37 |
| → robin_ joined | 07:46 |
| → david_koontz joined | 07:47 |
| → FunkeeMonk joined | 07:48 |
| ← Lucine2 left | 07:49 |
| ← mrCrowley left | 07:49 |
| → LotR joined | 07:50 |
| ← datafirm left | 07:50 |
| ← ckoehler left | 07:53 |
| ← kukks left | 07:55 |
| → mvanholstyn joined | 08:08 |
| ← d0k left | 08:09 |
| → shaftyy joined | 08:15 |
|
tzafrir_home
| bah, this greylisting on the list server is annoying | 08:16 |
|
| I thought my own server was bad | 08:16 |
| ← ajonat left | 08:18 |
|
rubydiamond
| tzafrir_home: what is your server | 08:22 |
|
tzafrir_home
| I send from local.xorcom.com | 08:23 |
| ← david_koontz left | 08: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 newcomers | 08: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 joined | 08: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 gc | 08: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=200 | 08: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 where | 08:31 |
|
twb
| Pieter: impressive, 40MB -> 7.4MB | 08:31 |
|
tzafrir_home
| with the resolveconf package on Debian resolve.conf changes reside in /var anyway | 08:31 |
|
twb
| I do not like resolveconf. | 08:32 |
| ← FunkeeMonk left | 08:32 |
|
Pieter
| twb: nice :) | 08:33 |
|
twb
| Pieter: I'll ask upstream to make a cron job do that | 08:33 |
| → hein2 joined | 08:37 |
| ← Sho_ left | 08:37 |
| hein2 → Sho_ | 08:37 |
| → deavid joined | 08:37 |
| ← twb left | 08:43 |
| dwmw2_HEL → dwmw2_gone | 08:44 |
| → kumbayo joined | 08:46 |
| → ph^_ joined | 08:58 |
| → gitte joined | 09:04 |
| → imyousuf joined | 09:06 |
| ← pygi left | 09:11 |
| ← deavid left | 09:22 |
| ← statim left | 09:24 |
| → pygi joined | 09:25 |
| ← imyousuf left | 09:26 |
| → imyousuf joined | 09:29 |
| ← imyousuf left | 09:29 |
| → chris2 joined | 09:31 |
| → strangy joined | 09:38 |
| → zachinglis joined | 09:39 |
| → statim joined | 09:43 |
| → cedricv joined | 09:45 |
| ← ph^ left | 09:49 |
| ph^_ → ph^ | 09:49 |
| → charon joined | 09:51 |
| ← priidu left | 09:53 |
| ← gmcinnes left | 09:53 |
| → shaftyy_ joined | 09:55 |
| dwmw2_gone → dwmw2_HEL | 09:55 |
| → priidu joined | 09:59 |
| ← Ademan left | 10:00 |
| → Ademan joined | 10:01 |
| → dirk1296 joined | 10:02 |
| ← shaftyy_ left | 10:04 |
| ← shaftyy left | 10:06 |
| ← csc` left | 10:06 |
| ← holizz left | 10:10 |
| → stillLotR joined | 10:10 |
| → redondos joined | 10:11 |
| → tko_ joined | 10:12 |
| → ben_h joined | 10: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 left | 10:16 |
| ← ben_h left | 10:17 |
| ← zachinglis left | 10:17 |
| → johan-s joined | 10:18 |
| → shaftyy joined | 10:19 |
| ← shaftyy left | 10:20 |
| ← jelmer left | 10:30 |
| → tommorris joined | 10:30 |
| → crab joined | 10:32 |
|
drizzd_
| tko_: maybe you should ask junio, I was wondering how he does it. | 10:33 |
| → shaftyy joined | 10:36 |
| → lea_w joined | 10:37 |
| → radarek joined | 10:38 |
| → nud joined | 10:38 |
| tko_ → tko | 10:39 |
|
tko
| maybe he's just better at it :) | 10:39 |
| ← tommorris left | 10: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 manually | 10:42 |
| → Xyri0 joined | 10:43 |
| → tommorris joined | 10:46 |
|
Ilari
| drizzd_: Aren't those scripts available in some branch of git.git? | 10:48 |
|
drizzd_
| I wouldn't know | 10:48 |
|
tko
| I suppose we could put everything in 'review-needed' branch or something instead | 10:49 |
|
drizzd_
| there is git-topic.perl in the todo branch | 10:49 |
| ← Xyrio left | 10:53 |
| Xyri0 → Xyrio | 10:53 |
| → devogon joined | 10:54 |
| ← brosner left | 10:54 |
| → shaftyyy joined | 10:59 |
| → dmq joined | 11:06 |
| ← tommorris left | 11:08 |
| ← lea_w left | 11:10 |
| ← Eludias left | 11:12 |
| ← dirk1296 left | 11:15 |
| ← shaftyy left | 11:15 |
| ← mvanholstyn left | 11:16 |
| ← rubydiamond left | 11:16 |
| → rubydiamond joined | 11:16 |
| ← shaftyyy left | 11:17 |
| → BabelO joined | 11:19 |
|
rubydiamond
| I just did rm file | 11:21 |
|
| git status shows "# deleted: fetcher.rb" | 11:22 |
|
| I want it back | 11:22 |
|
| how do I do that? | 11:22 |
|
| anybody know how do I do that? | 11:22 |
| → swombat joined | 11: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 history | 11:24 |
| → rubbish joined | 11:24 |
|
jengelh
| fetch and merge, simple as that | 11:25 |
|
swombat
| these are two separate sets of files | 11:25 |
|
jengelh
| well you don't even need to merge; you can have many trees, since git actually stores a forest | 11:25 |
|
swombat
| one is the rails backend, the other the flex frontend | 11:25 |
|
| we made a bad decision in splitting them up | 11:25 |
|
| can i be in repo 1 and "fetch" repo 2 then? | 11:26 |
|
| (is that what you're saying?) | 11:26 |
|
jengelh
| yes | 11:27 |
| → bentob0x joined | 11: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 fetch | 11:28 |
|
swombat
| unbelievable. | 11:28 |
|
| thank you :-) | 11:28 |
| ← ggeecko left | 11: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 joined | 11:29 |
| ← ggeecko_ left | 11: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 file | 11:32 |
|
Arrowmaster
| you would have to do revision rewriting to remove them all i think | 11: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 .gitignore | 11: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 deployments | 11:33 |
|
| Arrowmaster: the thing is, we only really need the current copy, since it can be rebuilt from sources | 11: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 changes | 11: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_ left | 11:35 |
|
Arrowmaster
| you can use filters to try and uncompress files automaticly before commiting them and recompress them on checkout | 11:35 |
|
| i think | 11: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 in | 11:37 |
|
swombat
| oh... so it wouldn't help reduce the size of the github repo then | 11:37 |
|
jengelh
| you have to run gc on the remote side to squeeze it there | 11:37 |
|
swombat
| lol... it's gone from 1.5G.... to 1.5G | 11:37 |
|
| not a huge reduction. | 11:37 |
|
| Arrowmaster: ^ | 11:38 |
|
| (from git gc) | 11:38 |
|
Arrowmaster
| it was worth a shot | 11:38 |
| → lea_w joined | 11:38 |
|
swombat
| Arrowmaster: yep :) | 11:38 |
|
jengelh
| git repack -a -d --depth=250 | 11:38 |
| → Sho_ joined | 11:38 |
|
jengelh
| try | 11:38 |
|
swombat
| what will that do? | 11:38 |
|
jengelh
| compress-me-harder | 11:38 |
|
Arrowmaster
| i dont know enough to help you try doing history rewriting to remove all the old files | 11:38 |
|
swombat
| i'm not really concerned about the local repo though | 11: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's | 11:40 |
|
| unless you don't care about those. | 11:40 |
|
swombat
| I don't care about them | 11:40 |
|
jengelh
| it's probably a necessary evil | 11: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 file | 11:40 |
|
jengelh
| though it screws with tags and all that | 11:41 |
|
swombat
| Arrowmaster: it can be deleted completely including current version if necessary | 11:41 |
|
| takes about 10 seconds to recreate it :-) | 11:41 |
|
jengelh
| mh | 11:41 |
|
| don't add files to the repository that are autogenerated | 11:41 |
|
swombat
| jengelh: i need to, for deployment purposes | 11:41 |
|
jengelh
| nah | 11:41 |
|
| things like "configure" for example don't belong into a repo | 11:41 |
|
swombat
| hmm | 11:42 |
|
| I suppose capistrano could just scp the file over | 11:42 |
|
jengelh
| for things that are not easily autogenerated, like .swfs it may be ok | 11: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 before | 11:42 |
|
Arrowmaster
| if you absolutely have to i bet a submodule would atleast be less hassle then constantly rewriting the history on the main repo | 11:42 |
|
swombat
| no, i need it in the repo for deployment to get it deployed | 11:42 |
|
jengelh
| mh | 11:43 |
|
pflanze
| swombat: just add a script which fetches it from a web url? | 11:43 |
|
swombat
| Arrowmaster: that sounds like a potential solution too | 11:43 |
|
jengelh
| swombat: use a new history tree and use amend to update it | 11:43 |
|
swombat
| pflanze: i think i might just write a step that scp's it actually | 11:43 |
|
jengelh
| that should work, keep exactly 1 revision of it, and always transfer it with git fetch | 11:43 |
|
swombat
| you guys are a gold mine of ideas, btw | 11:43 |
|
| thanks | 11:43 |
|
jengelh
| well like I said earlier, git stores not just a history tree, but a history forest | 11:44 |
|
drizzd_
| can I make git citool break lines in commit messages? | 11:44 |
|
jengelh
| drizzd_: use git commit instead? | 11:44 |
|
drizzd_
| very funny | 11:44 |
|
jengelh
| i'm serious | 11:44 |
|
swombat
| drizzd_: i think he's serious | 11:44 |
|
Arrowmaster
| im lazy, git-gui & | 11:44 |
|
drizzd_
| well that costs me an extra 10 keys of typing at least | 11:44 |
|
jengelh
| moving the mouse costs time too :p | 11: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 request | 11: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 commit | 11: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 production | 11: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 stuff | 11:47 |
|
| not quite sure what to do. happy to nuke the production branch after I've switched to it successfully and had one last look | 11:47 |
| ← SRabbelier left | 11:48 |
|
pflanze
| well you seem to have checked in that .autotest file into the repo | 11:48 |
| → SRabbelier1 joined | 11:48 |
|
drizzd_
| jengelh: that seems like overkill | 11:48 |
|
swombat
| pflanze: it's part of the (external) submodule | 11:48 |
|
drizzd_
| but i'll have a look at it | 11:48 |
|
swombat
| pflanze: it's an rspec file, i mean | 11:48 |
|
jengelh
| drizzd_: I am not sure why you would unstage things anyway | 11:48 |
| ← rubbish left | 11:48 |
| SRabbelier1 → SRabbelier | 11:48 |
|
drizzd_
| jengelh: because I don't want to commit all my changes | 11:48 |
|
jengelh
| oh... | 11:49 |
|
drizzd_
| I often do something, fix something else in the process | 11:49 |
|
jengelh
| use branches | 11:49 |
|
drizzd_
| and so I make two commits for completely different reasons | 11:49 |
|
jengelh
| that's good | 11:49 |
|
drizzd_
| oh come on that's ridiculous | 11:49 |
|
jengelh
| that's how people do it | 11: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 seconds | 11:50 |
|
swombat
| drizzd_: why not? | 11:50 |
|
| it takes like 0.5s | 11: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 is | 11:50 |
|
jengelh
| As Linus puts it, because branches are so cheap, people have 3, 5 or 10 of theem | 11:50 |
|
| and you do not have to merge em, you can rebase it. | 11:50 |
|
drizzd_
| guys, branches won't help my problem at all | 11:50 |
|
jengelh
| which makes for a nice linear history | 11: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 it | 11: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 first | 11: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 directory | 11:51 |
|
| jengelh listens | 11:52 |
|
drizzd_
| One changed file, for example | 11:52 |
|
| two hunks | 11:52 |
|
| I want to make two commits | 11:52 |
|
| one for the first hunk | 11:52 |
|
jengelh
| git add -i | 11:52 |
|
drizzd_
| another one for the other | 11:52 |
|
| oh, have you ever used that? | 11:52 |
|
jengelh
| yes | 11:52 |
|
| solemn, but yes, I know how it works | 11:52 |
|
drizzd_
| well maybe I don't get it but it just doesn't work for me | 11:52 |
|
jengelh
| I rather take the branch approach | 11: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 method | 11: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 file | 11:54 |
|
pflanze
| ah | 11:54 |
|
| then undo one of the hunks, maybe through editor undo, commit, redo, commit | 11: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 123 | 11:55 |
|
drizzd_
| this was just an example, usually it's a few files and quite a few hunks | 11: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 ugly | 11:56 |
|
drizzd_
| I often break my executable during work, and I really don't like commiting something that doesn't even compile | 11:56 |
|
pflanze
| why not? | 11:56 |
|
swombat
| you can amend the commit later | 11:57 |
|
pflanze
| you don't need to push/publish to others | 11:57 |
|
drizzd_
| because it will break bisect, for example | 11:57 |
|
swombat
| and that... it stays private | 11:57 |
|
pflanze
| drizzd_: that's why I said fix the history afterwards | 11:57 |
|
swombat
| nobody needs to know you broke the executables :-) | 11:57 |
| ← Xyrio left | 11:57 |
|
pflanze
| before you publish it. | 11:57 |
|
jengelh
| fix it before you commit it :P | 11:58 |
|
drizzd_
| I guess the problem is that I'm just to lazy to commit every time I decide to do something different | 11: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 it | 11:58 |
|
| it becomes second nature to create branches as you need them | 11: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 joined | 12: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 case | 12: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 joined | 12: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 git | 12:06 |
|
TGEN
| hmm, well, of it's written in Tcl I won't bother with it anyway | 12:06 |
|
| (though gitk is useful) | 12:06 |
|
drizzd_
| yeah, tcl is a pita | 12:07 |
|
pasky
| it's usable | 12:08 |
|
| but hacking it is no-go for me either :) | 12:08 |
|
swombat
| bah | 12: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 production | 12:09 |
|
| now trying to merge master in and getting: | 12:09 |
|
| git merge master | 12: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 remove | 12:09 |
|
| (the rspec directory i mean) | 12:10 |
|
| (which, in master, is a submodule) | 12:10 |
| ← lea_w left | 12: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 point | 12:14 |
|
| maybe with a special merge strategy? | 12:15 |
|
jengelh
| git rebase -i | 12:15 |
|
| filter-branch also does it, with grafts | 12:15 |
|
swombat
| git rebase -i isn't doing anything | 12:15 |
|
jengelh
| well | 12:16 |
|
| git rebase -i --onto <here> <here> | 12:16 |
|
| and then let it squash | 12:16 |
|
swombat
| <here>? | 12:16 |
|
jengelh
| an appropraite ID | 12:16 |
|
swombat
| would git rebase -i --onto HEAD do it? | 12:17 |
|
| k, got it | 12:18 |
|
| i think | 12:18 |
|
| thanks again | 12: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_HEL → dwmw2_gone | 12: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 indefinitely | 12:23 |
|
pflanze
| I see. | 12:23 |
|
drizzd_
| actually, I don't even have a scrollbar | 12:23 |
| → lea_w joined | 12:23 |
|
drizzd_
| it sucks even more than I realized | 12: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-q | 12: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 joined | 12: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 joined | 12:30 |
|
drizzd_
| yeah, git-vi would be cool | 12: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 left | 12:32 |
| ← Yuuhi left | 12:34 |
| ← ggeecko left | 12:34 |
|
Pieter
| whoo | 12:37 |
| → Yuuhi joined | 12:37 |
|
jengelh
| export EDITOR=joe; git-commit ... ^K^J = autoalign | 12:37 |
|
Pieter
| repository shrunk from 4.1GB to 120MB | 12:37 |
| |kukks| → kukks | 12: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: 300MB | 12:40 |
|
| bazaar | 12:40 |
|
reaVer
| ah | 12:40 |
|
| btw, how can I make git rebase autofetch? | 12:41 |
|
Pieter
| git pull --rebase | 12:41 |
|
reaVer
| ah ok:P | 12:42 |
|
| tnx | 12:42 |
|
Pieter
| or, if you do a git config branch.branchname.rebase true, you can do just git pull | 12: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 alpha | 12:48 |
| → VitaRara_ joined | 12:52 |
| ← VitaRara_ left | 12:52 |
| → jelmer joined | 12: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 mainly | 13:00 |
|
drizzd_
| Unfortunately, I don't like emacs. But maybe I can copy the idea for a vi mode. ;-) | 13:01 |
|
chris2
| hehe | 13:01 |
|
| it's just a mode to edit git diff and then apply it | 13:01 |
| → holizz joined | 13: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_ joined | 13:10 |
| ← chris2 left | 13:11 |
| ← Ademan left | 13:15 |
| → madewokherd joined | 13:18 |
| ← gitte left | 13:22 |
| ← tommorris left | 13:23 |
|
lea_w
| Is a tab width of 8 correct for git's perl modules? | 13:24 |
|
jengelh
| a tab is a tab, nothing else | 13:24 |
|
lea_w
| yes it is ;-) | 13:24 |
|
jengelh
| what your editor makes out of it is its own business | 13:24 |
|
Pieter
| nah | 13:24 |
|
| that's not really true | 13:24 |
|
thiago_home
| as long as you use tab for indention and spaces for alignment, it works | 13:24 |
|
| otherwise, it looks just plain ugly | 13:24 |
|
jengelh
| and that's the supposed way | 13: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 code | 13: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 world | 13:26 |
|
| lea_w: 28 spaces are 28 spaces. | 13:26 |
| → pombreda joined | 13: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 spaces | 13:26 |
|
lea_w
| jengelh: What do you use? | 13:26 |
|
jengelh
| joe and mcedit | 13:27 |
|
Pieter
| vim \o/ | 13:27 |
|
thiago_home
| especially since the default indentation is 2 spaces | 13:27 |
|
Pieter
| oh :) | 13:27 |
|
jengelh
| yeah and vim | 13:27 |
|
| as a fallback | 13:27 |
|
thiago_home
| however, Emacs with spaces-only indentation works much better | 13:27 |
|
| M-x set-variable indent-tabs-mode nil | 13: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 tab | 13: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 joined | 13:29 |
|
lea_w
| there's no way to get it right with emacs, i believe | 13:29 |
|
thiago_home
| if your editor messes up, don't edit the file | 13:29 |
|
| use another editor | 13: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 it | 13:30 |
|
jengelh
| then again, I would have expected emacs be at least a bit saner than those windows editors | 13:30 |
|
thiago_home
| Emacs can do anything | 13: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 have | 13:30 |
|
jengelh
| haha | 13:30 |
|
| so don't use it, simple as that | 13: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 spaces | 13:31 |
| ← Ademan_ left | 13:31 |
|
jengelh
| the GNU "style", if you can call it that | 13: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 ago | 13: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 editor | 13:32 |
|
jengelh
| just use vim or nano, will ya | 13:33 |
|
| so as to get started with some sane tab settings | 13:33 |
|
lea_w
| Yup, I suppose I'll move to vim... | 13:33 |
| → Ademan_ joined | 13: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 cleanup | 13: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 regularly | 13:37 |
|
| it gets much worse in projects which do not have a CodingStyle set into stone | 13:37 |
|
| because people then change it forth and back | 13:38 |
|
| you can introduce a proper style when you write new lines, that's the best way of introducing them | 13:38 |
|
| gradually over time improving the code | 13: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.cz | 13: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 left | 13: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" mentality | 13: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 already | 13:43 |
|
lea_w
| okay... | 13:44 |
|
| i'll remove it from the patch for now | 13:44 |
| ← GyrosGeier left | 13:47 |
| ← hipertracker left | 13:48 |
| → mattf joined | 13:52 |
| → vbabiy-laptop joined | 13:54 |
| → VitaRara joined | 13: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 branch | 13: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
| okay | 13:57 |
|
VitaRara
| jengelh: Thanks | 13:59 |
|
| I'm working with vbabiy-laptop | 13:59 |
|
| Still trying to git it. | 13:59 |
|
qknight
| tags are used for releases? | 13:59 |
|
jengelh
| primarily yes | 13:59 |
|
qknight
| ok, then i know them from svn. good to know | 13:59 |
|
| that git has them as well | 13:59 |
|
vbabiy-laptop
| qknight: that is how we are using them | 14:00 |
|
jengelh
| svn does not really have tags. | 14:00 |
|
| neither has it branches; it just has directories | 14:00 |
|
qknight
| jengelh: yes don't to into detail too much. i just used it that way | 14:00 |
| ← tommorris left | 14:00 |
| ← mstormo left | 14:02 |
| → eilartt joined | 14:03 |
| ← rubydiamond left | 14:03 |
| ← thiago left | 14:05 |
|
eilartt
| how can i retrieve the files of a certain commit? | 14:06 |
| ← bentob0x left | 14: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 joined | 14:07 |
|
Ilari
| eilartt: It can be any valid commit or expression resolving to commit. | 14:07 |
|
jengelh
| <? extends committish> | 14:08 |
|
eilartt
| ok, thanks | 14:08 |
| → koke joined | 14:08 |
| → Lucine2 joined | 14:11 |
| ← priidu left | 14: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 numeric | 14:13 |
|
| well | 14:13 |
|
| if you count hex numbers as numbers, then yes | 14:14 |
|
jengelh
| it is counted as hex numbers | 14:14 |
|
pflanze
| but it's not a number in the sense of numbering something, still | 14: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-push | 14: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 joined | 14:28 |
|
pflanze
| holizz: as I said, use git-reflog and you'll see the old commits | 14:28 |
|
| then you can git reset back to the right one. | 14:28 |
|
pygi
| or just use git checkout sha | 14:28 |
|
pflanze
| yeah, would work, too | 14: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 joined | 14:29 |
|
pygi
| pflanze, true =) | 14:29 |
|
holizz
| Aha, thank you. I think I'm back to a sensible state. | 14:30 |
| ← a-priori left | 14:30 |
| → a-priori joined | 14: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 left | 14:43 |
|
thiago_home
| git cat-file -p <id> | 14:43 |
| ← eilartt left | 14:43 |
| → strangy joined | 14:44 |
|
SRabbelier
| thiago_home: almost what I want, it doesn't do the indentation of the log msg? | 14:44 |
|
| and it skips the colons | 14:44 |
| ← strangy left | 14:45 |
|
Pieter
| yeah, that's the raw message | 14:45 |
|
SRabbelier
| mhh, I say plumbing, but what I want is to just show one commit | 14:45 |
|
Pieter
| otherwise use git log or git rev-list | 14:45 |
|
SRabbelier
| in the regular format :-/ | 14:45 |
|
Pieter
| git log -1 commit | 14:45 |
|
thiago_home
| SRabbelier: the indentation comes from git log | 14: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
| no | 14:46 |
|
SRabbelier
| how could I do that? | 14:46 |
|
| do I have to call git log for each ref? 0.o | 14:46 |
|
thiago_home
| git log only works in ranges | 14:46 |
|
SRabbelier
| drat | 14:46 |
|
| that's gonna be expensive :( | 14:47 |
|
thiago_home
| if the commits you want are sequential, then it can show | 14:47 |
|
| otherwise, no | 14:47 |
|
SRabbelier
| ah well | 14: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 joined | 14:50 |
|
SRabbelier
| lea_w: how about 9? | 14:50 |
|
lea_w
| The closest would be using 9 ("the git tools") as a catch-al | 14: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 README | 14:52 |
|
| just lump them all under t97... ? :P | 14:52 |
|
lea_w
| SRabbelier: Perhaps add hex digits a-f? | 14:53 |
|
SRabbelier
| hehe, nice hack :P, wonder if the ordering still works though | 14:53 |
|
lea_w
| a could be used for API's | 14: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 be | 14:54 |
|
| SRabbelier shrugs | 14:54 |
|
SRabbelier
| in that case | 14:54 |
|
| if we need to, just extend to a-z? | 14:54 |
| → Lodorius joined | 14:54 |
|
SRabbelier
| or we'll run into the same problem in ~a year | 14: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 :p | 14:55 |
|
SRabbelier
| Ilari: +1 | 14:55 |
|
| jengelh: we're not wtalking about sha's though :( | 14:55 |
|
| jengelh: about 4 digit numbers for the tests | 14:55 |
|
lea_w
| SRabbelier: The problem with a-z is that it might accidentally match | 14:55 |
|
jengelh
| heh | 14:55 |
|
| go 5 numbers | 14:55 |
| → hagabaka` joined | 14:56 |
|
lea_w
| test2-lib.sh would match for instance | 14:56 |
|
jengelh
| since you count upwards anyway | 14:56 |
|
SRabbelier
| lea_w: I claim trofl.sh | 14:56 |
| ← tommorris left | 14:56 |
|
SRabbelier
| jengelh: mhhh, not sure, it's more like a grouped approach | 14:56 |
|
lea_w
| bah, lousy ordering system. | 14:56 |
|
SRabbelier
| jengelh: that wouldn't allow for more commands/groups, only for more subtests per command | 14:56 |
|
| very much so :P | 14:56 |
|
| it doesn't scale well at all | 14:57 |
|
jengelh
| use a huffmann code | 14:57 |
|
SRabbelier
| jengelh: ... lol | 14:57 |
| ← Lodorius left | 14: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 time | 14:58 |
|
| vmiklos: thanks for asking though ^__^ | 14:58 |
|
vmiklos
| :) | 14:58 |
|
| SRabbelier puts a +1 on his 'someone read my proposal' board | 14:59 |
|
vmiklos
| i liked that patch, even i was thinking about adding such a rewrite item to my todo ;) | 14:59 |
| → tommorris joined | 14:59 |
|
SRabbelier
| vmiklos: really? awesome! | 14:59 |
|
| SRabbelier cheers | 15:00 |
|
SRabbelier
| It works :) | 15:00 |
|
| ./stats.py | 15:00 |
|
| lists all the commits that touched the same files as any of my staged changes | 15:00 |
|
jengelh
| uhm | 15:00 |
|
| git log --author="me" thisfile.c --pretty=format:%H ? | 15:00 |
|
SRabbelier
| jengelh: well, yes, but that's not what it does | 15:01 |
|
| erm, skip the --author filter for one | 15:01 |
|
jengelh
| what does it do? | 15:01 |
|
| and more interestingly, what does it output | 15:01 |
|
SRabbelier
| and replace thisfile.c with all the files that are staged | 15:01 |
|
jengelh
| hm | 15:01 |
|
SRabbelier
| also, format is the regular commit list format from git log | 15:02 |
| → mvanholstyn joined | 15: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 C | 15:02 |
|
jengelh
| { Python. Regex. Slow. Repeat. } | 15:02 |
|
SRabbelier
| I'm happy with living in /contrib till doing the rewrite | 15:02 |
| ← mvanholstyn left | 15:02 |
| → bobesponja joined | 15:03 |
|
vmiklos
| ah, k | 15:03 |
|
SRabbelier
| vmiklos: mostly for ease of development | 15:03 |
|
vmiklos
| well, as you want, it was just a suggestion | 15:04 |
|
| SRabbelier nods | 15:04 |
|
vmiklos
| if you write it directly in perl or sh, you can avoid a rewrite | 15:04 |
|
SRabbelier
| jengelh: http://rafb.net/p/rL8pu293.html | 15:04 |
|
| vmiklos: I don't know perl, and I want to do it in C for speed | 15:05 |
|
| vmiklos: since some parts are likely to a real cpu-burner on big repos | 15:05 |
|
vmiklos
| hm yes, that makes sense | 15:06 |
|
SRabbelier
| but c doesn't allow the ease of change python does | 15:06 |
|
vmiklos
| sure, writing a prototype should not happen in C | 15:06 |
|
SRabbelier
| I mean, I'm rather good in C even if I say so myself, but python is just better for prototyping | 15:06 |
|
| exactly :) | 15:06 |
| → dirk1296 joined | 15:08 |
| ← hagabaka left | 15:10 |
| → ekidd joined | 15:14 |
| ← tommorris left | 15:15 |
| → mvanholstyn joined | 15:15 |
| → aroben joined | 15:16 |
| ← mvanholstyn left | 15:18 |
| → lea_w1 joined | 15:19 |
| ← vbabiy-laptop left | 15:24 |
| → doener joined | 15:25 |
| ← lea_w left | 15:28 |
| → pombred1 joined | 15:32 |
| ← crab left | 15:39 |
| → sanxiyn joined | 15:40 |
| → tommorris joined | 15:42 |
| ← tommorris left | 15: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, great | 15:44 |
|
jengelh
| I would not take such a retrograde step. | 15:45 |
|
pasky
| now git log is outputing spurious empty lines | 15:45 |
| → hramrach joined | 15:45 |
|
pasky
| :/ | 15:45 |
|
hramrach
| hello | 15: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 simply | 15:46 |
|
jengelh
| sanxiyn: send a patch :)\ | 15:46 |
|
| make it use vla | 15:46 |
|
pygi
| hramrach, git checkout sha | 15: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 moment | 15:46 |
|
hramrach
| thanks, I'll try | 15:46 |
|
doener
| hramrach: or for older commits, look into rebase -i | 15: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.git | 15:47 |
|
| vmiklos: but it's very legacy | 15:47 |
|
sanxiyn
| jengelh: Thank you for an opinion. | 15:47 |
|
pasky
| you should be able to do the same stuff with normal git | 15:47 |
|
| if you setup the remotes right | 15: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 recently | 15: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 long | 15:48 |
|
pasky
| well that's true | 15:48 |
|
| but c99 has many hairy stuff | 15:48 |
|
hramrach
| It looks like amend is what I want. Thanks | 15:49 |
|
jengelh
| such as | 15:49 |
|
pasky
| such as what's listed as "Missing" at http://gcc.gnu.org/c99status.html ;) | 15:49 |
| ← _zack left | 15:50 |
| → _zack joined | 15: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 --mirror | 15:51 |
| → pfs0 joined | 15:51 |
|
pasky
| vmiklos: hmm, strange... there were some discussions around this long time ago but I don't remember the outcome | 15:51 |
| ← pombreda left | 15:51 |
|
pasky
| vmiklos: git remote prune? | 15:51 |
|
vmiklos
| let me check | 15:52 |
| ← lamont left | 15:52 |
|
vmiklos
| aha. | 15:53 |
|
| so git fetch origin; git remote prune origin seems to do the trick :) | 15:53 |
|
| thanks | 15:53 |
| → lamont joined | 15:54 |
| → hacim joined | 15: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 conflicting | 15:55 |
| → igorgue joined | 15: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 resolve | 15:56 |
| ← sanxiyn left | 15:56 |
|
doener
| you can "git reset --hard" to abort the merge | 15:56 |
|
| afterwards, you should have no problems checking out master | 15:56 |
|
hacim
| you are right | 15:56 |
|
| i'm surprised that the git pull failed, because its on a remote repo that I have made no changes to locally | 15:57 |
|
RandalSchwartz
| that's because pull is fetch + merge | 15:57 |
|
| did you really want to merge? | 15:57 |
|
doener
| RandalSchwartz: well, should result in a fast-forward then though | 15:57 |
|
hacim
| RandalSchwartz: i wanted the latest changes from the remote in that branch | 15: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" switch | 15:58 |
|
hacim
| doener: 1.5.5.1 | 15:58 |
|
RandalSchwartz
| in spite of it always being the solution to this stuff | 15:58 |
| → mohbana joined | 15:58 |
|
doener
| hm, that should have setup the tracking stuff correctly... weird | 15:58 |
|
mohbana
| is there a git book? | 15:58 |
|
hacim
| maybe I setup the remote branch incorrectly? | 15:59 |
| ← bryanl left | 15: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 done | 16:00 |
|
| pasky: the rest probably does not have that much value | 16:00 |
|
hacim
| doener: i did a git-checkout -b remote/branch mybranch, so I know my branch is brand new | 16:00 |
|
| i'm not sure how to check what branch.$name.{remote/merge} is? | 16:01 |
|
doener
| git config --get-regexp branch.master | 16:01 |
|
| replace master with your branch | 16:01 |
|
hacim
| ok, how do I tell if it is correct? | 16:03 |
| → mvanholstyn joined | 16:04 |
|
doener
| remote should be the right remote and merge should be the right branch from which you want to merge | 16:04 |
|
| eg. refs/head/some_cool_branch | 16:04 |
|
| s/head/heads/ | 16:04 |
|
hacim
| doener: http://pastebin.com/m50e48785 | 16: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
| thanks | 16:07 |
|
doener
| hacim: IIRC "git remote update" also does non-fast-forward fetches | 16: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 state | 16:07 |
|
jengelh
| git remote update also makes forced updates | 16:07 |
| → datafirm joined | 16:07 |
|
doener
| hacim: so: git remote update && git checkout emacs-mode && git reset --hard emacs-mode/emacs-mode | 16:08 |
| ← Tv left | 16:08 |
|
hacim
| doener: that gets me to where the repo was before the update | 16:09 |
| hagabaka` → hagabaka | 16: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 clone | 16:10 |
|
| maybe someone forgot to git-update-server-info? | 16:10 |
|
hacim
| doener: http://archives.eyrie.org/software/git/puppet.git | 16:10 |
| ← jeffpc left | 16:10 |
|
doener
| ok, that works | 16:11 |
| → jeffpc joined | 16:11 |
|
doener
| no | 16:11 |
|
| http://pastebin.com/m200a0c24 | 16:11 |
| → rubydiamond joined | 16:12 |
|
hacim
| doener: maybe try again? I just did it in a new location and it worked | 16:12 |
| → rwanderley joined | 16:13 |
| ← lea_w1 left | 16:13 |
|
doener
| hacim: failed three times now | 16:14 |
| → lea_w joined | 16:14 |
|
hacim
| doener: maybe its your version of git? because I've succeeded 2x and not had an error | 16:15 |
| → Tv joined | 16:15 |
| → zawir joined | 16:16 |
| → brosner joined | 16:16 |
|
rubydiamond
| hey... | 16:18 |
|
| how to use git submodule thing | 16:19 |
|
doener
| hacim: haha, latest master now, and a new error | 16:19 |
|
hacim
| is the only way to fast-forward by merging? | 16:19 |
|
| doener: weird | 16:19 |
|
doener
| http://git.pastebin.com/m4366771a | 16:19 |
|
jengelh
| no, you can also FF by reset --harding. | 16:19 |
|
| but it's the destructive way | 16:20 |
|
hacim
| doener: thats really strange | 16:20 |
|
jengelh
| http is strange. | 16:21 |
|
| called update-server-info? | 16:21 |
| ← rubydiamond left | 16:22 |
| → rubydiamond joined | 16:22 |
|
hacim
| jengelh: its not my repo | 16:23 |
| → gmcinnes joined | 16:25 |
| → trochala joined | 16:28 |
| ← SRabbelier left | 16:28 |
| → SRabbelier1 joined | 16:28 |
| SRabbelier1 → SRabbelier | 16:29 |
| ← kanru left | 16:29 |
| → agib_ joined | 16:31 |
| → strangy joined | 16:32 |
|
hacim
| if I do cherry-picking from a remote, should I cherry-pick the merge commit? | 16:35 |
| → sr joined | 16:36 |
| → cmo-0 joined | 16: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-result | 16:37 |
|
| you'd be squashing the merge if you cherry-pick it | 16:37 |
|
hacim
| what would the result of squashing the merge be? | 16:38 |
|
thiago_home
| the merge applied, but without the second parent | 16: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 merge | 16:40 |
|
| d | 16: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 point | 16:41 |
|
cmo-0
| what does git-upload-pack do ...? | 16:41 |
|
thiago_home
| cmo-0: it uploads a pack file to git-receive-pack | 16:41 |
| ← rwanderley left | 16:41 |
| → rwanderl` joined | 16:41 |
|
cmo-0
| do you mean git-daemon uses it behinde the sence | 16:41 |
|
| sence=scene | 16:42 |
| ← aroben left | 16:42 |
|
thiago_home
| yes | 16: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 that | 16: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 |
|
| cmiiw | 16: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 left | 16:45 |
| → tenpaiyomi joined | 16:46 |
| ← tenpaiyomi left | 16:46 |
|
Ilari
| cmo-0: Does the upload-pack process stick around after it hangs on client? | 16:47 |
| → pfs0_ joined | 16:47 |
| → panagos_ joined | 16:47 |
| → _Ramblurr joined | 16:47 |
| → seebyr joined | 16:47 |
| → dmitry_afanasiev joined | 16:48 |
| ← jeffpc left | 16:48 |
| ← joevandyk left | 16:48 |
| ← solars left | 16:48 |
| ← Vantage left | 16:48 |
| ← wolf^ left | 16:48 |
| ← aazar left | 16:48 |
| ← jengelh left | 16:48 |
| ← pasky left | 16:48 |
| ← cschneid_ left | 16:48 |
| ← aporetic left | 16:48 |
| ← slack left | 16:48 |
| ← thijso left | 16:48 |
| ← lydgate left | 16:48 |
| ← datafirm left | 16:48 |
| ← igorgue left | 16:48 |
| ← pfs0 left | 16:48 |
| ← bobesponja left | 16:48 |
| ← dirk1296 left | 16:48 |
| ← a-priori left | 16:48 |
| ← Sonderblade left | 16:48 |
| ← johan-s left | 16:48 |
| ← cedricv left | 16:48 |
| ← robin_ left | 16:48 |
| ← loops left | 16:48 |
| ← tjafk1 left | 16:48 |
| ← jwasson left | 16:48 |
| ← Ramune left | 16:48 |
| ← manveru left | 16:48 |
| ← pdherbemont_ left | 16:48 |
| ← gnufied left | 16:48 |
| ← tcoppi left | 16:48 |
| ← panagos left | 16:48 |
| ← sbeyer left | 16:48 |
| ← jarod left | 16:48 |
| ← mtodd_ left | 16:48 |
| ← christastrophe left | 16:48 |
| ← comp left | 16:48 |
| ← iabervon left | 16:48 |
| ← mugwump left | 16:48 |
| ← gitster left | 16:48 |
| ← microm left | 16:48 |
| ← jpieper left | 16:48 |
| ← Ramblurr left | 16:48 |
| ← albertito left | 16:48 |
| ← rikur left | 16:48 |
| ← tchan left | 16:48 |
| ← gcl left | 16:48 |
| ← Zycon left | 16:48 |
| ← grasshopp left | 16:48 |
| ← Mikachu left | 16:48 |
| ← eikke left | 16:48 |
| ← up_the_irons left | 16:48 |
| ← efaistos_ left | 16:48 |
| ← halfline left | 16:48 |
| ← tsuna left | 16:48 |
| ← mutex left | 16:48 |
| ← Husio left | 16:48 |
| ← cehteh left | 16:48 |
| ← normalperson left | 16:48 |
| ← reaVer left | 16:48 |
| ← ThunderChicken left | 16:48 |
| → Husio joined | 16:49 |
| → bobesponja joined | 16:49 |
| → comp joined | 16:49 |
| → reaVer joined | 16:49 |
| → rikur joined | 16:49 |
|
cmo-0
| yes for a while ... i found using ps a couple (approx. 6) half are defunct | 16:49 |
| → normalperson joined | 16:50 |
| → jarod joined | 16:50 |
| → tsuna joined | 16:50 |
| → robin_ joined | 16:50 |
| → kanru joined | 16:50 |
| ← com4 left | 16:52 |
|
cmo-0
| Ilari: yes for a while ... i found using ps a couple (approx. 6) half are defunct | 16:52 |
| → gcl joined | 16:52 |
| ← zawir left | 16:52 |
| ← jacobat left | 16:53 |
| → ThunderChicken joined | 16:53 |
|
Ilari
| cmo-0: Is there anything unusual in the SSH connections, like using 'ProxyCommand'? | 16:53 |
| → johan-s joined | 16:53 |
|
cmo-0
| i don't use ssh. only git:// not ssh+git:// | 16:53 |
| → microm joined | 16:54 |
| → up_the_irons joined | 16:54 |
| → efaistos joined | 16:54 |
| → albertito joined | 16:54 |
| → jeffpc joined | 16:54 |
| → joevandyk joined | 16:54 |
| → solars joined | 16:54 |
| → Vantage joined | 16:54 |
| → wolf^ joined | 16:54 |
| → cschneid_ joined | 16:54 |
| → aazar joined | 16:54 |
| → lydgate joined | 16:54 |
| → slack joined | 16:54 |
| → jengelh joined | 16:54 |
| → thijso joined | 16:54 |
| → pasky joined | 16:54 |
| → pdherbemont_ joined | 16:54 |
| → a-priori joined | 16:56 |
| → mtodd_ joined | 16:56 |
|
Ilari
| cmo-0: What state are those (non-defunct) upload-packs in? S? | 16:56 |
| → cyclist joined | 16: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 understand | 16:58 |
| ← ForsakenSoul left | 16:58 |
|
cmo-0
| they disappeared! | 16:59 |
|
Ilari
| cyclist: Main authors of Jgit are Shawn O. Pearce and Robin Rosenberg. | 17:00 |
| → gitster joined | 17:00 |
| ← simmel left | 17:00 |
| → simmel joined | 17:00 |
| → samgranieri joined | 17:01 |
| → jpieper joined | 17:01 |
| → Sonderblade joined | 17:01 |
| → cedricv joined | 17:02 |
| → tjafk1 joined | 17:02 |
| ← rwanderl` left | 17:02 |
| → gnufied joined | 17:02 |
| → halfline joined | 17:02 |
| → tcoppi joined | 17:03 |
| → igorgue joined | 17:03 |
|
cyclist
| ahh the new generation who learned Java in university | 17:04 |
| → rwanderley joined | 17:05 |
| ← ekidd left | 17:05 |
| → lirit joined | 17:05 |
| → loops joined | 17:05 |
| → grasshopp joined | 17:05 |
|
Ilari
| cyclist: Shawn is more known in Git circles for Git-gui. | 17:05 |
| ← rwanderley left | 17:06 |
| → rwanderley joined | 17:06 |
| ← lirit left | 17:07 |
| → lirit joined | 17:07 |
|
Ilari
| cyclist: And Jgit uses various advanced (at least for Java programs) memory management tricks to get good performance. | 17:07 |
| → Mikachu joined | 17:08 |
| ← mvanholstyn left | 17:08 |
| → cehteh joined | 17: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- sense | 17: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 left | 17:18 |
| ← gmcinnes left | 17:19 |
| → lirit joined | 17:19 |
|
pasky
| i think there were some hairy licence reasons for the reimplementation too | 17:21 |
|
| but i may be misremembering | 17: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 left | 17:23 |
| → _zack joined | 17:23 |
| ← cyclist left | 17:25 |
| → ckoehler joined | 17:25 |
|
Ilari
| cmo-0: Yea, it could be useful... | 17:27 |
|
| cmo-0: Paste it to some pastebin... | 17:28 |
| → ckoehler_ joined | 17:30 |
| ← nuge left | 17:30 |
| ← SRabbelier left | 17:30 |
| ← ckoehler left | 17:30 |
| → chris2 joined | 17:30 |
| ← gram left | 17: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/206439 | 17:34 |
|
Bombe
| And that is reason #11758291 why Perl sucks... ;) | 17:34 |
| → Paf joined | 17:34 |
| → SRabbelier joined | 17:35 |
| → nuge joined | 17:35 |
|
hramrach
| hmm, now I would like to change a deeply buried commit | 17:36 |
|
| Not that I could not revert the later ones .. but It might be nice to know how it's done | 17:36 |
|
Ilari
| hramrach: 'git rebase -i <commit>^'? | 17:37 |
|
hramrach
| Ilari: but I do not get what that does | 17: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 now | 17:38 |
| ← pfs0_ left | 17: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_ → ckoehler | 17: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 that | 17: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 sec | 17:41 |
|
| or so | 17:41 |
|
Ilari
| cmo-0: Timeout errors on server end, that is? | 17:41 |
| → christastrophe joined | 17:41 |
| ← samgranieri left | 17:41 |
| ← lirit left | 17:42 |
| ← radarek left | 17:42 |
| → pfs0 joined | 17:43 |
|
Ilari
| cmo-0: Also, what OS home PC runs? | 17:44 |
|
cmo-0
| here is a tail of the output git-daemon | 17:44 |
|
| Ilari: http://pastie.caboo.se/206443 | 17:44 |
|
| I run ubuntu server edition 8.04 on officePC and ubuntu 7.04 on my HomePC | 17: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__ joined | 17: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 joined | 17:48 |
| ← chris2 left | 17:51 |
| _Ramblurr → Ramblurr | 17:51 |
|
cmo-0
| Ilari: on the server i can make 'git clone git://localhost/as-epanel' worked | 17:51 |
|
| is it a problem in the router? | 17:52 |
|
lea_w
| mohbana: Goodness, http://www.amazon.com/s?ie=UTF8&keywords=git&index=blended | 17:52 |
| → felipec joined | 17: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 left | 17:54 |
|
cmo-0
| Ilari: the following works: 'git clone git://github.com/bruce/rtex.git' on either home or server | 17:55 |
| ← nuge left | 17:58 |
| → jeckel joined | 17: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 left | 18:03 |
|
jettero
| he | 18:04 |
|
| ... heh rather | 18:04 |
|
| well, they have svk over there | 18:04 |
|
| I doubt it's that bad with local commits... | 18:04 |
| → zachinglis joined | 18: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 cogito | 18:05 |
|
jengelh
| cogito is obsolete.. | 18:05 |
|
jettero
| yeah, I didn't know that until it disappaered from ubuntu | 18: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 git | 18: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 demonitnator | 18:06 |
|
| at least cvs is finally leaving | 18:06 |
|
| wow, the git svn clone takes a while | 18: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 slowness | 18:07 |
|
cmo-0
| ? | 18:07 |
|
| sorry ? | 18:08 |
|
doener
| jettero: latest git.git master has some patches that improve performance | 18:08 |
|
jengelh
| you can't improve upon the slowness of svn's side | 18:08 |
| ← Tv left | 18:08 |
|
doener
| not sure how much of a difference they make though | 18: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 revision | 18:09 |
| → gmcinnes joined | 18:09 |
|
jettero
| not that you can do anything about it | 18:09 |
|
| I think I'm going to be much happier with git-svn than pure svn though... | 18:09 |
|
| this feels nice | 18: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 reliably | 18: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 going | 18:12 |
| → xenoterracide joined | 18:13 |
|
jettero
| -n is dry run? | 18:13 |
|
jengelh
| often | 18:14 |
|
doener
| yep | 18: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 svn | 18:14 |
| → gram joined | 18:15 |
|
jettero
| jengelh: please expand that thought... I'm curious about your thinking | 18:16 |
|
jengelh
| gram: just when did you register that domain? :) | 18:16 |
|
jettero
| that's a cool domain name | 18: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 :p | 18: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 ago | 18:17 |
|
doener
| sr: try "git log -p -Ssomething" where "something" is (part of) the stuff that got deleted | 18: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 me | 18:19 |
| → Beket joined | 18:20 |
| ← zachinglis left | 18:20 |
|
xenoterracide
| does anyone have any idea what this means? http://vim.pastey.net/88734 | 18:22 |
| ← gitster left | 18:23 |
| → a-atwood joined | 18:23 |
| → chrisrb joined | 18:24 |
|
cmo-0
| Ilair: should i look for specific thing? (hint or link or doc) ;) | 18:25 |
| → putrum joined | 18:25 |
|
cmo-0
| Ilari: should i look for specific thing? (hint or link or doc) ;) | 18:26 |
| ← mvanholstyn left | 18:27 |
|
Ilari
| cmo-0: One thing to look for would be what happens immediately before and after the connection cuts off... | 18:28 |
| ← pfs0 left | 18:32 |
| ← chrisrb left | 18:33 |
| ← hramrach left | 18:35 |
| → csc` joined | 18:35 |
| ← cmo-0 left | 18:47 |
| → Seldaek joined | 18:48 |
| → NewMonarch joined | 18: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 joined | 18:50 |
| → mvanholstyn joined | 18:50 |
| → _graham_ joined | 18:52 |
| ← Seldaek left | 18:53 |
| ← Sho_ left | 18:55 |
| → zachinglis joined | 18:57 |
| → Angelic13 joined | 18:58 |
| → Sho_ joined | 18:59 |
| → hipertracker joined | 19:03 |
| ← Sho_ left | 19:03 |
| ← zachinglis left | 19:04 |
| ← mvanholstyn left | 19:07 |
| → Sho_ joined | 19:07 |
| ← Sho_ left | 19:08 |
| ← Ramblurr left | 19:08 |
| → mvanholstyn joined | 19:09 |
| → Sho_ joined | 19:09 |
| ← Sho_ left | 19:09 |
| ← mvanholstyn left | 19:10 |
| ← jlh left | 19:11 |
| → Sho_ joined | 19:11 |
| → jlh_ joined | 19:11 |
| → priidu joined | 19:11 |
| ← kumbayo left | 19:11 |
| ← Ingmar left | 19:14 |
| → Ingmar joined | 19: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 Jones | 19:17 |
| → zachinglis joined | 19: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 left | 19:19 |
|
pasky
| it's constructed differently than say gitk | 19:19 |
|
| it's not meant to browse commits | 19:19 |
| → bigfleet joined | 19:19 |
|
pasky
| it's meant to get history of certain content | 19:19 |
|
| (if, after all, everyone says git is meant to track content - this thing is built to _show_ the tracks :) | 19:20 |
| → capisce joined | 19:20 |
|
pasky
| right-click somewhere inside the file | 19:20 |
|
| (or, make some selection first) | 19:20 |
|
Mikachu
| yeah i did that, and it limited commits to those that changed that string i think | 19: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
| heh | 19:21 |
|
bigfleet
| Hello, all. I am trying to convert an SVN repo to git | 19:21 |
| → peeja joined | 19:21 |
|
Mikachu
| well, it looks like it might be nice | 19:22 |
|
bigfleet
| But at some point a git repo was committed to the SVN repo | 19:22 |
|
| So now the svn fetch does this | 19:22 |
|
| http://pastie.textmate.org/private/zdqpygfc3is26pjfcuyx2g | 19:22 |
|
| Any tips for how I can get past this? | 19:22 |
|
| I don't need any commit history for the git subrepo | 19:22 |
|
| but would like to be able to keep history for everything | 19:22 |
|
jengelh
| then use amending. | 19:22 |
|
| then don't use amending :p | 19:22 |
|
bigfleet
| jengelh: I am a total n00b, so I may need more help than that | 19:23 |
|
jengelh
| you're contradicting | 19:23 |
|
bigfleet
| The element that is causing the conflict when doing the fetch | 19:23 |
| ← Ingmar left | 19:23 |
|
bigfleet
| I wouldn't mind if that never existed | 19:23 |
|
jengelh
| fetch itself does not cause any conflicts generally | 19:23 |
|
bigfleet
| but I do need the rest of the repo converted | 19:23 |
| → Ingmar joined | 19:24 |
|
bigfleet
| problem, then | 19: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, yes | 19:27 |
| ← putrum left | 19:28 |
| ← capisce_ left | 19:32 |
| ← strangy left | 19:34 |
| → strangy joined | 19:34 |
| ← rubydiamond left | 19: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 that | 19:38 |
| → jwasson joined | 19:39 |
| → iabervon joined | 19:39 |
| → Tv joined | 19:39 |
| → tchan joined | 19:39 |
| → manveru_ joined | 19:39 |
| → mugwump_ joined | 19:39 |
| → eikke joined | 19:39 |
|
RandalSchwartz
| git rm --cached path/to/file | 19:39 |
|
| what do you mean "no option"? | 19:40 |
|
solars
| gnah, sorry | 19:40 |
|
| overlooked that :) | 19:40 |
|
| thanks | 19:40 |
|
| RandalSchwartz bows | 19:40 |
|
| RandalSchwartz hits head on desk | 19:41 |
|
RandalSchwartz
| ouch! | 19:41 |
|
jengelh
| RandalSchwartz: doing it repeatedly strengths your skull | 19:41 |
| ← bigfleet left | 19:42 |
| ← eternaleye left | 19:42 |
| ← gmcinnes left | 19:43 |
| pombred1 → pombreda | 19:43 |
| ← robin_ left | 19:44 |
| → capisce_ joined | 19: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 left | 19:49 |
| → Kagemaru joined | 19:51 |
|
Kagemaru
| hi | 19: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 left | 19: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 respond | 19:56 |
|
RandalSchwartz
| (not to mention, instantly out of date, since there are about 20 updates to the CPAN daily) | 19:57 |
| → ajonat joined | 19:57 |
| ← ajonat left | 19: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 you | 19:58 |
|
| I haven't used it except for a magazine article | 19:58 |
| → ajonat joined | 19:58 |
|
RandalSchwartz
| everyone's locality of modules is different | 19:58 |
| → mstormo joined | 19:58 |
| ← vbgunz left | 19:59 |
| → gmcinnes joined | 20:00 |
|
pasky
| everyone, use algorithm::dif more! | 20:00 |
|
RandalSchwartz
| well, it's pretty unlikely that anything new will be added to the core | 20:00 |
|
| the usual talk is "how can we remove things" | 20:01 |
|
| since the CPAN is so easy to install from now | 20:01 |
|
pasky
| hmm, pity :) | 20:01 |
|
RandalSchwartz
| why? | 20:02 |
|
pasky
| people are afraid of scripts with dependencies | 20:02 |
| → gitster joined | 20:02 |
|
pasky
| it's psychology :) | 20:02 |
| → capisce joined | 20:02 |
|
madewokherd
| I'm not afraid of scripts with dependencies | 20:02 |
|
| I just expect sometime to magically handle them for me | 20:03 |
|
| *something | 20:03 |
|
| without any work | 20:03 |
|
RandalSchwartz
| people are also afraid of commitment :) | 20:03 |
|
| mostly guys though | 20:03 |
|
| and yet, "git-commit" exists | 20:03 |
| ← gmcinnes left | 20: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 joined | 20:04 |
|
pasky
| RandalSchwartz: is it seamless for non-root users to install from CPAN by now? | 20:04 |
| → pfs0 joined | 20:04 |
|
RandalSchwartz
| it has been for years. | 20:05 |
|
| perldoc perlmodinstall | 20:05 |
|
| set a prefix, set a envar | 20:05 |
|
| and you're done | 20:05 |
|
madewokherd
| so no | 20:05 |
|
RandalSchwartz
| how could it be any easier? | 20:05 |
|
| perl has to know where to get non-standard modules | 20: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 just | 20:06 |
|
| Make sure you have the appropriate permissions to install the module in your Perl 5 library | 20:06 |
|
RandalSchwartz
| and also that it should be installed in there | 20: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 modules | 20:06 |
|
pasky
| something like ~/.perl ought to be in default @INC and perl -MCPAN should automatically install there if it notices it is not root | 20: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 here | 20:07 |
|
pasky
| well, it's, you know - default | 20:07 |
|
RandalSchwartz
| it can't be anythign to do with $HOME | 20:07 |
|
pasky
| why? | 20:07 |
|
RandalSchwartz
| because what happens when YOU run MY code? | 20:07 |
|
| it'd break | 20:07 |
|
pasky
| how? | 20:07 |
|
jengelh
| RandalSchwartz: it works but I'd have no clue what you wrote :p | 20:07 |
|
Ilari
| Kagemaru: What does 'git remote' give? | 20:07 |
|
RandalSchwartz
| so that's why there's lots of options about that | 20:07 |
|
| you can put it *into* the file | 20:07 |
|
| or you can put it into your environment | 20:07 |
|
| or some combination of both | 20:07 |
|
Kagemaru
| Ilari: origin and rubybot | 20:08 |
|
RandalSchwartz
| different advantages and disadvantages | 20: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 me | 20:09 |
| → brosner joined | 20:09 |
|
RandalSchwartz
| I still wonder how you would do it better | 20: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 joined | 20:10 |
| → aikidev joined | 20:10 |
| ← Sho_ left | 20:10 |
| hein2 → Sho_ | 20:10 |
|
pasky
| RandalSchwartz: I already explained once, and I still don't understand what the problem would be | 20:10 |
|
RandalSchwartz
| because what happens when I run *your* code? | 20:11 |
| ← Sho_ left | 20:11 |
|
pasky
| I don't understand | 20:11 |
|
RandalSchwartz
| it won't have access to YOUR installed modules | 20:11 |
|
pasky
| what special should happen? | 20:11 |
|
| why not? | 20:11 |
|
RandalSchwartz
| because it'll look in MY home not yours | 20:11 |
|
| since ~ is per-user | 20:11 |
|
pasky
| why would it? | 20:11 |
|
| ah, you mean it this way | 20:11 |
|
| well, then you gotta install the modules too | 20:11 |
|
RandalSchwartz
| ok - if you're gonna be that clueless, I won't argue it with you | 20:11 |
|
madewokherd
| I would do it better by using a real package manager :p | 20:11 |
| → gmcinnes joined | 20:11 |
| ← gmcinnes left | 20:12 |
|
RandalSchwartz
| and you can get *that* behavior right now with envars | 20:12 |
|
| you set an envar in your .login | 20:12 |
|
pasky
| yes, but you have to set them up manually | 20:12 |
|
RandalSchwartz
| and then you tell perl to install there | 20:12 |
|
pasky
| and that's my point | 20:12 |
|
RandalSchwartz
| so you have that BROKEN behavior already | 20:12 |
|
pasky
| again, manually | 20:12 |
|
RandalSchwartz
| broken in one way | 20: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 me | 20:12 |
|
| but it's a *different* thing you have ot do | 20:12 |
|
| Perl lets you choose which kind of problem | 20:12 |
|
| there's no way to do both TRANSPARENTLY | 20:13 |
|
| that's the point | 20:13 |
|
| you choose which you want to work | 20:14 |
|
| not sure why that's so hard to reason out | 20:14 |
|
| you just want a default that will BREAK for some class of people | 20:14 |
| → Sho_ joined | 20:14 |
|
RandalSchwartz
| I don't think that's a sane default | 20: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 elsewhere | 20:14 |
| ← aikidev left | 20:14 |
|
RandalSchwartz
| it's also a security risk | 20:14 |
|
pasky
| my problem is that Perl doesn't _let_ me choose, it _forces_ me to choose, and does not pick sensible default | 20:14 |
| ← capisce_ left | 20:14 |
|
pasky
| so now it will BREAK of _everyone_ | 20:14 |
|
RandalSchwartz
| that's because the default is wrong for most people | 20:14 |
| ← ajonat left | 20:14 |
|
RandalSchwartz
| the ~ approach is wrong for most | 20:15 |
|
pasky
| how so? | 20:15 |
|
RandalSchwartz
| even though you would like it as a default | 20:15 |
|
| dammit - see scrollback | 20:15 |
|
| I don't like repeating myself | 20:15 |
|
pasky
| I've read all you wrote | 20:15 |
|
RandalSchwartz
| it breaks when *you* want to use *my* scripts | 20:15 |
|
| or when we install things into a shared lib | 20:15 |
|
| it's not sufficient for *most* users | 20:16 |
|
| so why make it the default when it breaks things for *most* people | 20:16 |
|
| leads them to a false sense of hope | 20: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 care | 20:16 |
|
RandalSchwartz
| yeah - you're NOT THE NORMAL PERL USER | 20:16 |
|
| get it? | 20:16 |
|
pasky
| no | 20:16 |
|
RandalSchwartz
| too bad | 20:16 |
|
pasky
| I think I'm pretty normal perl user | 20:16 |
|
RandalSchwartz
| I think you aren't | 20:16 |
|
pasky
| but why? | 20:17 |
|
RandalSchwartz
| and I would probably know better than you | 20:17 |
|
| since I've been dealing with crazy perl users for 15 years | 20:17 |
|
madewokherd
| technically, normal perl users don't write or read perl | 20: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 works | 20:17 |
|
RandalSchwartz
| go ahead, discount my experience | 20:17 |
|
| I don't care now. | 20:17 |
|
pasky
| tough to argue if you don't state any arguments :) | 20:17 |
|
RandalSchwartz
| MY EXPERIENCE | 20:18 |
|
| WHAT I HAVE SEEN | 20: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 over | 20:18 |
|
pasky
| you could give some concrete example or something | 20:18 |
|
| pasky is not getting annoyed, personally | 20:18 |
|
RandalSchwartz
| yes. MOST installations I've seen PEOPLE are using OTHER PEOPLE'S SCRIPTS | 20:18 |
|
| for which ~/perl would MOST CERTAINLY BREAK | 20:18 |
|
| I gave that example now three times | 20:19 |
|
| maybe even four | 20:19 |
|
| or five | 20: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 sense | 20:19 |
|
RandalSchwartz
| how many more times do you want me to type that | 20:19 |
|
pasky
| well, most users I've seen actually use a single-user machine so there are no other people's scripts to use | 20:19 |
|
| that's my experience | 20:19 |
|
| and they almost certainly use some perl scripts | 20:19 |
|
RandalSchwartz
| Mikachu - for that type of usage, "use lib" is the proper solution | 20:19 |
|
| which again doesn't rely on ~/perl | 20:19 |
|
| or an envarr | 20:20 |
|
pasky
| you're creating some false dichotomy there, that solving one of the problems by default prevents solving the other one | 20:20 |
|
| RandalSchwartz rolls eyes | 20:20 |
|
RandalSchwartz
| ok - triage time | 20:20 |
|
gram
| jengelh: at least a few years now | 20:20 |
|
RandalSchwartz
| you're not instructable here | 20: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 time | 20:20 |
|
pasky
| I'm accepting it as valid experience | 20: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 envar | 20:21 |
|
| and that envar will break for others | 20:21 |
|
| hence you have to "use lib" for others | 20:21 |
|
| it's a dicotomy BECAUSE IT IS | 20:21 |
|
| either you have the envar or you don't | 20:21 |
| → d0k joined | 20: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 obvious | 20:22 |
|
RandalSchwartz
| so the envar is the WRONG choice if you're sharing | 20:22 |
|
| and it's the RIGHT choice if you're not | 20: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 left | 20:22 |
|
| RandalSchwartz wanders off | 20:22 |
| ← Ademan_ left | 20: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 neither | 20:27 |
| ← gnufied left | 20: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 did | 20:28 |
|
jengelh
| push the right branch | 20:28 |
|
Kagemaru
| uhm | 20:28 |
|
| I think so? | 20:28 |
|
jengelh
| I don't? | 20:28 |
|
Kagemaru
| there's only master | 20:28 |
|
jengelh
| fire up gitk --all, see where master is, and see where origin/master is | 20:28 |
|
Ilari
| Kagemaru: How did you get that rubybot remote? Via 'git remote add'? | 20:29 |
|
Kagemaru
| git clone | 20:29 |
|
Mikachu
| Kagemaru: if you're expecting the working dir of the remote to update when you push, read the faq | 20:29 |
|
Ilari
| Kagemaru: Uh... Isn't the default remote from clone called 'origin'. | 20:29 |
| ← koke left | 20:30 |
|
Kagemaru
| if I do 'git branch' it gives me *master | 20:30 |
|
| if I do 'gitk --all' I see master and origin/master | 20:31 |
| → DJH__ joined | 20: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 forbidden | 20: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 course | 20:34 |
| → Angelic13 joined | 20:34 |
|
Kagemaru
| Mikachu: found it in the FAQ, thanks | 20:39 |
|
| but what would be the expected way to do it? | 20:39 |
| → mtodd__ joined | 20:39 |
|
Mikachu
| you found it, but didn't read it? ;) | 20:39 |
|
Kagemaru
| I did | 20:39 |
|
| it just.... goes a bit over my head | 20:39 |
|
| u.u | 20:39 |
|
| something about a hook | 20:39 |
| ← Angelic13 left | 20: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-clean | 20:43 |
|
holizz
| Aha. Thank you. | 20:44 |
|
Mikachu
| also related, git-ls-files | 20: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 :P | 20:46 |
|
| thanks for the help =) | 20:46 |
| → WALoeIII joined | 20:46 |
| ← mtodd left | 20:47 |
|
Ilari
| Kagemaru: The stuff in [] is section headers. There are options after those section headers. | 20:47 |
| ← albertito left | 20:47 |
| → poildur joined | 20:47 |
| cbrake → cbrake_away | 20:47 |
| → aroben_ joined | 20:48 |
| → mtodd joined | 20:50 |
| ← poildur left | 20: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 joined | 20:54 |
| → Ademan joined | 20:55 |
| → pior joined | 20:55 |
| ← pior left | 20: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__ left | 20:57 |
| ← aroben left | 20:57 |
|
drizzd_
| ok, because non-annotated tags have no objects associated with them, only refs. right? | 20:57 |
| → hipertracker_ joined | 20:57 |
| ← ToxicFrog left | 20:57 |
|
jengelh
| well they have the commit associated | 20:57 |
|
| but it's a ref basically | 20:58 |
| → mvanholstyn joined | 20:59 |
| → robin_ joined | 21:00 |
| → d2dchat joined | 21:01 |
|
drizzd_
| ok, so git-for-each-ref refs/tags | sed 's/.*tag\t//' seems to do the trick | 21:01 |
|
| and then i can just do | xargs git push origin | 21: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 |
| WALoeIII → WALoeIII_em | 21:03 |
|
drizzd_
| maybe it's too minimalistic | 21:04 |
| → bigfleet joined | 21:05 |
|
Ilari
| drizzd_: It should rewrite all matching lines and remove all nonmatching ones... | 21:06 |
|
drizzd_
| yeah, it does | 21:07 |
|
Ilari
| drizzd_: Also, using the `` operator won't work, since the command should not be executed if nothing matches... | 21:07 |
| ← brosner left | 21:07 |
| → PrOmEte joined | 21:07 |
| manveru_ → manveru | 21:07 |
| ← PrOmEte left | 21:08 |
| ← aroben_ left | 21:08 |
|
Ilari
| drizzd_: It doesn't appear to remove nonmatching ones... | 21:10 |
|
drizzd_
| Ilari: yes, of course. you're right. mea culpa | 21:10 |
| → kyevan joined | 21:10 |
|
drizzd_
| git-for-each-ref refs/tags | sed -n 's/.*tag\t//p' is what we want | 21:10 |
|
Ilari
| drizzd_: You have multiple annotated tags and at least one non-annotated one for testing? | 21:11 |
| ← hipertracker left | 21:13 |
| ← GyrosGeier left | 21: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 left | 21:29 |
|
jdavis
| what do the "--" mean before the file? | 21:30 |
| ← Ademan left | 21:30 |
| → priidu joined | 21:32 |
| → Ademan joined | 21: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_ joined | 21: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 left | 21:36 |
| ← Beket left | 21:36 |
|
jdavis
| Ilari: I see, thanks. | 21:37 |
| ← _zack left | 21:39 |
| → Michelangelo joined | 21:40 |
| ← d2dchat left | 21:41 |
| ← Michelangelo left | 21:41 |
| → brosner joined | 21:41 |
| → tommorris joined | 21:41 |
| ← strangy left | 21:45 |
| ← WALoeIII_em left | 21:45 |
| → radarek joined | 21:46 |
| → hipertracker joined | 21:47 |
| ← pfs0 left | 21:48 |
| → WALoeIII joined | 21:50 |
| WALoeIII → WALoeIII_small_t | 21:51 |
| ← tommorris left | 21:52 |
| ← holizz left | 21:53 |
| ← priidu left | 21:53 |
| → tommorris joined | 21:56 |
| ← lucs left | 21:57 |
|
kyevan
| Hmm. | 21:59 |
|
| Er, wrong window | 22:00 |
| → d2dchat joined | 22:00 |
| ← tko left | 22:01 |
| ← ndim left | 22:01 |
| ← felipec left | 22:07 |
| → peeja_ joined | 22:09 |
| ← d0k left | 22:09 |
| ← _graham_ left | 22:10 |
| → mithro joined | 22:12 |
| ← hipertracker_ left | 22:14 |
| → zachinglis joined | 22:15 |
| ← mattf left | 22:16 |
| ← BabelO left | 22:18 |
| jlh_ → jlh | 22:18 |
| pilif → pilif|away | 22:19 |
| → gitte joined | 22:20 |
| → bootie joined | 22:20 |
| → Ramune joined | 22:22 |
| ← peeja left | 22:23 |
| → igorgue_ joined | 22:26 |
|
lea_w
| Is there some reason the Git test suite uses /bin/sh rather than bash? | 22:26 |
| ← igorgue left | 22: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 joined | 22: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_ joined | 22: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.bash | 22:32 |
| ← pombreda left | 22: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 place | 22:33 |
| ← pygi left | 22: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_ joined | 22: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 installed | 22: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 joined | 22: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 apartment | 22: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/bash | 22:37 |
| → jbunster joined | 22: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 spite | 22: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 joined | 22:38 |
| ← d2dchat left | 22: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 left | 22:41 |
| ← zachinglis left | 22:41 |
| ← WALoeIII_small_t left | 22:41 |
| → adante_ joined | 22:41 |
| igorgue_ → igorgue | 22:42 |
| ← DJH__ left | 22:42 |
| ← christastrophe left | 22:42 |
| ← ckoehler left | 22:42 |
| ← cehteh left | 22:42 |
| ← Mikachu left | 22:42 |
| ← tjafk1 left | 22:42 |
| ← jpieper left | 22:42 |
| ← panagos_ left | 22:42 |
| ← lea_w left | 22:42 |
| ← doener left | 22:42 |
| ← adante left | 22:42 |
| ← AlexanderS left | 22:42 |
| ← ft left | 22:42 |
| ← shad left | 22:42 |
| ← G_SabinoMullane left | 22:42 |
| ← ruskie left | 22:42 |
| ← dvorak_ left | 22:42 |
| ← bdowning left | 22:42 |
| ← ska-fan left | 22:42 |
| ← kyevan left | 22:42 |
| ← solatis left | 22:42 |
| ← jezdez left | 22:42 |
| ← tpope left | 22:42 |
| ← mika left | 22:42 |
| ← pigeon left | 22:42 |
| ← halorgium left | 22:42 |
| ← sr left | 22:42 |
| ← Strogg left | 22:42 |
| ← Cap_J_L_Picard left | 22:42 |
| ← nutrimatt left | 22:42 |
| ← Bombe left | 22:42 |
| ← tmm1 left | 22:42 |
| ← metze_away left | 22:42 |
| ← [dmp] left | 22:42 |
| adante_ → adante | 22:42 |
| ← VitaRara left | 22:42 |
| → bdowning joined | 22:43 |
| ← redondos left | 22:43 |
| redondos_ → redondos | 22:43 |
| → Strogg joined | 22:43 |
| → kyevan joined | 22:44 |
| → DJH__ joined | 22:44 |
| → christastrophe joined | 22:44 |
| → ckoehler joined | 22:44 |
| → cehteh joined | 22:44 |
| → Mikachu joined | 22:44 |
| → tjafk1 joined | 22:44 |
| → jpieper joined | 22:44 |
| → panagos_ joined | 22:44 |
| → sr joined | 22:44 |
| → lea_w joined | 22:44 |
| → doener joined | 22:44 |
| → AlexanderS joined | 22:44 |
| → ft joined | 22:44 |
| → shad joined | 22:44 |
| → G_SabinoMullane joined | 22:44 |
| → ruskie joined | 22:44 |
| → Bombe joined | 22:44 |
| → pigeon joined | 22:44 |
| → jezdez joined | 22:44 |
| → ska-fan joined | 22:44 |
| → tmm1 joined | 22:44 |
| → nutrimatt joined | 22:44 |
| → tpope joined | 22:44 |
| → halorgium joined | 22:44 |
| → dvorak_ joined | 22:44 |
| → solatis joined | 22:44 |
| → mika joined | 22:44 |
| → [dmp] joined | 22:44 |
| → Cap_J_L_Picard joined | 22:44 |
| → metze_away joined | 22:44 |
| ← ska-fan left | 22:44 |
| ← metze_away left | 22:44 |
| → metze_away joined | 22:44 |
| → ska-fan joined | 22:44 |
| ← solatis left | 22:44 |
| → solatis joined | 22:44 |
| ← Cap_J_L_Picard left | 22:44 |
| ← sr left | 22:44 |
| → sr_ joined | 22:44 |
| ← mika left | 22:44 |
| → pygi joined | 22:44 |
| → mika joined | 22:44 |
| ← ft left | 22:44 |
| → ft joined | 22:45 |
| ← ychat left | 22:45 |
| sr_ → sr | 22:45 |
|
SRabbelier
| how could I go about listing files changed in a commit? | 22:47 |
| ← jbunster left | 22:47 |
| → jbunster joined | 22:47 |
|
SRabbelier
| e.g., I want --name-status | 22:47 |
|
| but for a specific commit | 22:47 |
|
Pieter
| git log --name-status -1 --pretty="format:" HEAD^^ | 22:48 |
|
SRabbelier
| Pieter: it gives a bonus newline, lol :P | 22: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 though | 22:51 |
|
Mikachu
| there's git diff --name-only sha1^..sha1 too | 22:51 |
|
SRabbelier
| Pieter: whatchanged is nice, bug I don't want the log msg -mutters- | 22:52 |
| → Surfer58 joined | 22: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 want | 22:52 |
| ← Surfer58 left | 22:52 |
|
| SRabbelier sigh | 22:52 |
|
SRabbelier
| spam on IRC now too? sheesh | 22: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 spam | 22:53 |
|
jengelh
| SRabbelier: %-ally, yes. But that does not rule out there are still some idiots around. | 22:53 |
|
Pieter
| fake magazine covers? cool | 22:53 |
|
jengelh
| SRabbelier: also, it only really works when channels are +R or +m | 22:54 |
| → deavid joined | 22:54 |
|
SRabbelier
| jengelh: yeah, I guess that's true... mhh | 22:54 |
|
| Mikachu: it doesn't eat the commit | 22:54 |
|
| Mikachu: complaining about it beign an unknown revision | 22:55 |
|
Pieter
| SRabbelier: it won't work on the first commit in a repo | 22:55 |
|
| the git log thing will though | 22:55 |
|
SRabbelier
| oh, gah, such a silly mistake | 22:55 |
|
| ok ok :P | 22:55 |
| → goibhniu joined | 22:56 |
|
SRabbelier
| I'll go for git log and take the free newline as an added bonus | 22:56 |
|
| (we need a --pretty=none) | 22:56 |
| → strangy joined | 22: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? :P | 22:57 |
|
gitte
| pretty.c | 22:57 |
|
| --pretty=raw? | 22:57 |
|
| SRabbelier crawls under a rock | 22:57 |
|
SRabbelier
| gitte: no, not raw, none! | 22:58 |
|
| like, don't show anything | 22:58 |
|
gitte
| GIT_PAGER="cat > /dev/null" git log | 22:58 |
|
| ;-) | 22:58 |
|
SRabbelier
| gitte: erm, but, I do want the --name-stat part :P | 22: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-stat | 22:59 |
|
SRabbelier
| yy, was suggested, but doesn't work for first commit | 22:59 |
|
gitte
| Oh, okay. | 22:59 |
|
| How about "git log --pretty=format:" then? | 23:00 |
|
SRabbelier
| also | 23:00 |
|
| it feels kinda.. dirty :( | 23:00 |
|
| gitte: yeah, that was what we were thinking off | 23:00 |
|
| gitte: but it gives a bonus newline | 23: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, no | 23:00 |
|
| well, that is | 23: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-index | 23:01 |
|
| Pieter: possibly not a lot? I just don't want the newline! :P | 23:01 |
|
| ok, pretty.c is unreadable to the untrained eye :P | 23:02 |
| ← thiago_home left | 23:02 |
| → albertito joined | 23:02 |
|
Pieter
| I think it's okay | 23:02 |
|
SRabbelier
| I think... I need to edit somewhere in the bottom most function | 23:02 |
|
Pieter
| I tried to figure out the insert/get_marks thing in fast-export.c today | 23:02 |
| ← DJH__ left | 23:02 |
|
Pieter
| took me some time to figure out what happened there | 23:03 |
| ← jbunster left | 23:03 |
| → rubbish joined | 23: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 bit | 23: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 joined | 23:05 |
|
gitte
| putchar(opt->diffopt.line_termination); | 23:05 |
|
SRabbelier
| gitte: whow, skills | 23:05 |
| ← Yuuhi left | 23:05 |
|
gitte
| It's in an if() clause that does trigger when !opt->use_terminator. | 23:05 |
| ← panagos_ left | 23:06 |
| ← trochala left | 23:07 |
|
SRabbelier
| you're using a different version I think | 23:07 |
|
| if (opt->use_terminator) | 23:07 |
|
| putchar('\n'); | 23:07 |
|
| gitte is on 'next' + patches | 23:07 |
|
SRabbelier
| ehe | 23:08 |
|
| mhh, so I'll just have to parse away those newlines, yes? | 23:08 |
|
| no easy way around it? | 23:08 |
| → ironfroggy joined | 23:15 |
| → simosx joined | 23: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 joined | 23: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? :P | 23:19 |
|
| gitte: mhhh... I did it with git log, I'll take the "if len(line.lstrip()) == 0: continue" and go with git log | 23:19 |
|
| no need to check for root | 23:19 |
| ← ckoehler left | 23:20 |
|
gitte
| But making the source ugly. | 23:20 |
|
SRabbelier
| and no 'complex' stuff with redirecting output from python :P | 23:20 |
|
| ugly? why is it ugly? | 23:20 |
| ← hipertracker left | 23:21 |
|
SRabbelier
| http://rafb.net/p/jxnojI78.html | 23:21 |
| ← brosner left | 23:22 |
| → nice_burger joined | 23:22 |
| → sudocoup joined | 23:22 |
| → mvanholstyn joined | 23:22 |
| sudocoup → gitmachine | 23:22 |
|
gitmachine
| evening all | 23:23 |
| gitmachine → gitdrunk | 23:23 |
|
SRabbelier
| oh dear... | 23:23 |
|
| gitte: ping? :D | 23:23 |
| gitdrunk → gitonup | 23:23 |
| gitonup → sudocoup | 23:23 |
|
gitte
| SRabbelier: because you are not really logging commits, are you? | 23:24 |
|
sudocoup
| cant have a git like nick in here really | 23: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 joined | 23:27 |
| ← johan-s left | 23:28 |
| → johan-s joined | 23:28 |
| WALoeIII → WALoeIII_skynet | 23: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_ joined | 23: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 DRY | 23: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 versa | 23:38 |
|
| like --name-status | 23:38 |
| ← mithro left | 23:38 |
|
SRabbelier
| ah, yes, I read that :) | 23:38 |
| mithro_ → mithro | 23: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 sha | 23:39 |
| sudocoup → invalidrecord | 23:40 |
| ← ironfroggy left | 23:41 |
| invalidrecord → gitlifo | 23:44 |
| gitlifo → gitrsl | 23:44 |
| gitrsl → gitlaid | 23:44 |
| gitlaid → sudocoup | 23:45 |
| → zachinglis joined | 23:46 |
| sudocoup → invalidrecord | 23:47 |
| ← devogon left | 23:49 |
| ← zachinglis left | 23:54 |
| → mithro_ joined | 23:57 |
| ← mithro left | 23:58 |
| ← gitte left | 23:59 |
| ← raster_burn left | 23:59 |