| 2009-10-15 |
|
gitte
| scyth: and if you think that this user interface sucks, for something that is _real_ common, then yes, I agree, but others don't. | 00:00 |
|
kain
| Ilari, at this point git status is returning that working dir is clean, and I have the latest revision of the submodule | 00:00 |
|
gitte
| mugwump: for submodules, it is not only UI. | 00:00 |
|
kain
| what should I issue, here, to make vendor/rails rewind to a specific revision? | 00:00 |
|
| this is something I should write and remember later | 00:00 |
|
gitte
| mugwump: there was a power game going on, and somebody "won" because he provided code. | 00:00 |
|
Ilari
| kain: Are you sure you didn't check out the revision submodule already had? | 00:00 |
| → c15c8ra1n joined | 00:00 |
|
gitte
| mugwump: but there are valid use cases where the current internal design of submodules just sucks big time. | 00:01 |
|
kain
| Ilari, yes, I didn't touched the vendor/rails now apart importing it | 00:01 |
|
| Ilari, the problem is that some recent commits in the submodule broke the app. now I need to rewind vendor/rails to a suitable sha | 00:01 |
|
gitte
| mugwump: we had some real life stories about that in Berlin, but that is my fear: that MV will be again a wanking session (fun, to be fair, but just that, fun, nothing serious, and nothing that really has an impact on the real world), and lack a proper user base. | 00:02 |
|
mugwump
| gitte: brief summary of that? I'm thinking a major improvement would be to be able to specify in the .gitmodules file a logical ref to checkout | 00:02 |
| ← slabbeh left | 00:02 |
|
kain
| mugwump, idd | 00:02 |
|
Ilari
| kain: Does 'git ls-files -s vendor/rails' in supermodule list the correct SHA-1? | 00:02 |
|
mugwump
| to be fair, a lot of what was discussed eventually came about | 00:02 |
|
gitte
| mugwump: that is what was being discussed, but the index and the commits do not allow that structure. | 00:02 |
|
mugwump
| who cares? | 00:02 |
|
gitte
| mugwump: so what you record in .gitmodules just does not matter. It just does not. | 00:03 |
|
mugwump
| if when you check it out, you get 'master', does it matter what's in the commit object? | 00:03 |
|
kain
| Ilari, it shows the latest commit sha of the submodule | 00:03 |
|
| on remote repo | 00:03 |
|
Ilari
| kain: Broken one? | 00:03 |
|
kain
| yep | 00:03 |
|
gitte
| mugwump: you cannot record "this is branch A". You can only record "this is commit A". | 00:03 |
|
| mugwump: and yes, that matters. | 00:03 |
|
Ilari
| kain: 'git add vendor/rails' (NO TRAILING '/'!). Rerun that ls-files command, it should have changed the ID. | 00:04 |
|
kain
| Ilari, showing the same sha | 00:04 |
|
| I already added vendor/rails | 00:04 |
| ← antonystubbs left | 00:05 |
|
mugwump
| gitte: sure but if you could record 'on checkout, default to branch A' in .gitmodules, wouldn't that be enough? | 00:05 |
|
gitte
| mugwump: and there are other problems with the Git internals, not the least of which are shabby implementations such as "git-remote-curl". | 00:05 |
|
kain
| Ilari, http://pastie.org/655410 | 00:05 |
|
mugwump
| also one other thing I think would be important would be for 'git commit' to check, if a submodule commit ID changed, that the commit is reachable from the URL given | 00:06 |
| ← travisjeffery left | 00:06 |
|
gitte
| mugwump: it is not in the commit, it is in .gitmodules. In the commit, you _have_ to record a commit name. Of course you can work around everything. But that is lousy design. | 00:06 |
|
mugwump
| I submitted a hook for that once | 00:06 |
|
Ilari
| kain: What does 'cd vendor/rails; git rev-parse HEAD' print? The same hash as that ls-tree printed? | 00:06 |
|
kain
| Ilari, yes | 00:06 |
|
mugwump
| I don't think it's lousy at all | 00:06 |
|
gitte
| mugwump: but it is, because it only reflects _one_ view of the world. | 00:07 |
| ← enherit left | 00:07 |
|
gitte
| mugwump: it is too inflexible, too narrow-minded. | 00:07 |
|
Ilari
| kain: Is the submodule at right (non-broken) version? | 00:07 |
|
mugwump
| I'd like to hear a description of a use case that doesn't fit with what I suggested.. | 00:07 |
|
kain
| Ilari, no, it's locked to the latest hash | 00:08 |
|
gitte
| mugwump: just think multimedia files. | 00:08 |
|
mugwump
| ok, so a submodule with multimedia files in it? | 00:08 |
|
kain
| Ilari, I didn't issue anything to 'revert' the submodule to a specif sha | 00:08 |
| ← drewolson left | 00:08 |
|
kain
| like I need to | 00:08 |
|
Ilari
| kain: 'git checkout <right-commit>', 'cd ../..', 'git add vendor/rails' (note, its add command, no submodule command involved). | 00:08 |
|
kain
| uhm | 00:08 |
|
| Ilari, last time I tried git checkout sha git tried to create a no name branc | 00:09 |
|
| branch*, however I'm trying again | 00:09 |
|
Ilari
| kain: That's ok. | 00:09 |
|
gitte
| mugwump: not just with multimedia files in it. With _the_ multimedia files in it, whatever that is, and the history of that submodule is not a history, but every commit you have there is an "initial" commit. | 00:09 |
|
| mugwump: for whatever reasons, legal ones, for example. | 00:09 |
|
mugwump
| ok. yes, that kind of use case has occurred to me before | 00:10 |
|
kain
| Ilari, it indeed worked, I got the Subproject commit to the right sha | 00:10 |
|
Ilari
| kain: Well, you can create a branch to point to right commit and check that out, but there's little point to that. | 00:10 |
|
mugwump
| so I guess the problem is that you can't zip around history very easily, it will not be able to check out the bad commit IDs | 00:10 |
|
kain
| Ilari, now I'm in this situation which I don't quite understand: http://pastie.org/655413 | 00:11 |
|
gitte
| mugwump: the point is: here we have no bad commit IDs. | 00:11 |
|
Ilari
| kain: Now the changes can be committed. The submodule entry will record the version you told it. | 00:11 |
|
kain
| Ilari, yes, I did this | 00:11 |
|
mugwump
| which I think is solved by specifying in .gitmodules that you want a symref, and that the commit ID in the tree only gets checked out if you specify --submodules-as-committed or something | 00:11 |
|
gitte
| mugwump: but Git is limited to what certain Open Source types think is the universe. | 00:11 |
|
Ilari
| kain: That's not a problem. | 00:11 |
|
kain
| Ilari, allright, thank you very much for your kind help | 00:12 |
| ← jlf left | 00:12 |
|
mugwump
| sure sure, and "Science" is also limited to what certain "Scientists" think is the universe too :)( | 00:12 |
|
gitte
| mugwump: by (ab)using .gitmodules and just recording something bogus in the commit, you admit that the original design just does not catch the use case. So it is lousy. | 00:12 |
|
Ilari
| kain: If you think it looks bad, and want to make it look better (for no real techincal reason): 'git checkout -b <new-branch-name>'. | 00:12 |
|
| kain: (in the submodule). | 00:12 |
|
kain
| yeah, thanks :) | 00:12 |
|
mugwump
| but with modifications, it might not be so lousy | 00:13 |
| ← trigger_ left | 00:13 |
|
mugwump
| and I think the modification I suggest is very backwards compatible | 00:13 |
|
| this is why I like the original design, I think it's actually quite flexible | 00:15 |
|
gitte
| mugwump: it is papering over a serious design flaw, trying to redesign by ignoring the original design, and making .gitmodules much more important than it was ever intended to be. Adding a leven of indirection that shows just how much an add-on it is. | 00:15 |
|
| mugwump: sure. Git is a filesystem. | 00:15 |
|
mugwump
| that whole argument rests on the judgment of the original design as flawed | 00:15 |
|
gitte
| mugwump: that way you can lead any discussion ad absurdum. | 00:15 |
|
mugwump
| but normally when you enhance something to deal with more use cases, you don't consider the old model flawed - just incomplete | 00:16 |
| ← c15c8ra1n left | 00:16 |
|
gitte
| mugwump: that whole argument is that there are valid use cases (that were known _before_) that the design deliberately ignored. | 00:16 |
| ← mw left | 00:16 |
| qrush_ → qrush | 00:16 |
| → travisjeffery joined | 00:16 |
|
gitte
| mugwump: the _current_ design (I am not even starting on the original one) does not _have_ .gitmodules at all. | 00:17 |
| ← travisjeffery left | 00:17 |
|
gitte
| mugwump: so for what you propose, you do not need any submodules, you just need a patch to a Makefile. | 00:17 |
|
| mugwump: but of course, that assumes that you use the Makefile system. | 00:17 |
|
| mugwump: just as your proposal suggests that you use another _addon_ to Git, ignoring the original design. Because it is flawed. | 00:18 |
| → gambler joined | 00:18 |
| ← mithro left | 00:18 |
| → c15c8ra1n joined | 00:18 |
| ← eletuchy_ left | 00:19 |
|
gitte
| mugwump: alas, I cannot come. Work obligations... | 00:21 |
|
mugwump
| I don't understand, did the .gitmodules file get removed? | 00:21 |
|
| it's still on the man page | 00:22 |
|
gitte
| mugwump: it is an _add-on_. | 00:22 |
|
| mugwump: you can have repositories with submodules ("gitlinks") that have no .gitmodules file. | 00:23 |
|
mugwump
| required for 'git submodule' to do anything | 00:23 |
|
| right | 00:23 |
| ← ereslibre left | 00:23 |
|
gitte
| mugwump: everything that has to access said file will be slow, and not integrated into Git, because _no plumbing_ knows about it. | 00:23 |
|
mugwump
| yes, that's true. | 00:24 |
|
| so would it help if 'cat-file' etc could resolve such references etc? | 00:24 |
|
gitte
| mugwump: so by my definition of "add-on" (or maybe even better put: "bolt-on"), this is one. | 00:24 |
| → patmaddox joined | 00:24 |
|
gitte
| mugwump: you can ask plumbing to resolve submodules, but only if you have that very limited view of the world that submodules need to be identified by a single commit name. | 00:25 |
|
| mugwump: and other parts of Git are way to oblivious of submodules, e.g. push. Do you know just how many times I pushed a superproject, forgetting to push the updated submodule's commit? | 00:26 |
| → adam12 joined | 00:26 |
| ← mattam left | 00:26 |
|
gitte
| mugwump: and do you know just how easy it is to lose a commit for good, just because you rebased, and the submodule has no idea that the superproject still wants to keep the now-obsolete commit? | 00:27 |
|
mugwump
| it's a lot easier than it should be | 00:27 |
|
gitte
| mugwump: submodules are really a sore point when it comes to Git. Really, they are one of the biggest shortcomings of Git, but certainly not the only ones. | 00:27 |
|
mugwump
| like I said, it should be hard to commit without commit checking that the commit exists at the url in the .gitmodules file | 00:27 |
|
gitte
| mugwump: us Gits just got too used to it, so it takes real users to tell us what sucks. | 00:27 |
| ← ctusar left | 00:27 |
|
gitte
| mugwump: but that does not help, does it? | 00:28 |
| → ctusar joined | 00:28 |
|
gitte
| mugwump: it is still all too easy to _remove_ that commit retroactively! | 00:28 |
|
Ilari
| And adding any new object type is harder than what it should be because, I had to write invalid octal characters in mode to get a tree what current git versions would reject and not do insane things with. | 00:28 |
|
mugwump
| well, shit happens | 00:28 |
|
Ilari
| s/object/entry/ | 00:28 |
|
gitte
| mugwump: just "git branch -d" and a few weeks later "git gc" (which is often done by default on server installations) is enough. | 00:28 |
|
mugwump
| actually there is a solution for that I think | 00:29 |
| ← gusl left | 00:29 |
|
mugwump
| which is to allow submodules to come from the local GIT_DIR if the objects happen to exist there | 00:29 |
|
gitte
| mugwump: Git's whole right of existence is that it makes "shit happens" hard. And it usually does. But it stops cold when it comes to submodules. | 00:29 |
|
| mugwump: git gc does not follow the gitlinks, even if they exist in the local GIT_DIR. | 00:30 |
|
| mugwump: so you would lose just as well. | 00:30 |
|
mugwump
| right, but if you chose to do that you'd have local branches for the subcommits | 00:30 |
|
| not all projects would want that of course | 00:30 |
|
gitte
| mugwump: it is all too easy to fall into that trap. Way too easy. | 00:31 |
|
Ilari
| (that research on how to build invalid tree object was for researching feasibility of multi-hash repos, as tree objects are the only object that has fixed-width binary fields exactly large enough for SHA-1). | 00:31 |
| → flazz joined | 00:32 |
|
gitte
| Anyway, getting late here, and I am only getting sadder and sadder I cannot go. | 00:33 |
|
| Git night! | 00:33 |
| ← gitte left | 00:34 |
|
| mugwump waves | 00:34 |
| ← alezandro left | 00:34 |
|
| sitaram didn't understand *anything*, even reading the backlog, but is even more convinced that he should continue to stay away from the one part of git he has so far stayed away from :( | 00:36 |
| → ag90 joined | 00:36 |
| → rem7 joined | 00:37 |
|
mugwump
| yeah. see, I'd like to help get rid of that reputation submodules have for being nasty | 00:37 |
|
| I mean, it's deserved, but I think reparable :) | 00:37 |
|
sitaram
| :) | 00:37 |
| → mithro joined | 00:38 |
|
rem7
| I accidently merged a bramch to my master, how do I reset my master to the way it was? git reset --soft <commit> ? | 00:38 |
|
sitaram
| mugwump: just by way of background, everything I do is geared to putting git to work in enviroments where most of the users are refugees from CVS/VSS/SVN and dont want to spend too much time learning | 00:38 |
| ← hobodave left | 00:39 |
| ← ag90 left | 00:39 |
|
sitaram
| mugwump: so if I dont grok it well enough to *teach*, it doesnt exist :( | 00:39 |
| Krynndependent → Krynnowon | 00:39 |
|
sitaram
| rem7: git reset --hard ORIG_HEAD should do it, assuming you had no uncommitted changes when you did the merge. otherwise git reset --merge (in newer gits) | 00:39 |
| → revans joined | 00:40 |
| ← relix left | 00:42 |
|
Ilari
| If I pastebin those remote helper extension patches (whitespace damaged), anybody wants to comment? | 00:43 |
| → jrmuizel joined | 00:43 |
| ← Derander left | 00:44 |
|
rem7
| sitaram: thanks | 00:44 |
| ← rem7 left | 00:45 |
| ← jrmuizel left | 00:47 |
| ← c15c8ra1n left | 00:47 |
| ← onigiri left | 00:52 |
| → jmcantrell joined | 00:52 |
| ← scyth left | 00:54 |
| ← sergiodj left | 00:55 |
| → abms1116 joined | 00:55 |
| → sergiodj joined | 00:55 |
| ← flazz left | 00:57 |
| ← tfarina left | 01:00 |
| → flipmoe joined | 01:00 |
| ← pvvni left | 01:00 |
| → pvvni joined | 01:01 |
| ← elliottcable left | 01:01 |
| → kssddy joined | 01:02 |
| → mre joined | 01:03 |
| ← Lisimba left | 01:03 |
| → ramus`_ joined | 01:04 |
| → rchavik joined | 01:05 |
| ← RurouniJones left | 01:07 |
| → RurouniJones joined | 01:08 |
| → hyperair joined | 01:09 |
| → bdimcheff joined | 01:09 |
| ← VVSiz left | 01:09 |
| ← Theravadan left | 01:12 |
| → lresende joined | 01:15 |
| ← revans left | 01:17 |
| ← ramus` left | 01:18 |
| ← nadim left | 01:18 |
| ← Blackshark left | 01:18 |
| → mtierney joined | 01:19 |
| → raz1146 joined | 01:19 |
|
raz1146
| If Someone using OVI Suite And Content Copier PLEASE PME ! Thanks alot . | 01:19 |
| ← raz1146 left | 01:19 |
| → raz1146 joined | 01:19 |
|
raz1146
| If Someone using OVI Suite And Content Copier PLEASE PME ! Thanks alot . | 01:19 |
| ← hummingkid left | 01:19 |
| ← panpainter left | 01:20 |
| mtierney → panpainter | 01:20 |
| ← raz1146 left | 01:21 |
| → Lisimba joined | 01:23 |
| ← godsflaw left | 01:23 |
| → justin-george joined | 01:23 |
| ← maravillas_ left | 01:23 |
| ramus`_ → ramus` | 01:23 |
| ← squentin left | 01:24 |
| → eletuchy joined | 01:25 |
| ← defectiv left | 01:26 |
| ← mre left | 01:27 |
| → mw joined | 01:31 |
| ← markelik_ left | 01:32 |
| ← kennethlove left | 01:34 |
| ← ryoma left | 01:35 |
| ← adam12 left | 01:35 |
| ← orafu left | 01:36 |
| → orafu joined | 01:36 |
| → _ringlej joined | 01:36 |
| ← bugfux left | 01:37 |
| ← carrus85 left | 01:37 |
| ← kukks left | 01:38 |
| ← PerStrand left | 01:39 |
| ← justin-george left | 01:41 |
| → jfxberns_ joined | 01:42 |
| ← DaveIngram left | 01:43 |
| → DaveIngram joined | 01:44 |
| ← DaveIngram left | 01:44 |
| ← jfxberns left | 01:47 |
| jfxberns_ → jfxberns | 01:47 |
| ← seangrove left | 01:50 |
| → ajonat joined | 01:52 |
| → hobodave joined | 01:55 |
| ← flipmoe left | 01:56 |
| ← jadams left | 01:59 |
| → alezandro joined | 01:59 |
| → bsdvodsky joined | 02:00 |
| → DaveIngram joined | 02:03 |
| → nick_santa joined | 02:06 |
| ← dreiss left | 02:08 |
| ← panpainter left | 02:10 |
| ← blazer left | 02:12 |
| ← altrux left | 02:13 |
| → blazer joined | 02:13 |
| ← tetha left | 02:13 |
| → jrmuizel joined | 02:16 |
| → panpainter joined | 02:18 |
| → tetha joined | 02:18 |
| → s|k joined | 02:20 |
|
s|k
| is there a way to get a git status with only the files changed shown and not all that extra stuff? | 02:21 |
|
Ilari
| s|k: 'git diff --name-status', 'git diff --cached --name-status'? | 02:22 |
| ← panpainter left | 02:24 |
|
s|k
| hrm | 02:24 |
|
| Ilari: thanks | 02:24 |
| → cytrinox_ joined | 02:26 |
|
s|k
| git diff ---stat works too | 02:26 |
| → xenoterracide joined | 02:27 |
| ← luke` left | 02:33 |
| ← mw left | 02:33 |
| → Davey joined | 02:36 |
| → mw joined | 02:37 |
| ← cytrinox left | 02:38 |
| cytrinox_ → cytrinox | 02:38 |
| → upul`` joined | 02:39 |
| ← Davey left | 02:41 |
| ← coolcat left | 02:41 |
| ← mw left | 02:42 |
| ← flaguy48 left | 02:42 |
| → Davey joined | 02:43 |
| ← engla left | 02:48 |
| → johnnyg joined | 02:49 |
| ← johnnyg left | 02:49 |
| → mw joined | 02:50 |
| ← mw left | 02:52 |
| → tstclair joined | 02:53 |
| → herenbdy joined | 02:54 |
| → mw joined | 02:54 |
| ← mw left | 02:59 |
| → ryoma joined | 02:59 |
| → TMChris joined | 03:08 |
| ← tjafk left | 03:08 |
| → tjafk joined | 03:09 |
| ← abms1116 left | 03:10 |
| ← upul`` left | 03:11 |
| → upul joined | 03:11 |
| Krynnowon → krynnotaur | 03:13 |
| ← ctusar left | 03:17 |
| ← bdimcheff left | 03:18 |
| → elliottcable joined | 03:19 |
| ← Sho_ left | 03:24 |
| ← scarabx left | 03:27 |
| ← Guest77776 left | 03:34 |
| → secoif joined | 03:36 |
| → cao joined | 03:36 |
| cao → Guest97189 | 03:36 |
| ← spearce left | 03:37 |
| → lresende_ joined | 03:39 |
| ← lresende_ left | 03:39 |
| ← Guest97189 left | 03:40 |
| → cao joined | 03:41 |
| cao → Guest8911 | 03:41 |
| ← herenbdy left | 03:43 |
| ← tstclair left | 03:43 |
| ← smuf left | 03:46 |
| → mre joined | 03:46 |
| ← lresende left | 03:47 |
| → ben_h joined | 03:48 |
| ← jmcantrell left | 03:48 |
| ← Davey left | 03:49 |
| ← jfkw left | 03:53 |
| → scott_ joined | 03:56 |
|
scott_
| Can I get a diff between HEAD and what is currently staged? This is different from a diff with the file itself because some of the changes are staged but some are not | 03:57 |
| ← zwu|linker_loade left | 03:57 |
| → asciant joined | 03:58 |
| → savant joined | 03:58 |
|
asciant
| Anyone know why yum tries to install git-core, but won't install any dependencies? | 03:58 |
|
savant
| I currently use the following command to view the latest 200 commits in a repository: git --git-dir='/path/to/repo/.git/' rev-list HEAD --max-count=200 | 03:59 |
|
| How do I make it paginate, such that I start 200 commits ago | 03:59 |
|
scott_
| asciant: sounds like a question for your distro, not git | 03:59 |
|
asciant
| hmm ok, thanks | 04:00 |
|
savant
| so for example, I can see commits 200-400 ago, instead of 1-200 ago | 04:00 |
| → zwu|linker_loade joined | 04:00 |
| ← asciant left | 04:00 |
|
savant
| anyone? | 04:01 |
| ← enoex_ left | 04:02 |
| → revans joined | 04:03 |
| ← revans left | 04:03 |
| → mczepiel joined | 04:03 |
| → enoex_ joined | 04:04 |
| → carrus85 joined | 04:06 |
| ← hyperair left | 04:08 |
| → hyperair joined | 04:08 |
| → defectiv joined | 04:10 |
| ← hyperair left | 04:11 |
|
savant
| ah, --skip! thanks anyways... | 04:15 |
| ← Guest8911 left | 04:15 |
| → hyperair joined | 04:16 |
| → cao joined | 04:19 |
| cao → Guest7089 | 04:20 |
|
sitaram
| scott_: git diff --cached | 04:22 |
|
scott_
| sitaram: yeah I found it already. thanks though :) | 04:23 |
|
sitaram
| irc lag + human lag :) | 04:23 |
|
| well actually only human lag :) | 04:23 |
| ← carrus85 left | 04:25 |
| ← jrmuizel left | 04:26 |
| → carrus85 joined | 04:26 |
| → qhoxie joined | 04:28 |
| ← DrAk0 left | 04:29 |
| → Davey joined | 04:30 |
| ← schambers left | 04:30 |
| → Novelocrat joined | 04:30 |
| ← pheaver left | 04:30 |
| → ArdRigh joined | 04:31 |
|
Novelocrat
| Before I toss this patch at the mailing list, could someone sanity-check it? I don't really know perl, but it does indeed work: http://charm.cs.uiuc.edu/~phil/cvsserver.patch | 04:32 |
|
| Do I need to write tests for this before it can be accepted/integrated? It should pretty clearly not degrade anything else. | 04:35 |
| ← savant left | 04:36 |
| → n joined | 04:36 |
| n → Guest62408 | 04:37 |
| ← pvvni left | 04:39 |
| → pvvni joined | 04:39 |
|
Novelocrat
| Anyone interested in CVS support online at all? Should I just send to the list? | 04:42 |
|
jjuran
| Novelocrat: Consider convincing the Web server to specify Content-type: text/plain, possibly by renaming the file. | 04:43 |
|
Novelocrat
| http://charm.cs.uiuc.edu/~phil/cvsserver.txt | 04:45 |
|
| I would of course attach the patch directly in an email | 04:45 |
|
jjuran
| Heh. I ran curl on the old URL right after you changed it. :-/ | 04:46 |
|
Novelocrat
| and I just spotted a typo in there | 04:46 |
|
| in the usage string | 04:46 |
|
| (corrected in the posted patch) | 04:47 |
| ← aggelidis left | 04:48 |
| → marvil07 joined | 04:48 |
|
jjuran
| I'm not familiar with cvsserver such that I can usefully comment. | 04:48 |
|
Novelocrat
| jjuran: are you familiar with git-shell? I took this approach of passing env vars through to cvsserver to avoid modifying git shell | 04:49 |
|
| if modification there made more sense, I can always go back and do that | 04:50 |
| ← loops left | 04:52 |
|
Novelocrat
| The next step in this adventure is figuring out how to get commit authorship information right through cvsserver when it will always be running under the hosting system's account | 04:52 |
|
| I figure the otherwise-common GIT_AUTHOR and GIT_EMAIL environment variables are probably the way to go on those | 04:53 |
| ← elliottcable left | 04:55 |
| ← s|k left | 04:57 |
| ← hyperair left | 04:58 |
| → hyperair joined | 05:01 |
| ← wolog left | 05:01 |
|
jjuran
| Novelocrat: No, I'm not. Try asking on the mailing list for a more informed audience. :-) | 05:02 |
| → pheaver joined | 05:03 |
|
Novelocrat
| ok, will do. I'll send that out shortly | 05:03 |
|
| Thanks | 05:03 |
|
| I'm trying to make some inroads moving away from CVS in a field with many blue-beards (high-performance computing), and part of our transition plan included an agreement that we'd support commit via CVS | 05:04 |
| → justin-george joined | 05:04 |
|
Novelocrat
| I knew it was there, and said so, but didn't realize that there would be pain with not using system accounts for commit access | 05:05 |
| → priidu joined | 05:06 |
| → ramus`_ joined | 05:06 |
| → jmgit joined | 05:07 |
|
jjuran
| I toyed with cvsserver initially, but my GUI CVS client crashed trying to talk to it. | 05:08 |
| → tansell joined | 05:11 |
|
Novelocrat
| that's lame | 05:13 |
| ← justin-george left | 05:14 |
| → wolog joined | 05:15 |
|
jjuran
| IIRC it also crashed with the (not so new) cvs to which SourceForge finally upgraded. So I was forced to switch to command-line cvs. | 05:16 |
|
| Since I no longer had a shiny GUI app to lose, I soon switched to Git. Which besides being a much better VCS also has a much better command-line tool. :-) | 05:17 |
| ← Bass10 left | 05:19 |
| → DrAk0 joined | 05:19 |
| ← ramus` left | 05:19 |
| ← m-takagi left | 05:19 |
| ramus`_ → ramus` | 05:20 |
| ← nick_santa left | 05:20 |
| → loops joined | 05:23 |
| → jceb joined | 05:23 |
| ← marvil07 left | 05:25 |
| → khmarbaise joined | 05:26 |
| ← Novelocrat left | 05:26 |
| → m-takagi joined | 05:26 |
| ← khmarbaise left | 05:26 |
| → qmatoz joined | 05:27 |
| ← ekontsevoy left | 05:29 |
| → philthno2 joined | 05:29 |
| → jaysern joined | 05:35 |
| → rgs_ joined | 05:38 |
| → flipmoe joined | 05:38 |
| ← trigger1 left | 05:42 |
| ← eno left | 05:43 |
| → jmgit_ joined | 05:44 |
| ← rgs__ left | 05:45 |
| → enherit joined | 05:46 |
| → eno joined | 05:46 |
| → APTX|_ joined | 05:53 |
| ← APTX| left | 05:55 |
| → psankar joined | 05:57 |
| ← tuv left | 05:58 |
| ← jmgit left | 05:58 |
| ← defectiv left | 06:00 |
| → tvw joined | 06:01 |
| ← jmgit_ left | 06:02 |
| → ludde joined | 06:03 |
| → sde_antrix joined | 06:06 |
| ← wolog left | 06:07 |
| ← jceb left | 06:07 |
|
ludde
| In the [msysgit? bug] CRLF in info/grafts causes parse error thread on gmane, Junio probably needs a (isspace(buf[len-1])) | 06:08 |
|
| In the [msysgit? bug] CRLF in info/grafts causes parse error thread on gmane, Junio probably needs a while (len > 0 && isspace(buf[len-1])) | 06:08 |
|
| the len > 0 is missing | 06:08 |
| ← schmukkk left | 06:09 |
| → roop joined | 06:09 |
|
doener
| ludde: hm, why aren't you replying to that mail instead? ;-) | 06:11 |
|
| ludde: it's an open list, no need to subscribe | 06:11 |
|
ludde
| doener: I don't know how to do that... I don't want to subscribe to the mailing list, i just wanna read it on the gmane.org site | 06:11 |
|
| hm | 06:11 |
| ← DrAk0 left | 06:12 |
|
ludde
| given this url, what steps do i need to make to post to the thread? http://article.gmane.org/gmane.comp.version-control.git/130321 | 06:12 |
|
| ah | 06:13 |
|
| there's the post thing at the upper right corner | 06:13 |
|
gitster
| Thanks, I already heard you. | 06:14 |
|
ludde
| gitster: hi junio, ok | 06:14 |
|
gitster
| With "while (len && isspace(buf[len-1]))" fix, does it work for you? | 06:14 |
|
doener
| ah, sorry, didn't expect you to be around | 06:14 |
|
ludde
| gitster: yes | 06:15 |
|
gitster
| I am usually not ;-). | 06:15 |
| mre → mre|away | 06:15 |
| ← Guest62408 left | 06:15 |
| ← Azeroth-Work left | 06:15 |
|
ludde
| gitster: (not too familiar with git, i assume isspace has been redefined to point to a char-safe version?) | 06:15 |
|
gitster
| ludde: thanks. I'll send a v2 and you can probably send a Tested-by: | 06:15 |
| → Grahack joined | 06:15 |
| → aggelidis joined | 06:16 |
|
ludde
| looks like it: #define isspace(x) sane_istest(x,GIT_SPACE) | 06:16 |
|
gitster
| yes, our isspace() is sane. | 06:16 |
| ← linkinus left | 06:17 |
| ← Grahack left | 06:17 |
| mre|away → mre | 06:17 |
| ← mre left | 06:18 |
| ← carrus85 left | 06:19 |
|
doener
| *LOL* | 06:21 |
|
| doener just read the commit message for the original "detached HEAD" commit | 06:21 |
|
doener
| it already said that requiring "checkout -f" to leave a detached HEAD might be an option, but an inconvenient one | 06:22 |
| → johan-s_ joined | 06:28 |
| ← johan-s left | 06:28 |
| ← pheaver left | 06:31 |
| → sprasanna joined | 06:32 |
| → cilly joined | 06:33 |
| → seangrove joined | 06:34 |
| ← hakunin left | 06:41 |
| → hakunin joined | 06:42 |
| → justin-george joined | 06:43 |
| ← johan-s_ left | 06:44 |
| → schmukkk joined | 06:49 |
| → struberg joined | 06:49 |
| → mastro joined | 06:53 |
| → eean joined | 06:53 |
| → c15c8ra1n joined | 06:54 |
| ← EricInBNE left | 06:56 |
| → elliottcable joined | 06:57 |
|
ludde
| is there a way to make a git repo append only, meaning that I can use it as a backup, instead of needing to use continous backups? | 06:59 |
| ← c15c8ra1n left | 07:01 |
|
ludde
| i guess the biggest issue is that refs is not version controlled? | 07:01 |
|
cehteh
| git is not really well suited for backups | 07:01 |
|
| you can make refs append only, but it doesnt store metadata well and you cant easily shallow history | 07:02 |
| → chamo joined | 07:02 |
|
chamo
| hello all | 07:02 |
|
Arrowmaster
| theres a config setting to disable deleting branches and you can use a hook to disable non fastforward pushes (one of the example hooks does that) | 07:02 |
|
cehteh
| metadata as in file permissions/owner/groups/extended attributes/acls ... | 07:02 |
|
| Arrowmaster: there is also a mode forbiding non fast forward pushes | 07:03 |
|
| s/mode/config/ | 07:03 |
|
ludde
| if git could someone keep a history of all changes to refs and take that into account when garbage collection, it would probably work, no? | 07:03 |
|
chamo
| we have a repo, I added some images files on it, and when I do a "git pull", I get and error : Entry 'x' would be overwritten by merge. Cannot merge. | 07:03 |
|
| What can I do ??? | 07:03 |
|
ludde
| someone=somehow | 07:03 |
|
cehteh
| chamo: you edited this images? | 07:03 |
| → romfert joined | 07:04 |
|
ludde
| hmm logs/HEAD | 07:04 |
|
| is that a history? | 07:04 |
|
cehteh
| nope that are reflogs | 07:04 |
|
| they get cleaned | 07:04 |
|
chamo
| cehteh: no :( | 07:05 |
|
ludde
| cehteh: what if i turn off the reflog cleaning? | 07:05 |
|
cehteh
| chamo: maybe some tool did, for example inkscape writes to files even if you just vew them (printer settings, zoom level, coords where you look at) | 07:05 |
|
chamo
| how can I resolve the merge on this binary file, that I did not even edit | 07:05 |
|
mastro
| how can I ask git if a file is tracked or not? | 07:06 |
|
chamo
| so I tried to remove the file and get it again | 07:06 |
|
| but not workin | 07:06 |
|
cehteh
| chamo: you can reset this files | 07:06 |
|
| git reset HEAD -- foo.jpg | 07:06 |
|
chamo
| cehteh: how ? | 07:06 |
|
| okay | 07:06 |
|
cehteh
| err checkout | 07:06 |
|
chamo
| i tried it | 07:06 |
|
| ... | 07:06 |
|
cehteh
| git checkout HEAD -- foo.jpg | 07:06 |
|
| git status tell you? | 07:07 |
|
| ludde: git is just not a proper backup tool | 07:07 |
|
| to some extent you can use it for that, but there will always be some dark corners | 07:07 |
| → ixti joined | 07:07 |
|
cehteh
| its bad at managing binary content too | 07:08 |
|
mastro
| cehteh: it's a versioning tool not a backup tool | 07:08 |
|
cehteh
| well ludde wants to use it as backup tool :) | 07:09 |
|
ludde
| versioning is typically a superset of backup when all things in it are versioned | 07:09 |
|
cehteh
| not exactly | 07:09 |
| → Axius joined | 07:10 |
|
ludde
| for svn and hg it's true, anyway | 07:10 |
|
chamo
| got it | 07:10 |
|
| I removed the whole directory | 07:10 |
|
| and fetch'ed it again | 07:10 |
|
| damn | 07:10 |
|
| thanks cehteh | 07:10 |
|
cehteh
| ludde: i doubt that | 07:11 |
| → markelikalderon joined | 07:11 |
|
cehteh
| can svn/hg store special files such as device nodes, do they store complete metadata of the file? | 07:11 |
|
Arrowmaster
| whats wrong with just disabling deleting of branches and non fastforward merges? | 07:12 |
|
cehteh
| git doesnt even store empty directories | 07:12 |
|
ludde
| cehteh: device nodes? i don't have device nodes in my source code tree | 07:12 |
|
cehteh
| for backup purposes | 07:12 |
|
| not for source control | 07:12 |
|
ludde
| cehteh: i'm talking about source code backup not system level backup | 07:12 |
| ← enherit left | 07:12 |
|
cehteh
| ah ok | 07:12 |
|
| then i got you completely wrong | 07:12 |
|
ludde
| yeah :) | 07:12 |
|
| with the current git, it seems like the sysadmins needs to do continous backups of the git repo instead of just always keeping the latest version like we did with svn | 07:13 |
|
| i mean | 07:13 |
| → Fikeis joined | 07:13 |
|
ludde
| maybe my wording is incorrect, but we don't want to keep multiple backups just the latest one | 07:13 |
|
cehteh
| why that? | 07:14 |
|
ludde
| less work | 07:14 |
| ← Akufen left | 07:14 |
|
Arrowmaster
| every clone is a backup | 07:14 |
|
cehteh
| i dont get you | 07:14 |
|
mastro
| ludde: actually width git it could mean more work to keep just the latest one | 07:14 |
|
ludde
| if someone pushes a delete of a branch to the main repo then that branch is lost forever | 07:14 |
|
Arrowmaster
| you can disable that | 07:15 |
|
| like ive been telling you | 07:15 |
|
ludde
| but then you get dead branches lying around.. | 07:15 |
|
mastro
| O_o do you delete branches everyday? | 07:15 |
|
ludde
| if i could get the reflogs to never expire, then the old branch heads would be in there. | 07:16 |
|
Arrowmaster
| why are you even pushing those branches to your main repo then? | 07:16 |
|
cehteh
| why do you want to keep reflogs? | 07:16 |
|
ludde
| cehteh: to make sure git never garbage collects my history | 07:16 |
| → galderz joined | 07:16 |
|
cehteh
| history is in the braches/heads | 07:16 |
|
| well 'commited' history only | 07:17 |
|
| while reflogs also keep some other actions | 07:17 |
|
ludde
| if someone writes a book and then destroys it, that book is still history even though it's no more... that is not the case with git. | 07:17 |
| → engla joined | 07:17 |
|
cehteh
| i guess big reflogs can become slow | 07:17 |
|
Arrowmaster
| if somebody writes a book then goes back in time and destroys it, it doesnt exist | 07:18 |
|
ludde
| sometimes when lots of changes happened to trunk we tend to just copy that to the testing branch rather than merging.. would that be possible with git's way of disabling branch deletion? | 07:18 |
|
| (in git terms, i guess what we really do is to delete the branch and make a new branch with the same name pointing at a different ref) | 07:19 |
|
cehteh
| means resetting master to some new history? | 07:19 |
|
| thats something you should not do in git | 07:19 |
|
| but if you do, you are fine with making a tag on the old master, thats certainly better than keeping reflogs | 07:19 |
|
ludde
| we do that with svn all the time.. but that could be attributed to svn's lack of easy-to-use merges | 07:19 |
|
Arrowmaster
| yeah it is | 07:20 |
|
mastro
| ludde: it seems to me that you are trying to use git as you was using svn.. which is the wrong way, would you try to drive a plane as you drive your car? | 07:20 |
|
cehteh
| yes, in git you should rather merge | 07:20 |
|
Arrowmaster
| everything you know about version control with svn you should just forget | 07:20 |
| ← secoif left | 07:20 |
|
ludde
| mastro: if you're not sure how to do something you tend to start with what you're used to and adapt that | 07:20 |
|
Arrowmaster
| ludde: dont, it will only make things a lot worse | 07:20 |
|
mastro
| ludde: sure :) and I made the same mistake a while ago :) | 07:21 |
|
| ludde: you should rely on merging and/or rebasing | 07:21 |
| ← engla left | 07:21 |
|
mastro
| ludde: not "copying" | 07:21 |
|
cehteh
| well there might be few reasons to reestablish master and start anew from a rebase or whatever | 07:21 |
|
ludde
| is it possible for someone to push an arbitrary change to the head to my repo? | 07:21 |
| → johan-s joined | 07:22 |
|
Arrowmaster
| if you give them access to the repo yes | 07:22 |
|
ludde
| like, a git reset --hard master~1000 (or however you type) | 07:22 |
| ← yaotti_ left | 07:22 |
| → bentob0x joined | 07:22 |
|
ludde
| Arrowmaster: so being able to push things basically means an evil guy could reset head to 1000 revisions back? | 07:23 |
|
mastro
| ludde: are you talking of pushing to a remote repo or resetting a local copy? reset works on the local copy and doesn NOT change the remote | 07:23 |
|
Arrowmaster
| ludde: yes unless you disable non fastforward merges | 07:23 |
|
| er | 07:23 |
|
| pushes | 07:23 |
|
cehteh
| ludde: there is a config to disable non fast-forward pushes | 07:23 |
|
ludde
| ok | 07:23 |
|
cehteh
| http://lumiera.org/.git/config | 07:23 |
|
ludde
| thanks | 07:23 |
|
cehteh
| also for disableing deleting branches | 07:24 |
| → ph^ joined | 07:24 |
| ← qhoxie left | 07:24 |
|
cehteh
| forgot that name | 07:24 |
|
mastro
| ludde: but I don't see the point... if you trust someone give him access, if you don't let him out and don'w worry about people messing your repo | 07:24 |
|
Arrowmaster
| but sometimes you want to be able to do non fast-forward pushes, the official git repo rewrites the history of the branches other than master when theres a new release | 07:24 |
|
ludde
| mastro: I trust the people but it's easy to make mistakes | 07:24 |
| → cedricv joined | 07:24 |
|
mastro
| ludde: make mistake of that kind is NOT easy | 07:24 |
|
ludde
| well people tend to try weird things when they don't know what they're doing | 07:25 |
|
mastro
| ludde: you should... git reset --hard HEAD~1000 your LOCAL repo... | 07:25 |
|
| ludde: then you had to do a remote push | 07:25 |
|
Arrowmaster
| ludde: and as i said before every clone is a backup so anybody that pulled from the repo before something like that happened could give you the commits needed to fix it | 07:25 |
|
ludde
| Arrowmaster: yeah | 07:25 |
|
Arrowmaster
| and its impossible to make a mistake like that on accident | 07:25 |
|
| you have to force the push | 07:26 |
|
mastro
| exactly | 07:26 |
|
Arrowmaster
| if somebody does that on accident they are not trustworthy | 07:26 |
|
cehteh
| as i saied earlier, in doubt tag the old master | 07:26 |
|
| prolly even good practice anyways | 07:26 |
| ← elliottcable left | 07:27 |
|
Arrowmaster
| if you give access to people that click the popups saying their computer might be infected with a virus then yeah theres a chance bad things will happen | 07:27 |
| ← flipmoe left | 07:30 |
| zalun|eee → zalun | 07:30 |
| → cedric_ joined | 07:31 |
| → dpino joined | 07:32 |
| → elliottcable joined | 07:32 |
| → EricInBNE joined | 07:32 |
| ← maattd left | 07:34 |
| → tbf joined | 07:37 |
| ← mczepiel left | 07:38 |
| ← agenteo left | 07:40 |
| → solistic joined | 07:42 |
| → wolog joined | 07:44 |
| ← cedricv left | 07:44 |
|
solistic
| My companies guidelines require me to add a specific fixed prefix to each commit message. Is there a way to prepend a prefix to git commit messages, before the editor is invoked on them? | 07:44 |
|
DrNick
| there's the commit.template config option and the prepare-commit-msg hook | 07:46 |
| ← _ringlej left | 07:47 |
| → ciskje joined | 07:47 |
|
DrNick
| you could also work up a commit-msg hook which verifies that the prefix is present | 07:47 |
|
solistic
| DrNick: Thx for the pointers, I'll educate me | 07:47 |
|
| DrNick: Ah, good idea | 07:48 |
| → madmoose joined | 07:51 |
| → tomgraham joined | 07:52 |
| ← markelikalderon left | 07:52 |
| ← Axius left | 07:53 |
|
solistic
| DrNick: PREPARE-COMMIT-MSG is the way to go, I guess. | 07:54 |
| ← schmukkk left | 07:54 |
| → gunmuc joined | 07:55 |
| → rolfb joined | 07:55 |
| ← philthno2 left | 07:58 |
| → travisjeffery joined | 08:00 |
| → PointMan joined | 08:01 |
| ← seangrove left | 08:03 |
| → psoo joined | 08:03 |
| → d0k joined | 08:05 |
| → seangrove joined | 08:06 |
| ← krawek left | 08:10 |
| → aigon joined | 08:12 |
| → shruggar joined | 08:12 |
| → cedricv joined | 08:13 |
| → mattayers joined | 08:17 |
| ← cedric_ left | 08:17 |
|
mattayers
| Hello! | 08:17 |
| → augustl joined | 08:18 |
|
augustl
| is there an equivalent of git reset --hard HEAD^ to go one step forward in the history? | 08:18 |
| ← wagle left | 08:18 |
|
sitaram
| augustl: strictly speaking, not possible | 08:18 |
|
teuf
| augustl: if you know the sha1 of the "next" commit, you can use git reset --hard <SHA1> | 08:18 |
| → kardan| joined | 08:19 |
|
sitaram
| teuf: and the reflog will often tell you what that sha might be, if you know what to look for | 08:19 |
|
| augustl: ^ | 08:19 |
|
augustl
| so something like git reset --hard $(reflog-magic to find sha here) ? | 08:19 |
|
sitaram
| (sorry!) | 08:19 |
|
| yes | 08:20 |
|
| the most useful I have seen is: 'git reflog show --date=relative HEAD' | 08:20 |
|
teuf
| sitaram: I suck at parsing reflogs :( | 08:20 |
|
| :p | 08:20 |
|
sitaram
| substitute branchname for HEAD if you like | 08:20 |
|
| teuf: I used to... but its worth doing it a few times when you dont need it | 08:20 |
| → cedric_ joined | 08:22 |
|
augustl
| thanks ppl :) | 08:23 |
| ← ajonat left | 08:25 |
| → tjogin joined | 08:25 |
| ← justin-george left | 08:25 |
| ← travisjeffery left | 08:26 |
| → cedric__ joined | 08:26 |
| ← cedricv left | 08:26 |
| ← Thell left | 08:28 |
| → wagle joined | 08:29 |
| ← ryoma left | 08:29 |
| ← ArdRigh left | 08:32 |
|
Arrowmaster
| augustl: im not sure but i think HEAD{1} is one previous entry in the reflog | 08:33 |
|
charon
| HEAD@{1} | 08:35 |
|
Arrowmaster
| almost had it | 08:35 |
|
rolfb
| what is the definition of "reflog" ? | 08:37 |
| zwu|linker_loade → zwu | 08:37 |
|
rolfb
| doh | 08:37 |
|
| ref log | 08:37 |
|
| slooooooow catch | 08:37 |
| → tono joined | 08:44 |
| ← cedric_ left | 08:44 |
| → a-atwood joined | 08:45 |
| ← Fullmoon left | 08:45 |
| ← Pistahh left | 08:45 |
| → Pistahh joined | 08:46 |
| dwmw2_gone → dwmw2 | 08:46 |
|
sitaram
| rolfb: rofl :) | 08:47 |
| → cedric_ joined | 08:47 |
|
rolfb
| re-flog didn't make any sense! | 08:47 |
|
| :) | 08:47 |
|
sitaram
| yeah because we didn't flog the first time :) | 08:47 |
| → frede joined | 08:48 |
|
rolfb
| there is not enough floggin | 08:48 |
|
sitaram
| rolfb: did you know there's a git command called rerere? | 08:48 |
| ← seangrove left | 08:48 |
|
rolfb
| no, neither did I know the meaning of flog | 08:48 |
|
| which i do now | 08:48 |
|
| and realize its bad taste to request more flogging | 08:48 |
|
| :P | 08:48 |
| → seangrove joined | 08:49 |
|
doener
| unless it's about a dead horse. That gets you into management ;-) | 08:49 |
|
rolfb
| i'm already management :/ | 08:49 |
|
| (running my own company) | 08:49 |
|
| :p | 08:49 |
|
sitaram
| rolfb: well if you're the only employee you'd have to hate yourself :) I hope you have others to do that for you! | 08:50 |
|
rolfb
| i have | 08:52 |
|
| but we are trying to be all equals | 08:52 |
|
| so we don't hate as much as we love | 08:52 |
|
| :P | 08:52 |
|
sitaram
| aah that's nice :) | 08:53 |
| ← fujin left | 08:54 |
|
rolfb
| :) | 08:54 |
|
| we just had a laugh about the ref log vs re flog | 08:54 |
|
| :) | 08:55 |
| ← augustl left | 08:55 |
| ← patmaddox left | 08:55 |
|
sitaram
| yeah you can flog your employees too I guess! [figuratively, not literally] | 08:56 |
| ← elliottcable left | 08:57 |
| → rraasch joined | 08:57 |
| ← jfxberns left | 09:02 |
| ← seangrove left | 09:03 |
| ← cedric__ left | 09:03 |
| → cedric__ joined | 09:04 |
| → relix joined | 09:11 |
| → malumalu joined | 09:12 |
| → elliottcable joined | 09:18 |
| ← aigon left | 09:19 |
| ← cedric_ left | 09:20 |
| ← WALoeIII left | 09:24 |
| → lucsky joined | 09:27 |
|
lucsky
| 'morning | 09:28 |
| ← aggelidis left | 09:29 |
| ← gunmuc left | 09:33 |
| ← cilly left | 09:35 |
| ← ben_h left | 09:40 |
| → gunmuc joined | 09:41 |
| ← marc_m left | 09:42 |
| → parasti joined | 09:48 |
| → jinzhu joined | 09:54 |
| → yaotti joined | 09:54 |
| ← jinzhu left | 09:55 |
| → jinzhu joined | 09:57 |
| → khaase joined | 09:58 |
| → cedricv joined | 09:58 |
| → twp joined | 10:00 |
|
twp
| hi all -- i'm having a problem cloning a remote repository containing large binary files | 10:01 |
|
| git-remote-pack is dieing: remote: fatal: Out of memory? mmap failed: Cannot allocate memory | 10:01 |
|
bentob0x
| the remote shows me a branch that doesn't exist anymore, I have the feeling my local repository has some references to branches that don't exist anymore and those references need to be updated/deleted, how can I do this? | 10:02 |
|
twp
| cloning then dies with the error fatal: git-upload-pack: aborting due to possible repository corruption on the remote side. | 10:02 |
|
| is there any way i can stop git from trying to pack objects when cloning? | 10:03 |
|
sitaram
| bentob0x: git remote prune remotename | 10:03 |
| ← ramus` left | 10:04 |
|
bentob0x
| that worked like a charm, thx sitaram | 10:06 |
|
jjuran
| twp: I don't know, but I'm guessing there's a config option for that. | 10:10 |
|
twp
| jjuran: thanks, i've already got "*.gz -crlf -diff -merge" in my .gitattributes, i couldn't find any attribute that like "dont-try-to-pack" | 10:12 |
|
| do you know where else such a config option could be set? | 10:12 |
| → NET||abuse joined | 10:14 |
| → Leftblank joined | 10:15 |
| ← cedric__ left | 10:16 |
| → koltroll joined | 10:16 |
|
jjuran
| twp: man git-config | 10:16 |
|
Gitbot
| twp: the git-config manpage can be found at http://git.or.cz/man/git-config | 10:16 |
|
jjuran
| Search for 'pack'. | 10:16 |
|
twp
| jjuran: thanks! looks very promising | 10:17 |
|
jjuran
| twp: core.packedGitLimit might be what you want. | 10:18 |
|
| Or possibly core.packedGitWindowSize. | 10:18 |
| → cedric_ joined | 10:18 |
| → stamina joined | 10:19 |
|
Ilari
| AFAIK, won't help with large binary files as mappings are not backed by memory but by file (unlike anonymous mappings and heap). | 10:20 |
|
| twp: Maybe add -delta ? | 10:21 |
|
| twp: And info/attributes could work better for such attribute than .gitattributes | 10:21 |
|
twp
| thanks, testing "-delta" now | 10:21 |
| → intripoon joined | 10:23 |
| ← cedricv left | 10:23 |
| → alienbrain joined | 10:24 |
|
Ilari
| twp: Of course, unversioned attributes only affect the repository they are in. | 10:24 |
| → Tachycek joined | 10:25 |
| ← Alpounet left | 10:25 |
| ← Tachycek left | 10:25 |
|
twp
| Ilari: by "unversioned attributes only affect the repository they are in" do you mean that i have to commit the .gitattributes on the master? | 10:25 |
| ← vinse left | 10:26 |
| ← blazer left | 10:28 |
|
Ilari
| twp: I meant that info/attributes is not copied between repositories. And only attributes on source end can affect pack generation. | 10:28 |
|
twp
| Ilari: ok, thanks, so if I configure it correctly on the master it should take effect when the repo is cloned? | 10:29 |
|
Ilari
| twp: And IDK wheither any .gitattributes file affects pack generation. info/attributes does. | 10:29 |
|
| twp: And that might be problematic as info/attributes is repository-local. It is not cloned. | 10:30 |
|
twp
| Ilari: ok thanks | 10:31 |
|
Ilari
| twp: Git is just not good at big files... | 10:31 |
| → capndiesel joined | 10:31 |
|
chamo
| what's big for u? | 10:31 |
|
| more than 10 MB ? more than 100 MB ? | 10:31 |
|
twp
| the binary files are tarballs/rpms from 3rd parties, largest is about 512MB, git server has 2GB RAM | 10:32 |
| tjogin → tjogin|away | 10:33 |
|
twp
| i don't mind git being slow and inefficient on large binary files, but failing completely is rather annoying :-( | 10:33 |
|
selckin
| it doesn't really fit in the git model | 10:33 |
| ← ashH left | 10:33 |
|
twp
| selckin: that's a shame, because git is so nice (github.com/twpayne) | 10:34 |
| → ashH joined | 10:35 |
|
twp
| i think what git needs here is a little "--dont-try-to-be-too-clever" switch :-) | 10:35 |
|
selckin
| or --dont-be-silly-and-store-gigs-of-binary | 10:35 |
|
twp
| i think my use case is valid | 10:35 |
| → transplant joined | 10:36 |
|
twp
| it's a RPM repository: I stored the .spec files and the source tarballs needed to build all the RPMS | 10:36 |
| → UVSoft joined | 10:36 |
|
UVSoft
| hi | 10:36 |
|
selckin
| thats just silly | 10:36 |
|
| not something i would ever use git for | 10:37 |
|
twp
| selckin: what would you recommend instead? | 10:37 |
|
selckin
| tarballs can be fetched as needed? | 10:37 |
|
twp
| not really: unfortunately rpmbuild does not download them automatically, and of course sometimes the source website disappears | 10:38 |
|
transplant
| well, git in loose non-packed repo might be good enought | 10:38 |
|
UVSoft
| sitaramc, are you here? | 10:38 |
|
selckin
| so keep your own mirror, and a wrapper script that fetches them maybe, but keep tarball history in git, and having it pull it on every clone for someone who wants to edit the .spec files is rather icky | 10:39 |
|
sitaram
| yup; missed you in the morning (I was asleep -- I live in India!) | 10:39 |
| ← solistic left | 10:39 |
| ← struberg left | 10:39 |
|
sitaram
| tried to reply to your pm, didnt happen | 10:39 |
|
| UVSoft: ^ | 10:39 |
|
UVSoft
| sitaramc, thanks, gitolite is wonderful! | 10:39 |
|
sitaram
| :) | 10:39 |
|
shruggar
| twp: use something like svn, which is designed with binaries in mind | 10:39 |
|
twp
| transplant: that sounds good, how to i configure git to use loose packing? | 10:39 |
|
broonie
| sitaram: You need to be authenticated with nickserv for /msg | 10:39 |
|
sitaram
| broonie: he was offline :) | 10:40 |
|
UVSoft
| sitaramc, btw can one user have several keys? | 10:40 |
|
transplant
| twp, that i do not know | 10:40 |
|
twp
| ok, thanks all for your help, i'll do a bit more research | 10:40 |
|
transplant
| i am curious as well | 10:40 |
|
sitaram
| UVSoft: yes; its explained in http://github.com/sitaramc/gitolite/blob/pu/doc/3-faq-tips-etc.mkd -- the section on "onse user many keys" | 10:40 |
|
shruggar
| twp: or wait 10 or so years for git to embrace shallowness a bit more :) | 10:40 |
|
selckin
| twp: a year from now you'll still be downloading all the sources from versions you odn't care about anymore | 10:40 |
| → mmw joined | 10:40 |
|
sitaram
| one* | 10:40 |
| ← mmw left | 10:41 |
|
selckin
| twp: and the git repo willl be huge | 10:41 |
|
twp
| i used svn for several years and don't really want to go back to it | 10:41 |
|
UVSoft
| sitaramc, ohh i missed that, thanks) | 10:41 |
|
sitaram
| you're welcome! | 10:41 |
|
selckin
| twp: use git for .spec files, figure out another way to handle your tarballs | 10:41 |
|
shruggar
| twp: if you're dealing with large binaries, git is not a good solution. | 10:41 |
|
twp
| selckin: i don't really care if the repo is huge, disk space is so cheap these days | 10:41 |
|
sitaram
| UVSoft: I write more docs than code, so it's easy to miss stuff :) | 10:41 |
| → Spark joined | 10:41 |
| → rsv joined | 10:42 |
|
selckin
| twp: up to you, but you'll regret it :) | 10:42 |
|
transplant
| if he *is* going to keep the tarballs anyway, git in loose repo won't be any worse | 10:42 |
|
shruggar
| twp: clones will also grab a bunch of useless information. Why download 600GB when you could just as easily download 500MB? | 10:42 |
|
rsv
| how to create a git tag? | 10:42 |
|
twp
| shruggar: there are few clones, I'm just using git to share the repo between 32-bit and 64-bit build machines | 10:43 |
|
UVSoft
| sitaramc, i'm gonna recomment all friends of mine to use your gitolite) i'm positive thay will be so happy! really great tool | 10:43 |
|
sitaram
| UVSoft: thanks -- you made my day! | 10:43 |
|
shruggar
| twp: when it's potentially hundreds-of-gigabytes involved, I'd point out that the difference between "few" and "none" is "a lot" | 10:43 |
| → zoniq joined | 10:44 |
|
twp
| shruggar: the actual size is about ~3GB, it will maybe grow by ~1GB per year | 10:44 |
|
| shruggar: also, the large binaries do not change, although old ones get occasionally "git rm"'d | 10:45 |
| ← UVSoft left | 10:45 |
|
shruggar
| twp: what would make me happiest is if you patch git so that it can handle your situation sanely, because recently we've started checking .psd's into our svn repos and it's making my clones grow a lot faster than they used to ;) | 10:46 |
| → Fullmoon joined | 10:47 |
|
mastro
| is there a way to make git delete all untracked/not-ignored files? | 10:48 |
|
shruggar
| mastro, "git clean" | 10:48 |
|
mastro
| shruggar: i'll read the manual, tnx | 10:49 |
|
shruggar
| which is another to add to the list of "can't go back from it" functions from yesterday :) | 10:49 |
|
twp
| shruggar: will have a poke around, i see that there is a --upload-pack option to git-clone that may provide a suitable hook for a "null" pack command | 10:49 |
| ← transplant left | 10:49 |
| ← nick_fn left | 10:50 |
|
shruggar
| and I'd say quite a good example of one which /shouldn't/ transparently index things so that there is a way to "get back" | 10:50 |
|
rsv
| sitaramc: what is gitolight? | 10:52 |
|
mastro
| and is there a command to list all untracked files in a "plain format"? (I want to add all untracked files to my .gitignore) | 10:52 |
|
sitaram
| rsv: http://github.com/sitaramc/gitolite will tell you -- in the "what" section :) | 10:53 |
| → thiago_home joined | 10:53 |
|
sitaram
| rsv: just scroll down a bit to see it | 10:53 |
|
rsv
| yeah, thank you | 10:53 |
|
sitaram
| rsv: (basically access control for multiple repos/users) | 10:53 |
| → Yuuhi`` joined | 10:54 |
|
rsv
| we do that here, we have mutiple repos using a single git daemon | 10:54 |
|
| but access control is same for all | 10:54 |
| ← wolog left | 10:54 |
|
rsv
| sitaram: good, you are doing good work, you inspire me to do something for opensource | 10:56 |
|
sitaram
| rsv: ouch...! big words man :) | 10:56 |
|
| rsv: but thanks :) | 10:56 |
|
rsv
| is this part of your work? | 10:56 |
|
| or is this the only work you do at office? | 10:57 |
|
sitaram
| rsv: however, if *I* am your example of doing good work, you ain't seen nothing yet -- there are so many who do 1000x more than me :) | 10:57 |
|
rsv
| yes, i know | 10:57 |
|
sitaram
| rsv: I do a lot more at work :) | 10:57 |
|
rsv
| sometimes i feel bad about it | 10:57 |
|
| that i am not able to do like that | 10:57 |
|
Ilari
| twp: Or expand the tarballs in repository (maybe with tempate file to get bit-to-bit identical copy back). That should cut the size of largest file. | 10:58 |
|
| twp: Ah, but they are .gz's. Getting those back bit-exact is nastier. | 10:59 |
|
twp
| Ilairi: yeah, there's a mix of .tar.gzs, .tar.bz2s, and even a few .zips | 10:59 |
|
Ilari
| twp: Is it requirement to get compressed files back bit-exact? Or would equivalent files be enough? | 11:00 |
|
twp
| equivalent is probably sufficient, but bit-exact would be safer | 11:00 |
|
mastro
| I tried this: "git ls-files --others --exclude-standard" but it does NOT do what I want.. if there is a new directory (untracked directory) I want to have the path of the untracked directory not the path of all the files inside it | 11:01 |
|
twp
| I could split the files in to chunks and re-join them easily with a few scrips | 11:01 |
|
| Ilari: this way the largest file that git would ever have to handle could be easily limited | 11:02 |
| ← jinzhu left | 11:02 |
|
Ilari
| twp: In this case "equivalent file" with .tar.gz's and .tar.bz2's would mean stream which when unpacked produces bit-to-bit identical tar. | 11:02 |
|
mastro
| ah... I missed the --directory option :) | 11:02 |
| ← roop left | 11:02 |
| → vals_ joined | 11:03 |
|
| Ilari adds new one to typos list... | 11:04 |
|
twp
| Ilari: sorry RL problem, afk for a short time | 11:04 |
| ← JasonWoof left | 11:05 |
| ← yaotti left | 11:05 |
| pilif|away → pilif | 11:07 |
| ← khaase left | 11:08 |
| → MisterN joined | 11:08 |
| pilif → pilif|away | 11:08 |
| ← Yuuhi` left | 11:10 |
| pilif|away → pilif | 11:11 |
|
tbf
| btw, what's the reason for having tags __and__ branches? | 11:12 |
|
| wouldn't branches be sufficient? | 11:12 |
| ← ph^ left | 11:13 |
|
Ilari
| tbf: Signing stuff. And tags tend to be fixed and branches move forward... | 11:13 |
| → ph^ joined | 11:13 |
|
shruggar
| tbf: from a technical standpoint, yes, but from a conceptual standpoint it's nice to have a name which is _guaranteed_ to not change. tags can also be digitally signed | 11:13 |
| → cilly joined | 11:14 |
|
shruggar
| tbf: from a purely technical standpoint, both tags and branches are unnecessary and we could all work off commit-id's, too ;) | 11:14 |
|
tbf
| shruggar: now what naming convention do you use for branches if you have to create a hotfix release on top of a branch? | 11:16 |
| ← brizly1 left | 11:16 |
| → brizly joined | 11:16 |
| → yaotti joined | 11:16 |
| ← rsv left | 11:17 |
| → spaceonline joined | 11:17 |
|
shruggar
| tbf: no idea what you mean by "hotfix release", is there another term for it? bugfixes applied to a "stable" branch, maybe? | 11:17 |
| ← tango_ left | 11:18 |
| ← Pewpewarrows left | 11:19 |
|
tbf
| shruggar: well, let me explain our integration process: 1) we tag a release 2) pre integration build bots pick it up 3) pre integration testers check it 4) when approved the release is send to system integration where there are additional automatic sanity checks | 11:20 |
|
| development moves on after step 1. | 11:20 |
|
| if now testers find minor stuff in step 3, i need to create some "hotfix" release on top of the tag created in 1 | 11:21 |
|
| cann't just apply the fixes to master as there are new fixes and testers the entire process would have to restart | 11:21 |
| ← malumalu left | 11:21 |
|
Mikachu
| you can checkout the tag, fix the bug, commit, tag the new commit, push out the new tag | 11:22 |
|
shruggar
| tbf: I wouldn't have bothered "tagging the release" until it was done. I'd make a branch at that point, called something like "pre-3.0", and tag 3.0 when that was declared fit | 11:23 |
|
tbf
| shruggar: the build bot only starts when it sees a tag | 11:23 |
|
Mikachu
| or call the pre-test tag something like 3.0_rc1 | 11:23 |
|
shruggar
| tbf: then, yeah, what Mikachu said. Tag it as "release candidate", and tag each release candidate which is ready for automated testing | 11:24 |
|
tbf
| Mikachu: well, then i'd have to care creating the proper release tag when the image finally is sent do SI, which usually happens behind my back | 11:24 |
|
Mikachu
| that's not really my problem ;) | 11:25 |
|
tbf
| Mikachu: i only get bothered in the 1 out of 100 cases when the initial tag was wrong | 11:25 |
|
Mikachu
| either you call the first tag _rc1 and then make the release tag when it passes testing | 11:25 |
|
| or you call it 3.0 and then when it fails you have to call the new one 3.0-oops1 | 11:25 |
|
tbf
| hmm. guess i'll just call the hotfix branches "milestone/version/fixes" | 11:26 |
| → philthno2 joined | 11:26 |
|
Mikachu
| or you can revisit your build bot scripts | 11:26 |
| → jfkw joined | 11:26 |
| → flaguy48 joined | 11:29 |
| → ntoll joined | 11:29 |
| ← ab3 left | 11:30 |
| → malumalu joined | 11:30 |
| → wolog joined | 11:31 |
| → VVSiz joined | 11:35 |
| ← hobodave left | 11:35 |
| ← mithro left | 11:36 |
| → marc_m joined | 11:36 |
| ← DaveIngram left | 11:37 |
| marc_m → marc_kdab | 11:37 |
| ← warthog9 left | 11:38 |
| ← kupsch left | 11:38 |
| ← lfranchi left | 11:38 |
| ← cxreg left | 11:38 |
| ← dna left | 11:38 |
| ← jefferai left | 11:38 |
| ← sitaram left | 11:38 |
| ← FreakGuard left | 11:38 |
| ← BeerSerc left | 11:38 |
| ← dionoea left | 11:38 |
| ← tchan left | 11:38 |
| ← Pieter left | 11:38 |
| ← no_maam left | 11:38 |
| ← Thumper_ left | 11:38 |
| ← ice799 left | 11:38 |
| ← tonyj_ left | 11:38 |
| ← tokkee left | 11:38 |
| ← docgnome left | 11:38 |
| ← jettero left | 11:38 |
| → lfranchi joined | 11:38 |
| → jefferai joined | 11:39 |
| → Pieter joined | 11:40 |
| → tonyj joined | 11:40 |
| → dionoea_ joined | 11:40 |
| → warthog9 joined | 11:40 |
| → kupsch joined | 11:40 |
| → cxreg joined | 11:40 |
| → dna joined | 11:40 |
| → FreakGuard joined | 11:40 |
| → sitaram joined | 11:40 |
| → BeerSerc joined | 11:40 |
| → jettero joined | 11:40 |
| → tokkee joined | 11:40 |
| → tonyj_ joined | 11:40 |
| → docgnome joined | 11:40 |
| → dionoea joined | 11:40 |
| → ice799 joined | 11:40 |
| → Thumper_ joined | 11:40 |
| → tchan joined | 11:40 |
| → no_maam joined | 11:40 |
| → no_maam_ joined | 11:40 |
| ← dionoea left | 11:40 |
| ← tokkee left | 11:40 |
| → tokkee joined | 11:40 |
| → Thumper__ joined | 11:40 |
| ← ice799 left | 11:40 |
| → jettero_ joined | 11:40 |
| → sitaram_ joined | 11:40 |
| ← cxreg left | 11:41 |
| ← FreakGuard left | 11:41 |
| → cxreg joined | 11:41 |
| → tchan1 joined | 11:41 |
| → ice799 joined | 11:41 |
| ← tchan left | 11:41 |
| ← jettero left | 11:41 |
| → JonasG joined | 11:41 |
| ← tonyj_ left | 11:41 |
| ← kupsch left | 11:41 |
| ← no_maam left | 11:42 |
| ← Thumper_ left | 11:42 |
| → kupsch joined | 11:42 |
|
ludde
| if I have a totally empty repo made with gitosis, located on my server, how do I get my dev machine to clone from it? | 11:42 |
| Thumper__ → Thumper_ | 11:42 |
| → FreakGuard joined | 11:42 |
|
ludde
| the problem is that i can't clone from an empty repo | 11:42 |
|
Ilari
| ludde: You need very receent version of gitosis plus recent version of git. | 11:42 |
|
| ludde: Otherwise, you need to push to it first. | 11:42 |
|
ludde
| how do i setup my working copy to think it's associated with the gitosis repo without actually cloning from it? | 11:43 |
|
charon
| git remote add origin $url | 11:44 |
| ← m-takagi left | 11:44 |
| ← Sonderblade left | 11:44 |
| → Sonderblade_ joined | 11:44 |
| ← yaotti left | 11:45 |
|
Ilari
| ludde: Neither clone nore git remote add associate repo with another. Its shorthand name for another repository for operations that can designate other repos. | 11:45 |
|
| ludde: (plus namespace for remote tracking branches) | 11:45 |
| → mcella joined | 11:46 |
|
ludde
| Ilari: when i push after having done git remote add origin it complains about | 11:47 |
|
| No refs in common and none specified; doing nothing. | 11:47 |
|
| Perhaps you should specify a branch such as 'master'. | 11:47 |
|
Ilari
| ludde: Well, specify what branches you want to push (the first non-option argument is repository designation, the rest are what to push). | 11:48 |
|
charon
| well then, perhaps you should specify a branch such as 'master'. | 11:48 |
|
ludde
| ok | 11:49 |
|
jast
| ludde: whenever you push a new branch you need to name it explicitly (git push <remote> <branch>); by default push only updates branches that exist on both sides | 11:49 |
| ← multani0 left | 11:50 |
|
ludde
| aha | 11:50 |
|
charon
| i think this conversation somehow constitutes an argument in the whole warn vs. prohibit debate, i'm just not sure on which side yet | 11:51 |
|
twp
| Ilari: thanks for your help earlier, you've given me a several promising ideas, gotta go now | 11:51 |
| ← twp left | 11:51 |
|
ludde
| it seems to work now, thanks | 11:51 |
|
| it would have been more helpful if the error message said 'perhaps you mean git push origin master' | 11:52 |
| ← romfert left | 11:52 |
| → multani joined | 11:53 |
|
ludde
| Ilari: how does a recent gitosis and a recent git solve the issue? | 11:53 |
|
Ilari
| ludde: Receint git lets to clone empty repos and recent gitosis creates repos on read (otherwise you would get can't chdir error). | 11:54 |
| vals_ → tango_ | 11:54 |
|
ludde
| aha nice | 11:54 |
|
Ilari
| Set the default remote name to what the default would be (if unspecified) and default branch name to current branch? | 11:54 |
| → roop joined | 11:55 |
| ← sitaram left | 11:55 |
| ← cilly left | 11:56 |
| ← doener left | 11:57 |
| → doener joined | 11:57 |
| ← kpreid_ left | 11:58 |
| → kpreid_ joined | 11:58 |
|
ludde
| Ilari: do you know how recent git? with 1.6.4 and I do (mkdir a && cd a && git init) && git clone file:///d/temp/a b i get | 12:01 |
|
| warning: You appear to have cloned an empty repository. | 12:01 |
|
| fatal: The remote end hung up unexpectedly | 12:01 |
|
Ilari
| ludde: Did the clone really work? | 12:02 |
|
shruggar
| 86ac751859033741a120e9e4a91133d075d9d898 | 12:02 |
|
Gitbot
| [git 86ac75185]: http://tinyurl.com/lkdut3 -- Allow cloning an empty repository | 12:02 |
|
ludde
| hmm yeah it seems to have worked | 12:03 |
|
| only exception from the regular case is I have to write 'git push origin master' instead of just 'git push' since the branch master is not created in a yet. | 12:04 |
| → runeb- joined | 12:04 |
| → cilly joined | 12:04 |
|
ludde
| it's a bit weird that it prints that fatal error message, though. | 12:04 |
|
shruggar
| use git --version to make sure you're using the one you think you are? :) | 12:06 |
|
ludde
| git version 1.6.4.msysgit.0 | 12:06 |
|
Ilari
| ludde: I think newer versions still fix that error message... | 12:06 |
| → DaveIngram joined | 12:07 |
| ← tg left | 12:09 |
| ← roop left | 12:09 |
| ← kupsch left | 12:09 |
| ← jettero_ left | 12:09 |
| ← dionoea_ left | 12:09 |
| ← Yuuhi`` left | 12:09 |
| ← zoniq left | 12:09 |
| ← frede left | 12:09 |
| ← mattayers left | 12:09 |
| ← johan-s left | 12:09 |
| ← ludde left | 12:09 |
| ← tvw left | 12:09 |
| ← loops left | 12:09 |
| ← priidu left | 12:09 |
| ← Davey left | 12:09 |
| ← tjafk left | 12:09 |
| ← ruphy left | 12:09 |
| ← Gitzilla left | 12:09 |
| ← knittl left | 12:09 |
| ← nothingHappens left | 12:09 |
| ← yhager left | 12:09 |
| ← pas left | 12:09 |
| ← gitster left | 12:09 |
| ← _hp_ left | 12:09 |
| ← rtyler left | 12:09 |
| ← jmspeex left | 12:09 |
| ← chrysn left | 12:09 |
| ← shd left | 12:09 |
| ← eMBee left | 12:09 |
| ← dsch04 left | 12:09 |
| ← dsop left | 12:09 |
| ← BC^bd left | 12:09 |
| ← offby1 left | 12:09 |
| ← segher left | 12:09 |
| ← dkr21 left | 12:09 |
| ← uau left | 12:09 |
| ← RobertLaptop left | 12:09 |
| ← jrdavid left | 12:09 |
| ← madewokherd left | 12:09 |
| ← electrogeek left | 12:09 |
| ← pielgrzym left | 12:09 |
| ← dmlloyd left | 12:09 |
| ← lucs left | 12:09 |
| ← Aikawa left | 12:09 |
| ← erg left | 12:09 |
| ← przemoc left | 12:09 |
| ← me22 left | 12:09 |
| ← fr left | 12:09 |
| ← Kangou left | 12:09 |
| ← joeytwiddle left | 12:09 |
| ← GarethAdams|Work left | 12:09 |
| ← reto__ left | 12:09 |
| ← PN left | 12:09 |
| ← LotR left | 12:09 |
| ← aep left | 12:09 |
| ← csgeek left | 12:09 |
| ← wang left | 12:09 |
| → Ryback_ joined | 12:09 |
| ← kssddy left | 12:10 |
| → roop joined | 12:10 |
| → kupsch joined | 12:10 |
| → jettero_ joined | 12:10 |
| → dionoea_ joined | 12:10 |
| → Yuuhi`` joined | 12:10 |
| → zoniq joined | 12:10 |
| → frede joined | 12:10 |
| → mattayers joined | 12:10 |
| → johan-s joined | 12:10 |
| → ludde joined | 12:10 |
| → tvw joined | 12:10 |
| → loops joined | 12:10 |
| → priidu joined | 12:10 |
| → Davey joined | 12:10 |
| → tjafk joined | 12:10 |
| → ruphy joined | 12:10 |
| → Gitzilla joined | 12:10 |
| → knittl joined | 12:10 |
| → nothingHappens joined | 12:10 |
| → segher joined | 12:10 |
| → yhager joined | 12:10 |
| → Aikawa joined | 12:10 |
| → madewokherd joined | 12:10 |
| → pas joined | 12:10 |
| → GarethAdams|Work joined | 12:10 |
| → gitster joined | 12:10 |
| → PN joined | 12:10 |
| → joeytwiddle joined | 12:10 |
| → jrdavid joined | 12:10 |
| → uau joined | 12:10 |
| → reto__ joined | 12:10 |
| → tg joined | 12:10 |
| → dmlloyd joined | 12:10 |
| → RobertLaptop joined | 12:10 |
| → _hp_ joined | 12:10 |
| → rtyler joined | 12:10 |
| → erg joined | 12:10 |
| → lucs joined | 12:10 |
| → dsop joined | 12:10 |
| → jmspeex joined | 12:10 |
| → me22 joined | 12:10 |
| → LotR joined | 12:10 |
| → pielgrzym joined | 12:10 |
| → dkr21 joined | 12:10 |
| → fr joined | 12:10 |
| → offby1 joined | 12:10 |
| → csgeek joined | 12:10 |
| → BC^bd joined | 12:10 |
| → chrysn joined | 12:10 |
| → przemoc joined | 12:10 |
| → dsch04 joined | 12:10 |
| → Kangou joined | 12:10 |
| → aep joined | 12:10 |
| → shd joined | 12:10 |
| → wang joined | 12:10 |
| → electrogeek joined | 12:10 |
| → eMBee joined | 12:10 |
| → linkinus joined | 12:10 |
| ← jjuran left | 12:10 |
| → RichGuk joined | 12:11 |
|
RichGuk
| Any idea why I'm getting this when closing a SVN repo with git-svn: Error in tempfile() using .git/XXXXXXXXXX: Parent directory (.git/) is not writable | 12:13 |
|
selckin
| have you read it? | 12:13 |
|
RichGuk
| I'm running the git svn clone command from OSX on a NFS mounted volume. I can clone normal git repos fine. | 12:13 |
| → ctusar joined | 12:14 |
| → gaveen joined | 12:15 |
|
RichGuk
| selckin: Yes I have, just wondered if it was a permissions problem seeming I can clone normal repos fine over the mounted volume. | 12:16 |
|
| and .git appears writeable. | 12:16 |
|
shruggar
| anyone know a link to a thread or something which describes the purpose of "git replace"? the manpage for it seems very.. non-explainy | 12:16 |
| ← Davey left | 12:17 |
| ← kpreid_ left | 12:19 |
|
charon
| shruggar: http://thread.gmane.org/gmane.comp.version-control.git/130000/focus=130005 | 12:19 |
| ← LRN left | 12:19 |
|
shruggar
| charon, thanks, my google-fu was failing me | 12:19 |
|
charon
| well look at the date... for once my memory served me ;) | 12:20 |
|
ludde
| is a git 1.6.4 repo compatible with git 1.5? | 12:20 |
|
| how old git do I need for it to be incompatible? | 12:20 |
|
shruggar
| compatible in which direction? | 12:22 |
|
ludde
| in both directions | 12:23 |
| tjogin|away → tjogin | 12:23 |
|
charon
| see c0a5e2d477ba for the indexes, can't find the one for the pack files themselves | 12:23 |
|
Gitbot
| [git c0a5e2d47]: http://tinyurl.com/yh6l4h6 -- pack.indexversion config option now defaults to 2 | 12:24 |
|
ludde
| i.e. which git version X is the lowest version such that a developer using X and one using master can collaborate | 12:24 |
|
charon
| the formats of the rest have afaik been stable for longer than you should care | 12:24 |
|
ludde
| cool | 12:24 |
|
RichGuk
| Any ideas? ^ | 12:24 |
| → dfaure joined | 12:26 |
|
dfaure
| I made a commit in branch A and then created branch B, while I meant to do the opposite (so the commit should be only in branch B). How do I "move" it? Just reset A to one commit before, or will that mess up B? | 12:27 |
|
Ilari
| Pack v3 appeared in 1.2 | 12:28 |
| ← priidu left | 12:28 |
|
Ilari
| Then there are the offset deltas... | 12:28 |
|
Thumper_
| dfaure: yes assuming B was created from A | 12:28 |
|
dfaure
| yes it was | 12:28 |
| → tstclair joined | 12:28 |
|
dfaure
| so, git checkout A ; git reset <sha1_of_previous_commit> ? | 12:29 |
|
Thumper_
| dfaure: you'll just move A back to a previous commit (where you really want it to be) | 12:29 |
|
| dfaure: yes | 12:29 |
|
loops
| RichGuk: try setting TMPDIR to a local directory | 12:29 |
|
dfaure
| ok. initially I was going to go rebase -i, delete commit, then cherry-pick :/ | 12:29 |
|
Thumper_
| dfaure: or you can do it in gitk - and right click on the commit you want it to be and and reset A to here | 12:29 |
|
Ilari
| ludde: For what version is sufficient for cloning, I once cloned (this was few months ago) git.git using pre-1.0 version. I think the lowest requirement for that is 0.99.1... | 12:29 |
|
thiago_home
| ludde: I think 1.4.4.4 is still push-fetch compatible. But use 1.6, period. | 12:29 |
| → Blackshark joined | 12:30 |
| ← gaveen left | 12:31 |
|
Ilari
| For fun read, type 'git show v0.99.1' in git repo clone... :-) | 12:31 |
| → blazer joined | 12:32 |
| → rsv joined | 12:32 |
|
rvsjoen
| any chance there is an easy way of separating multiple changes in a single file into separate commits ? | 12:34 |
|
rsv
| i have a git repo - i have 2 branches - one is unstable branch and another is a stable branch - i/my team does git commits to the unstable branch, once in a while i move the patches from unstable to stable branch | 12:34 |
|
RichGuk
| loops: No luck. | 12:34 |
|
rsv
| while moving so - i get git errors | 12:34 |
|
| arent the checksums affected here | 12:34 |
|
Ilari
| rsv: What errors? | 12:34 |
|
rsv
| the patch not applied properly | 12:35 |
|
dfaure
| Thumper_: thanks for the help | 12:36 |
| ← dfaure left | 12:36 |
| ← tstclair left | 12:36 |
|
rsv
| are these checksums unique to the branch | 12:36 |
| → tstclair joined | 12:36 |
|
rsv
| or they still are recomputed again in another git branch | 12:36 |
|
loops
| RichGuk: if nobody comes up with a fix for you here, please try the mailing list | 12:38 |
|
RichGuk
| loops: Shall do, thanks very much :) | 12:38 |
| → ph^_ joined | 12:40 |
| DaveIngram → DaveIngram[coffe | 12:40 |
| ← ph^ left | 12:41 |
| → lorandi joined | 12:42 |
|
Ilari
| rsv: Cherry-pick, rebase and format-patch..am don't preserve commit IDs. | 12:43 |
| → mithro joined | 12:43 |
| ← ctusar left | 12:43 |
| → ben_h joined | 12:44 |
| ← cedric_ left | 12:44 |
| → altrux joined | 12:45 |
| ← GodEater left | 12:45 |
| → GodEater joined | 12:46 |
|
pilif
| Yesterday, we merged a branch of around 350 commits including a cherry-pick or two which spanned one month. | 12:46 |
| → yaotti joined | 12:46 |
|
pilif
| as this was my first larger merge with git, I didn't know how painful it would be | 12:47 |
|
| so I assumed this will be an hour or two of work | 12:47 |
|
| not as much :-) | 12:47 |
| ← ben_h left | 12:47 |
|
pilif
| one single conflict that could not be mergen | 12:47 |
| → ben_h joined | 12:47 |
|
pilif
| 10 minutes of work | 12:47 |
|
| and all was done | 12:47 |
|
rvsjoen
| is there a way to always ignore a specific commit when merging another branch ? | 12:47 |
|
pilif
| git just rules | 12:47 |
|
wereHamster
| rvsjoen: no | 12:47 |
|
| that's not how merge works | 12:48 |
|
Ilari
| pilif: I once merged two branches, one with 3 months of work by me, and the other containing 2 years of work from some team. Took 5 days to resolve that one. | 12:48 |
|
rvsjoen
| ok :/ | 12:48 |
|
pilif
| Ilari: you could have rebased here and then during these three months :-) | 12:49 |
|
rvsjoen
| thing is I have a development branch on which I have made some changes to be able to run the application on my desktop, however these changes should never go into the master branch | 12:49 |
|
Ilari
| pilif: AFAIK, no public SCM for that project exists. Only releases. | 12:49 |
| → slabbeh joined | 12:49 |
| ← voker57_ left | 12:50 |
| ← marc_kdab left | 12:50 |
|
rvsjoen
| so whenever I merge dev-branch into master I'm looking for a way to ignore these 'local' changes | 12:50 |
|
pilif
| Ilari: I see. But *if* you can rebase here and then and considering that the changes are kinda localized, merging can be fun an painless | 12:51 |
|
| much more so than with, say, svn *shudder* | 12:51 |
|
| or as we say in the office here: SVN is great at branching. It's the merging where it fails | 12:51 |
|
rvsjoen
| guess I could use git stash though to stash those local changes whenever I want to merge | 12:51 |
|
bremner
| pilif: same could be said for "cp -a" | 12:52 |
|
pilif
| bremner: agreed | 12:52 |
| → Sho_ joined | 12:52 |
| → johnmclane joined | 12:52 |
|
maio
| rvsjoen: you can put that local change into separate branch and rebase it each time there is some change in master | 12:53 |
|
pilif
| in the end, I just love, love, love git. | 12:53 |
|
| especially now that we are converting all our old subversion repositories and can really begin to reap all the benefits git provides | 12:54 |
|
| it took me only a year to convince everybody that git is by FAR superior to svn | 12:55 |
| → kpreid_ joined | 12:55 |
|
Ilari
| pilif: Converting SVN repos to git is somewhat painful because all the stuff SVN doesn't record. | 12:55 |
|
rvsjoen
| maio: that's a very good idea. thanks | 12:55 |
|
jast
| there is a lot of potential in refining your convincing skills, then ;) | 12:55 |
|
pilif
| jast: well. 2 of 3 were easily convinced | 12:56 |
|
| but that one guy is still using windows 2000 on his machine, so that might help explain my issue there :-) | 12:56 |
| → johnnyg joined | 12:57 |
| → roop_ joined | 12:57 |
| ← nothingHappens left | 12:58 |
| → ringlej joined | 13:00 |
| ← Blackshark left | 13:02 |
| → Bass10 joined | 13:06 |
| ← yaotti left | 13:07 |
| → roop__ joined | 13:09 |
| ← roop left | 13:11 |
| → hummingkid joined | 13:11 |
| → ChengKe joined | 13:13 |
| ← ChengKe left | 13:13 |
| ← roop_ left | 13:14 |
| → Akufen joined | 13:14 |
| ← sprasanna left | 13:15 |
| ← tomgraham left | 13:20 |
| → maravillas_ joined | 13:20 |
| → j416 joined | 13:23 |
| dionoea_ → dionoea | 13:23 |
| ← rsv left | 13:24 |
| → ctusar joined | 13:24 |
| → yaotti joined | 13:25 |
| ← runeb- left | 13:25 |
| ← ph^_ left | 13:27 |
| ← simNIX left | 13:29 |
| → pgalbraith joined | 13:29 |
| → kukks joined | 13:30 |
| → gcla joined | 13:30 |
| ← yaotti left | 13:35 |
| → boto joined | 13:35 |
| → ph^ joined | 13:35 |
| → yaotti_aw joined | 13:35 |
| yaotti_aw → yaotti | 13:35 |
|
corp186
| If person A clones my repo and does some work, then I start tagging some commits in my repo, will A need to refetch my repo as though I had rebased it? | 13:36 |
| ← johnnyg left | 13:36 |
| ← resmo left | 13:36 |
|
corp186
| note that I'm not changing tags, just adding tags | 13:36 |
| → resmo joined | 13:36 |
| ← ph^ left | 13:37 |
|
selckin
| define refetch | 13:37 |
|
| but i'll go with no | 13:37 |
| → ph^ joined | 13:38 |
|
corp186
| selckin: refetch means the process one would have to go through if the repo to pull from has been rebased | 13:38 |
|
Mikachu
| corp186: no, tagging doesn't change the commits | 13:38 |
|
| if you rebase though, the tags will still point to the old commits | 13:38 |
|
corp186
| ok, second question: If I wanted to add a tag to every single commit (to link to a bug tracker bug) would that cause architectural issues? | 13:39 |
| ← vzctl_ left | 13:39 |
|
corp186
| I know that's vague | 13:39 |
| → keystr0k joined | 13:39 |
|
Mikachu
| all the tags need to have different names | 13:39 |
|
corp186
| I just want to be sure that a tag explosion won't harm performance or functionality | 13:39 |
|
selckin
| why not just reference then by sha? | 13:39 |
|
corp186
| understood | 13:39 |
|
| selckin: we need some way to go from commits to bugs | 13:39 |
|
| not just bugs to commits | 13:39 |
| → b0fh_ua joined | 13:40 |
|
corp186
| My thought is we could tag all commits as <branch>_<bugID>_<serially incrementing integer> | 13:40 |
|
b0fh_ua
| Hi there! I am trying to apply a patch with git-am, bit getting the error: Patch failed at 0001. When you have resolved this problem run "git am --resolved" | 13:41 |
|
| how can I find out what may be wrong there? | 13:41 |
|
| git st does not say anything about unmerged files or something like this | 13:41 |
| ← CaptTofu left | 13:41 |
|
tmz
| b0fh_ua: Adding the --reject argument will make git am pass that to git apply and it will leave the rejected patches around for you. | 13:41 |
|
jast
| b0fh_ua: did am say anything apart from just "patch failed"? | 13:42 |
|
doener
| b0fh_ua: "git am --abort", then re-try with "git am -3 ..." | 13:42 |
|
tmz
| Also, git am -3 can often help, if the rejects are things that git could potentially merge. | 13:42 |
| roop__ → roop | 13:43 |
|
b0fh_ua
| ah | 13:43 |
|
| nice | 13:43 |
|
doener
| tmz: even if it cannot auto-merge, the conflict markers are usually more helpful than the .rej files (to me) | 13:43 |
|
jast
| corp186: thousands of refs are probably not a good thing to have. for one thing, more interesting tags will get lost in all the noise. | 13:43 |
|
b0fh_ua
| I found that the error seems to be caused by wrong line endings | 13:43 |
|
corp186
| jast, bug tags can be filtered out when listing tags | 13:44 |
| tchan1 → tchan | 13:44 |
|
corp186
| and we're also not heavy users of tags for "meaning" purposes anyways | 13:44 |
|
jast
| well, personally I'd work on each bug in a separate branch, e.g. bug/1234 | 13:45 |
|
| and once you merge those you can delete the branches and still find the stuff related to that bug by searching for merge commits talking about bug/1234 | 13:45 |
| → sockmonk joined | 13:45 |
| → corni joined | 13:46 |
| ← sockmonk left | 13:46 |
|
corp186
| jast: we want to preserve all of the history, so we're trying to avoid merge commits in favor of fast-forward pulls | 13:46 |
|
jast
| what about merges doesn't preserve history? | 13:47 |
|
broonie
| Merges still preserve the history? | 13:47 |
|
corp186
| (I'm new to git, so I may be off base on that) | 13:47 |
|
| doener .oO( this is not svn ) | 13:47 |
|
jast
| merges are precisely *for* keeping history | 13:47 |
|
corp186
| oh wait, the problem is when a fast-forward does occur | 13:47 |
|
selckin
| the branch/merge thing is probably the 'normal' way of doing things | 13:47 |
|
corp186
| if a fast-forward occurs, there's no merge commit | 13:47 |
| → abms1116 joined | 13:47 |
|
jast
| you can force a merge to not fast forward | 13:47 |
|
| git merge --no-ff | 13:48 |
| → m-takagi joined | 13:48 |
|
jast
| that way it will create a merge commit even if fast-forward is possible | 13:48 |
|
corp186
| what would the history look like after that? | 13:48 |
|
jast
| well | 13:48 |
| ← abms1116 left | 13:48 |
|
corp186
| would it be like a ff but with a merge commit tacked on top? | 13:48 |
|
jast
| suppose your current branch has C <- B <- A (A = most recent) | 13:48 |
|
| and you merge in Z <- Y <- X | 13:48 |
|
| so then you'd have this: C <- B <- A <- [merge commit] -> X -> Y -> Z | 13:49 |
|
| and this would probably look nicer in 2D :) | 13:49 |
|
| also, since Z derives directly from A, there would be a A <- Z in there too, but I can't visualize that in 2D | 13:49 |
|
corp186
| I see what you're saying | 13:50 |
| ← elliottcable left | 13:50 |
| → abms1116 joined | 13:50 |
|
corp186
| so a ff would produce "C <- B <- A <- Z <- Y <- X" | 13:50 |
|
| ? | 13:50 |
|
jast
| something like this: | 13:50 |
|
| http://pastebin.ca/1622099 | 13:50 |
|
| in the non-ff case | 13:51 |
| ← kpreid_ left | 13:51 |
|
jast
| ff would produce C <- B <- A <- X <- Y <- Z | 13:51 |
|
| sorry, I reversed the order of XYZ in the last two examples | 13:51 |
|
doener
| http://git.pastebin.com/m2173e432 | 13:51 |
|
corp186
| jast: ok thanks | 13:51 |
|
| this might help me out a bit | 13:51 |
| → ramus` joined | 13:52 |
| → suman joined | 13:52 |
|
jast
| and since the default text for merge commits is "Merge <branch name>", you can use git log --grep=bug/1234 to find old bug-related changes | 13:52 |
| ← alezandro left | 13:53 |
|
corp186
| yeah | 13:54 |
| → vzctl_ joined | 13:56 |
| ← lorandi left | 13:56 |
| → Levenson1 joined | 13:56 |
| → spearce joined | 13:57 |
| ← Levenson1 left | 13:57 |
| → murbank joined | 13:58 |
| ← aliceinwire left | 13:58 |
| → aliceinwire joined | 13:59 |
| ← j416 left | 13:59 |
|
murbank
| Anyone know how to do something like "filter-branch 'rm -r $GIT_INDEX_FILE'" using msys-git (dos)? | 13:59 |
| → lorandi joined | 13:59 |
| → Aikawa_ joined | 13:59 |
| → j416 joined | 13:59 |
|
b0fh_ua
| is it possible to ignore changes in newlines when preparing or applying a patch? | 13:59 |
| → jdillon joined | 14:00 |
| → sh1mmer joined | 14:01 |
| ← maravillas_ left | 14:01 |
|
b0fh_ua
| ? | 14:02 |
|
murbank
| b0fh_ua: Check the man page for diff and patch | 14:03 |
|
| -w for example | 14:03 |
| → babilen joined | 14:04 |
|
murbank
| git diff takes many of the options used in diff | 14:04 |
|
| s/options/common options | 14:04 |
|
| Might be the same with patch | 14:04 |
| → ajt joined | 14:05 |
|
murbank
| Otherwise I guess you can apply the patch outside of git (using -l) | 14:05 |
| → kpreid_ joined | 14:09 |
| ← ajt left | 14:09 |
| ← jdillon left | 14:10 |
| ← Aikawa left | 14:12 |
| ← xenoterracide left | 14:13 |
|
b0fh_ua
| okay | 14:13 |
| → droidcore joined | 14:14 |
| ← sh1mmer left | 14:14 |
| → sh1m joined | 14:14 |
| → xenoterracide joined | 14:15 |
| → voker57 joined | 14:15 |
| ← xenoterracide left | 14:16 |
| → xenoterracide joined | 14:18 |
| ← xenoterracide left | 14:18 |
| → roop_ joined | 14:19 |
| → xenoterracide joined | 14:20 |
| → xbl joined | 14:21 |
|
Ilari
| spearce: Given that many external transports use usual URLs that could be parsed by standard algorithms, what about capabilities that would signal main git binary to provode assistance like splitting URLs into component parts and resolving stuff from hosts database? | 14:21 |
| ← tvw left | 14:23 |
| → tvw joined | 14:23 |
| → scarabx joined | 14:24 |
|
spearce
| uh, why? url splitting isn't that hard and DNS lookup is pretty simple, gethostbyname.... | 14:27 |
| → mht2k3 joined | 14:27 |
| → romfert joined | 14:29 |
| → drubies joined | 14:29 |
|
mht2k3
| hey i followed the gitosis readme and everything seems to work pretty well except when adding a new user | 14:29 |
|
| anyone around that can help out real quick? | 14:29 |
| ← psankar left | 14:30 |
|
mht2k3
| I added their .pub file to the keydir dir, modified the gitosis.conf and did a commit and push | 14:30 |
| ← scarabx left | 14:31 |
|
mht2k3
| but when that user tries to clone the project they get an error connecting. i checked authorized_keys in the git directory on the server and it only has an entry for my key (not the new users) does gitosis handle added these new users to authorized_keys or am i doing something wrong here? | 14:32 |
| ← b0fh_ua left | 14:32 |
| → ohadlevy joined | 14:32 |
|
ohadlevy
| I'm using submodules, and I've found a bad commit in my submodule and I would like to go to an earlier commit before the bad commit, how do i do it? | 14:33 |
| ← roop left | 14:33 |
|
Ilari
| spearce: I implemented that splitting stuff once. My implementation is about 100 lines of code... | 14:33 |
| → jrmuizel joined | 14:34 |
|
Ilari
| spearce: Well, maybe small library would be better... | 14:34 |
|
zoniq
| How can I check to which remote svn branch my local git branch is "linked" to? | 14:35 |
| → notjohn joined | 14:36 |
|
Ilari
| zoniq: 'git log --first-parent' look at the git-svn-id lines... | 14:36 |
| → mrlemao joined | 14:37 |
|
zoniq
| Ilari: Thanks. | 14:37 |
|
| And if I make a new local branch new from my local branch which is "linked" to a remote SVN branch, is the new local branch automatically linked to that one as well? | 14:39 |
| → pjackson joined | 14:41 |
|
Ilari
| zoniq: Yes. | 14:41 |
|
| zoniq: (AFAIK) | 14:41 |
| ← wolog left | 14:41 |
|
pjackson
| Is there somewhere I can find out which features were introduced by which version? | 14:42 |
| ← sh1m left | 14:43 |
|
murbank
| I'm trying to use filter-branch to preserve the history of only a single file and remove everything else. This "filter-branch --prune-empty --index-filter 'rm -f $GIT_INDEX_FILE; git reset -- foo.py; :'" doesn't seem to work. I get merge commits and only the first commit of the file. What am I doing wrong? | 14:43 |
| ← chamo left | 14:43 |
| ← drubies left | 14:43 |
| → transplant joined | 14:44 |
| ← johan-s left | 14:46 |
| → pheaver joined | 14:47 |
|
mht2k3
| nevermind i figured it out, i forgot to add the new pub key before i commited and pushed! | 14:47 |
| ← ohadlevy left | 14:48 |
| ← EricInBNE left | 14:51 |
| ← kpreid_ left | 14:51 |
|
pjackson
| E.G. A chart that tells me in which version 'git log' got --graph ? | 14:52 |
| → wolog joined | 14:52 |
| ← lorandi left | 14:52 |
| → lorandi joined | 14:53 |
| ← galderz left | 14:53 |
|
murbank
| pjackson: Try the changelog | 14:55 |
| ← hakunin left | 14:55 |
| → hakunin joined | 14:56 |
|
murbank
| pjackson: Or find the commit in the git git repo that introduced it and then find the nearest tag. | 14:57 |
| → alezandro joined | 14:58 |
|
charon
| murbank: reset is the wrong tool, try 'git add foo.py' instead | 14:59 |
|
murbank
| charon: Do I need to commit? | 15:00 |
|
charon
| oh, wait, never mind, i'm wrong | 15:00 |
| → LRN joined | 15:00 |
| ← sde_antrix left | 15:01 |
| → kpreid_ joined | 15:01 |
| → patmaddox joined | 15:01 |
| → loincloth joined | 15:02 |
| → flazz joined | 15:02 |
|
murbank
| Is reset correct then? | 15:02 |
| ← romfert left | 15:02 |
| → Turias joined | 15:02 |
|
pjackson
| murbank: Yes, I just hoped there may be a less laborious way. | 15:03 |
|
charon
| murbank: yes, it should be, seems to fail for some other reason though | 15:03 |
|
| pjackson: there are also changelogs for each released version, but i doubt anyone prefers looking through those | 15:05 |
|
| <HEAD:Documentation> | 15:05 |
|
Gitbot
| [git Documentation]: http://tinyurl.com/ykalj3u [tree] | 15:06 |
|
charon
| murbank: ah, got it. gfb doesn't set HEAD to the filtered commit; you need to git reset $GIT_COMMIT -- foo.py | 15:07 |
|
pjackson
| charon: Thanks. | 15:07 |
|
charon
| pjackson: git log --grep="search string" and git describe --contains $sha1 are usually very effective in this | 15:07 |
| ← ixti left | 15:07 |
| ← transplant left | 15:09 |
| → cannonball joined | 15:09 |
| ← dionoea left | 15:10 |
| tjogin → tjogin|away | 15:10 |
| → romfert joined | 15:10 |
| → bcardarella joined | 15:11 |
|
| murbank tries git reset $GIT_COMMIT -- foo.py | 15:11 |
| → dionoea joined | 15:11 |
| → ixti joined | 15:13 |
| ← rchavik left | 15:13 |
|
wwalker
| I am using git-svn. How can I see, before running git svn dcommit, what the commits and messages will be that go to svn? | 15:13 |
| → rudi_s joined | 15:14 |
|
pilif
| the messages will be identical to the ones in your git repo | 15:14 |
|
wwalker
| git log git-svn.. gets me the messages (and the git commit hashes) but I'd like to see the files that each modified/added/deleted | 15:14 |
|
pilif
| so, git log | 15:14 |
|
| git log --stat | 15:15 |
| ← mrlemao left | 15:15 |
|
wwalker
| pilif: thank you | 15:15 |
| → aisbaa joined | 15:15 |
| → gw280 joined | 15:15 |
|
gw280
| ok, so we have a large project with multiple git repositories, and commits in one repository can depend on commits in another | 15:16 |
|
| what's the best way of dealing with atomicity between repositories? | 15:16 |
|
| or sorting out dependencies | 15:16 |
| → mrlemao joined | 15:16 |
|
wwalker
| pilif, thanks, that got me looking correctly in the man page. I wanted --name-status. | 15:16 |
|
charon
| gw280: you probably have a wrong mental model of git. a commit always "drags along" its entire parent chain, so there can never be a missing "dependency" | 15:17 |
| → Pewpewarrows joined | 15:17 |
|
gw280
| charon: no | 15:17 |
| → offby1` joined | 15:17 |
|
gw280
| charon: let's say we have two repositories | 15:17 |
|
wwalker
| so, now I see that I have two commits. one breaks a file (and nothing else) and the other fixes the files (back to original). Can I just "delete" those two commits? If so, which man page ? | 15:18 |
|
gw280
| charon: you commit a change to one of them, but that change (to build that repo) requires a change in another repository | 15:18 |
|
| charon: which is just about to be committed, but you can't do it atomically because they're two different repositories | 15:18 |
|
csgeek
| can I ask a question about gitosis in here? I'm having trouble getting a user to access a repo as read only | 15:18 |
| DaveIngram[coffe → DaveIngram | 15:19 |
|
charon
| gw280: oh. you could look at submodules, they "bind" a certain submodule commit to the superproject. so you can have a super-repository that records consistent states of the submodules | 15:19 |
|
murbank
| charon: Thanks that worked. | 15:19 |
|
aisbaa
| hi, I would like to learn how to make one commit out of many, if its possible - there should i look for info? | 15:19 |
|
pilif
| wwalker: git rebase -i | 15:19 |
|
murbank
| Any idea how to get rid of the merge commits. | 15:19 |
| ← rolfb left | 15:19 |
|
pilif
| but don't do that when the commit has already been made public | 15:19 |
|
murbank
| ? | 15:20 |
|
gw280
| charon: right | 15:20 |
|
charon
| gw280: then your builders just need to run 'git submodule update' to match the submodules to the state recorded in the superproject, and it'll be consistent | 15:20 |
|
csgeek
| never mind.. it's not read only access... it's access in general that's being buggy | 15:20 |
|
charon
| (it may also be possible to stuff one repo as a submodule into the other, amounts to a similar thing) | 15:20 |
| → dirk2 joined | 15:20 |
|
gw280
| charon: would there be any way of doing such things automatically on commit? | 15:21 |
|
charon
| gw280: which part of it? automatically updating all submodules and recompiling when a new superproject commit arrives? | 15:21 |
| → javatexan joined | 15:22 |
|
wwalker
| pilif, thanks :) | 15:22 |
|
gw280
| charon: no, keeping the superproject in sync | 15:22 |
|
charon
| murbank: it already simplifies according to --simplify-merges rules. how do your "superfluous" merges look? | 15:22 |
|
| gw280: but how could an automatic mechanism know whether, after a subproject commit, the state is consistent (and should be recorded in the superproject) or not (and shouldn't)? | 15:24 |
| ← agile left | 15:24 |
| ← flazz left | 15:24 |
| → mm_work joined | 15:25 |
|
gw280
| charon: well, automatic in the sense that somehow the committer could let the system know | 15:25 |
| → squentin joined | 15:26 |
| → aigon joined | 15:26 |
|
murbank
| charon: None of the other branches touched foo.py. The merge commits are merge of other branches into master and merges of master into other branches and then back to master. | 15:26 |
| → nadim joined | 15:28 |
| → hobodave joined | 15:28 |
| ← ph^ left | 15:29 |
| → JaVaK joined | 15:29 |
| ← jaysern left | 15:29 |
| → justin-george joined | 15:30 |
| ← dionoea left | 15:30 |
| ← JaVaK left | 15:31 |
| → JaVaK joined | 15:31 |
|
orafu
| gw280: just a hunch: maybe you want to have a look at git hook, esp. the pre-commit hook | 15:31 |
|
murbank
| charon: Is it safe if I just remove commits that have merge in their message? | 15:31 |
| ← JaVaK left | 15:31 |
|
charon
| murbank: give me a moment, i know this is possible to do automatically but i'm still trying to figure out what exact magic it needed ;) | 15:32 |
|
| gw280: not sure how letting the system know would be different from running a script that does it for you | 15:32 |
| → struberg joined | 15:32 |
|
orafu
| gw280: don't know if this is the preferred way to do it, but you could tag the commit in the commit message, and have the pre-commit hook sort out that it should record a consistent state | 15:32 |
| ← offby1 left | 15:33 |
|
orafu
| gw280: or post-commit, maybe | 15:33 |
|
pielgrzym
| git svn creates a separe branch, right? | 15:34 |
|
| for pure svn commits | 15:34 |
| → johan-s joined | 15:35 |
| ← mrlemao left | 15:36 |
| tjogin|away → tjogin | 15:36 |
| → sh1mmer joined | 15:36 |
|
charon
| murbank: git filter-branch -f --index-filter 'rm -f "$GIT_INDEX_FILE"; git reset "$GIT_COMMIT" -- $file; :' -- $branch -- $file | 15:37 |
|
| murbank: but there's a catch | 15:37 |
|
orafu
| gw280: ha, you could require a tag, have the prepare-commit-msg hook include a selection of tags in the message, have the pre-commit hook check that either the "sync" or "no-sync" is used (but not both) and abort the commit if not. Then the post-commit hook could call git submodule to sync the state if needed. :) | 15:37 |
|
charon
| murbank: the $branch must point at a commit that is "relevant" to the $file, i.e., one that does not disappear in 'git log --simplify-merges -- $file' | 15:38 |
|
| murbank: if your history is reasonably close to linear, that'll be the most recent commit affecting $file (either modifying it, or a nontrivial merge inside $file) | 15:38 |
|
| murbank: the trick being that you pass "-- $file" to the underlying git-rev-list that determines how commits will be rewritten, thus kicking in the merge simplification | 15:39 |
|
gw280
| orafu: ok, I think I have a solution | 15:39 |
|
orafu
| gw280: I see :) | 15:40 |
|
charon
| murbank: that's basically how --subdirectory-filter works, but there gfb does extra work to deal with the "must affect $file" restriction itself | 15:40 |
|
gw280
| orafu: so we have n repositories, we designate one that must be committed to last in any set of dependent commits | 15:40 |
|
| orafu: so a person commits to all the repositories, but must commit to one of them last | 15:40 |
| → xhr joined | 15:40 |
|
gw280
| orafu: then a post-commit hook on that last repository updates a superproject's submodules to point to HEAD on all the repositories | 15:41 |
| ← sh1mmer left | 15:41 |
|
gw280
| orafu: can you change the submodule's commit head through a push? | 15:41 |
|
orafu
| gw280: ah, sounds good ^^ (haven't tried it though ;)) | 15:41 |
| → sh1m joined | 15:41 |
|
orafu
| gw280: sorry, I have not worked with submodules yet | 15:42 |
|
charon
| gw280: leaves me puzzled as to what the advantage over just managing the superproject directly could be | 15:42 |
|
| but well, whatever floats your doubles... | 15:42 |
|
gw280
| charon: there are reasons why we shouldn't merge the repositories | 15:42 |
| ← sh1m left | 15:42 |
| → sh1mmer joined | 15:43 |
| ← sh1mmer left | 15:43 |
|
orafu
| gw280: licensing issues is my favourite reason | 15:43 |
| → sh1m joined | 15:43 |
|
charon
| what you just proposed seems to be: managing the superproject automatically, triggered by pushing (not committing, i guess) to a "magic" repo | 15:43 |
|
| a script would just trigger on request instead, which isn't quite so prone to people forgetting which repo exactly happens to be magic | 15:44 |
| ← sh1m left | 15:44 |
|
charon
| and superprojects don't merge anything | 15:44 |
|
steven
| hello | 15:44 |
| → sh1mmer joined | 15:44 |
|
steven
| is there a way to get rid of the " [self willChangeValueForKey:@"users"]; | 15:44 |
|
| [self.users addObject:user]; | 15:44 |
|
| [self didChangeValueForKey:@"users"]; | 15:44 |
|
| | 15:44 |
|
| shoot sorry | 15:44 |
|
| wrong pasteboard | 15:44 |
|
charon
| gw280: they only know the sha1s of the involved subprojects, you still need access to the subproject repos separately if you want to clone them | 15:45 |
|
steven
| is there a way to get rid of the "Merge branch ..." messages when pulling after someone else pushed? | 15:45 |
|
charon
| (it's possible to ignore them and still work with the superproject) | 15:45 |
| ← sh1mmer left | 15:45 |
| → sh1mmer joined | 15:45 |
|
charon
| s/sha1s/sha1s of the tip commits/ | 15:45 |
| ← samjam left | 15:46 |
| ← Lisimba left | 15:46 |
|
charon
| steven: you can linearise your history, avoiding the merge altogether, *if* you haven't pushed your half of the commits elsewhere yet; or, you can edit the merge message, but it's probably a bad idea as people expect merge messages to say, well, 'Merge branch...' | 15:46 |
| ← ramus` left | 15:47 |
|
steven
| my boss wants it out of there when i push | 15:47 |
|
charon
| maybe he should learn about nonlinear history then | 15:48 |
|
| http://thomasrast.ch/git/pull_harmful.html might apply, or man gitworkflows, or the --rebase option to pull, depending | 15:48 |
|
Gitbot
| charon: the gitworkflows manpage can be found at http://git.or.cz/man/gitworkflows | 15:48 |
|
charon
| but really, if your boss insists the workflow needs to be without merges, you need to fix your boss, not your workflow | 15:49 |
|
murbank
| charon: Is there a typo here? ; :' -- $branch -- $file | 15:49 |
|
mm_work
| is there a quick/easy way to checkout a branch into a new dir? Example: Im in a git repo, on branch A. But I need a file (or dir) that is in branch B. I dont want to change branches. Can I just checkout a branch to a different dir? | 15:49 |
| → ramus` joined | 15:50 |
| ← tjogin left | 15:51 |
|
orafu
| mm_work: go to a different directory and set GIT_DIR | 15:52 |
|
charon
| murbank: no; the part after the first -- goes to git-rev-list internally, which treats the part after the -- (i.e. the second one in the gfb command) as filenames to filter for | 15:52 |
| ← stamina left | 15:52 |
|
mm_work
| orafu: ah, okay, thank you! | 15:52 |
|
charon
| murbank: you can leave out the $branch if you want to filter HEAD, but it'll still need -- twice | 15:52 |
| → neimoon joined | 15:54 |
| ← ben_h left | 15:54 |
|
murbank
| charon: That works great. Thanks. | 15:55 |
| → fhr joined | 15:56 |
|
murbank
| I appreciate it. | 15:56 |
|
charon
| no problem :) | 15:56 |
|
| sadly gfb is the kind of tool where you need to read the source to see what to do | 15:56 |
| ← mastro left | 15:57 |
| ← eean left | 15:58 |
| ← thiago_home left | 16:00 |
|
wereHamster
| mm_work: git new-workdir | 16:00 |
| → thiago_home joined | 16:01 |
| → jonto joined | 16:01 |
| → jfxberns joined | 16:03 |
| ← jfxberns left | 16:03 |
| ← patmaddox left | 16:03 |
| → lhz joined | 16:03 |
|
jonto
| Hi, I'm trying to make git to push to a remote git repo, but it does not seem like the post-commit file is run. | 16:03 |
| ← roop_ left | 16:04 |
| ← hyperair left | 16:05 |
|
Rhonda
| jonto: Does it have execute permissions? | 16:06 |
| ← psoo left | 16:06 |
| → agile joined | 16:06 |
|
jonto
| Rhonda, jupp | 16:07 |
|
charon
| jonto: post-commit runs on commit. if you want to do something when new commits arrive through a push, use post-receive or the like | 16:08 |
| → hugoxrosa joined | 16:08 |
| ← JonasG left | 16:08 |
|
charon
| or are you trying to push automatically on commit? | 16:08 |
| → kumbayo joined | 16:08 |
|
jonto
| charon, Yes, I'm trying to push automatically to my server | 16:09 |
| ← kpreid_ left | 16:09 |
| → reprore joined | 16:09 |
| → WebDragon joined | 16:13 |
| → aboeglin joined | 16:14 |
| → revans joined | 16:15 |
| → hyperair joined | 16:15 |
| → gitte joined | 16:16 |
| ← sh1mmer left | 16:16 |
|
charon
| jonto: well, works for me. double check that it really resides in .git/hooks/post-commit, is executable and has a valid #! line in the case of scripts... | 16:17 |
| ← Bucciarati left | 16:17 |
| revans → jeckel | 16:17 |
| jeckel → jeckle | 16:18 |
| jeckle → revans | 16:18 |
|
aboeglin
| Hi, I've got one question, google didn't help me with : I have converted a svn repo to git using git-svn, is it possible for someone else to clone the git repo, and update it from svn (assuming there have been some newer svn commits since the conversion to git) without having to fetch the complete svn history once again ? | 16:19 |
| ← ntoll left | 16:20 |
| ← koltroll left | 16:20 |
| ← abms1116 left | 16:22 |
| ← PointMan left | 16:24 |
| → sonic joined | 16:24 |
| → rchavik joined | 16:24 |
| ← mht2k3 left | 16:26 |
| → enherit joined | 16:26 |
| → Weasel[DK] joined | 16:27 |
| → qhoxie joined | 16:27 |
| ← tvw left | 16:28 |
|
jonto
| charon, ahh, stupid me I did not put in .get/hooks but somehow had created a /hooks at the root of the repo. Thank you :) | 16:28 |
| → rudi_s_ joined | 16:28 |
| → seangrove joined | 16:28 |
| → Zougloub joined | 16:30 |
| RichGuk → RichGuk_work | 16:30 |
| ← ciskje left | 16:32 |
| ← revans left | 16:32 |
| → dionoea joined | 16:32 |
| → WALoeIII joined | 16:33 |
| ← WALoeIII left | 16:33 |
| → WALoeIII joined | 16:33 |
| ← philthno2 left | 16:35 |
|
charon
| aboeglin: you need to somehow recreate all svn refs, and git svn init with the same parameters as the other repo (or copy the config) | 16:35 |
| → fhr_ joined | 16:36 |
|
charon
| assuming the original clone has no other remotes, git fetch origin refs/remotes/*:refs/remotes/* can do the first task | 16:37 |
|
| (but note that such fetchspec trickery won't ask before overwriting) | 16:37 |
| → abms1116 joined | 16:38 |
| ← shruggar left | 16:38 |
| ← malumalu left | 16:39 |
| → kennethlove joined | 16:39 |
| ← fhr left | 16:41 |
| ← fhr_ left | 16:41 |
| → fhr joined | 16:41 |
| ← mattayers left | 16:42 |
|
fualo
| how do I stop following a git-svn branch? I thought commenting it out in .git/config would work | 16:43 |
|
| and I want it to stop showing up in gitk | 16:43 |
| ← ixti left | 16:43 |
| ← rudi_s left | 16:43 |
| → kpreid_ joined | 16:45 |
|
aboeglin
| charon: I will try that, thanks | 16:45 |
| → tjholowaychuk joined | 16:48 |
|
fualo
| I tried git branch --no-track svn, but it still comes up in gitk --all | 16:49 |
| ← j416 left | 16:50 |
| → jeckel joined | 16:50 |
| → panpainter joined | 16:50 |
| ← xhr left | 16:51 |
| jeckel → revans | 16:51 |
|
fualo
| I want to try deleting it, but then I dont have a way to go back | 16:52 |
| → khmarbaise joined | 16:53 |
| ← enherit left | 16:53 |
|
loops
| fualo: you want to stop importing from svn and dump the tracking branch in your local repo? | 16:53 |
|
fualo
| loops; yes we are fully migrated to git alone now | 16:53 |
|
| and its duplicating history | 16:54 |
|
| which I thought I fixed with a complex rebase | 16:54 |
| → philthno2 joined | 16:54 |
| ← neimoon left | 16:54 |
|
fualo
| http://imgur.com/t3OxO.png | 16:54 |
|
| thats with gitk --all | 16:54 |
|
| I want to dump remote/trunk so that awfulness goes away :-) | 16:55 |
|
loops
| fualo: well, "duplicate" commits, blobs, and trees, are stored only once in a Git repo, git only stores a single copy | 16:55 |
|
fualo
| so can I just do git branch -d remotes/trunk there? | 16:56 |
| → krawek joined | 16:57 |
|
loops
| fualo: yes, or git branch -r -d trunk | 16:58 |
|
sonic
| Can anyone help me with this? | 16:59 |
|
loops
| sonic: with what? | 17:00 |
| ← wolog left | 17:00 |
|
sonic
| loops: it won't let me check out to the current dir. I need to be able to do this | 17:01 |
|
loops
| fualo: If you really want to throw everything away and get a clean start, you could "git clone" it to another spot, clone wont copy remotes or all the other svn meta data | 17:01 |
| → ixti joined | 17:01 |
|
sonic
| Sorry, I meant clone (new to git lingo) | 17:02 |
|
| The problem is, I already have other directories in the current directory | 17:02 |
|
loops
| sonic: it will let you clone to the current directory if it is empty | 17:02 |
| ← Garoth left | 17:03 |
| → Garoth joined | 17:03 |
|
sonic
| But I need to clone to a non empty directory | 17:03 |
| → ChenKaie_ joined | 17:03 |
| → RangerRi1k joined | 17:04 |
|
loops
| that's a pretty odd thing to want, Git doesn't support it. You could clone normally and then checkout files into that directory though | 17:05 |
| ← RangerRick left | 17:05 |
| → maattd joined | 17:05 |
| ← bsdvodsky left | 17:06 |
|
sonic
| Hmmm.... that'll take some work as the other dirs are svn projects and I need to do some commits first. The git project is the framework they sit in. But if you say git doesn't support it then I guess that's what I'll have to do. Thanks loops | 17:07 |
| ← Weasel[DK] left | 17:07 |
| → DavidKlein joined | 17:07 |
| → ph^ joined | 17:08 |
| ← aigon left | 17:08 |
|
fualo
| sweet loops that worked, but now I have a severed head (in that image, it was the head with the rc-x tags) | 17:08 |
| → nevyn___ joined | 17:08 |
| → ab3 joined | 17:09 |
| RangerRi1k → RangerRick | 17:09 |
| ← NET||abuse left | 17:09 |
| → tvw joined | 17:09 |
| → dreiss joined | 17:10 |
| ← nevyn left | 17:11 |
|
fualo
| I don't think severed head is the proper term | 17:11 |
| → LiamH joined | 17:12 |
| ← xbl left | 17:13 |
|
Mikachu
| detached | 17:13 |
|
charon
| sonic: clone is basically init, remote add, checkout -b | 17:15 |
|
fualo
| Mikachu: is there a way to delete a duplicate branch with a detached head? (remnants of git-svn) | 17:15 |
|
charon
| sonic: so you can just do each of those manually | 17:16 |
|
| er, you need to fetch also of course | 17:16 |
| ← sitaram_ left | 17:17 |
| → sitaram joined | 17:18 |
|
charon
| fualo: that use of "detached head" makes no sense, can you explain exactly what branches you have and what they point to? | 17:18 |
|
fualo
| http://imgur.com/Lha3r.png | 17:19 |
|
| rc-4 is a detached head | 17:19 |
|
| remnants of a git-svn rebase mess | 17:19 |
| → Weasel[DK] joined | 17:19 |
| → context joined | 17:19 |
|
fualo
| well, rebase fixed it | 17:19 |
|
| I want to delete that branch | 17:20 |
|
context
| so im trying to git-svn a repo in google code, and its trying to say i dont have (no author) in my authors file, but i do | 17:20 |
| ← ChenKaie left | 17:20 |
|
charon
| fualo: use git tag -d to delete those tags | 17:21 |
|
fualo
| that will delete the tag, but what about the entire branch? | 17:21 |
| → priidu joined | 17:21 |
| → Sigma joined | 17:21 |
|
charon
| fualo: and we call that "diverged history". a detached head is an entirely different thing | 17:21 |
|
context
| if nothing is using the branch then its unreachable | 17:21 |
|
charon
| fualo: garbage collection will take care of them | 17:21 |
| → schambers joined | 17:22 |
|
fualo
| ah, I see | 17:22 |
|
charon
| context: a branch that nothing points to is a contradiction :( | 17:22 |
| → onigiri joined | 17:22 |
|
fualo
| All fixed, thanks charon | 17:23 |
|
context
| charon: heh | 17:23 |
|
murbank
| charon: This is embarrassing: I noticed that other files besides foo.py were included in the patch for the filtered commits so I tried to filter-branch on a newly cloned repo but now I keep getting "Warning: Ref 'refs/heads/master' is unchanged". Any ideas? | 17:23 |
|
| (and nothing seems to be filtered) | 17:23 |
| ← romfert left | 17:24 |
|
sonic
| Thanks charon, I'll try that | 17:25 |
| ← Weasel[DK] left | 17:25 |
| → JotaVe joined | 17:25 |
| → jceb joined | 17:29 |
| → sh1mmer joined | 17:30 |
| ← sonic left | 17:31 |
| ← abms1116 left | 17:32 |
| → drowe joined | 17:32 |
| ← mcella left | 17:33 |
| → nighthwk1 joined | 17:33 |
| → ph^_ joined | 17:33 |
| ← context left | 17:33 |
| ← ia left | 17:34 |
| → elliotf joined | 17:34 |
| ← ph^ left | 17:35 |
| ← tstclair left | 17:35 |
| → tstclair joined | 17:35 |
| → Theravadan joined | 17:35 |
| ← kpreid_ left | 17:37 |
| → kpreid_ joined | 17:37 |
| → phuff joined | 17:37 |
| ← alienbrain left | 17:37 |
|
phuff
| I tagged master | 17:37 |
|
| But then I made a change. | 17:37 |
|
| Can I retag and use the same tag? | 17:38 |
|
| Or do I absolutely have to use a new one? | 17:38 |
| ← PN left | 17:39 |
| → Weasel[DK] joined | 17:40 |
| ← aboeglin left | 17:40 |
|
charon
| murbank: newly cloned from the unfiltered source? | 17:41 |
| → sonic joined | 17:41 |
|
Mikachu
| phuff: if you didn't push it yet, you can tag -d and retag | 17:41 |
| → runeb- joined | 17:42 |
|
Mikachu
| phuff: if someone has it already, their git will refuse to update it unless they do extra stuff | 17:42 |
| ← khmarbaise left | 17:43 |
| → augustl joined | 17:43 |
|
charon
| murbank: in which case you probably forgot to first point your to-be-filtered branch at the most recent commit that affects the file(s) you're filtering for | 17:44 |
|
augustl
| What are all those things that aren't a commit? http://pastie.org/656361 | 17:44 |
| → khmarbaise joined | 17:44 |
|
Mikachu
| augustl: could be reset maybe | 17:45 |
|
augustl
| Mikachu: yeah i did a whole lot of git reset --hard | 17:45 |
|
Mikachu
| that'll be it then | 17:45 |
| ← sh1mmer left | 17:45 |
|
augustl
| why are those stored in the reflog? | 17:45 |
|
| and why do they persist through a "git gc"? | 17:45 |
| → sh1m joined | 17:45 |
|
Mikachu
| because that's what the reflog stores | 17:45 |
| → tedoc2000 joined | 17:45 |
| sh1m → sh1mmer | 17:45 |
|
Mikachu
| because they are in the reflog | 17:45 |
| → bugfux joined | 17:45 |
|
augustl
| hmm, cool :) | 17:45 |
| ← javatexan left | 17:46 |
| ← jceb left | 17:47 |
| → ia joined | 17:49 |
| ← sitaram left | 17:51 |
| → sitaram joined | 17:51 |
| ← JotaVe left | 17:54 |
| ← sitaram left | 17:54 |
| → NemesisD joined | 17:54 |
| → gonzojive joined | 17:54 |
|
NemesisD
| hi all. bit of a problem, i did a merge and git tried to merge 2 binary files. i know exactly which one i want but now I have 2 unmerged binaries i don't know how to deal with | 17:55 |
|
Adlai
| NemesisD: `git add <the one you want>' and `git rm <the one you don't>' and then do whatever the error message said to do once you've resolved the merge -- probably `git commit' | 17:56 |
|
gonzojive
| I have a git repository with two branches: master and part2. I want to clone the repo, and in that clone switch to part2 and have the working directory reflect the files in branch part2. when I try git clone [...], git checkout part2 I get an error: "pathspec 'part2' did not match any file(s) known to git" | 17:56 |
|
NemesisD
| Adlai: i only see 1 in the directory | 17:56 |
|
| erm 1 set | 17:57 |
| → jonshea joined | 17:57 |
|
charon
| NemesisD: git checkout {--ours,--theirs} -- $file | 17:57 |
|
Adlai
| NemesisD: oh, I see, two versions of the same file. What charon said. | 17:57 |
|
charon
| (ours is the side of the branch you were on, theirs is from the branch you are merging from) | 17:57 |
| → javatexan joined | 17:58 |
| ← kelvie left | 17:58 |
| → Cromulent joined | 17:59 |
|
NemesisD
| charon: well it didn't literally take the flag --ours, what am i to put in there | 17:59 |
|
| branch name? | 17:59 |
|
jonshea
| Is there a canonical way to test if a file is being ignored? The best I’ve figured so far is that git-ls-files -- filename won’t print anything for an ignored file. | 17:59 |
|
charon
| NemesisD: that will work, but you should update your git | 17:59 |
| ← schambers left | 18:00 |
|
charon
| (--ours/--theirs was in 1.6.1) | 18:00 |
| → Bucciarati joined | 18:00 |
| → vinse joined | 18:01 |
| ← tono left | 18:01 |
| ← jchris left | 18:01 |
| ← drowe left | 18:02 |
| → tono joined | 18:02 |
|
gonzojive
| It seems like you switch branches with `git checkout part2' but it is giving me the "pathspec 'part2' did not match any file(s) known to git" message | 18:02 |
| ← tono left | 18:02 |
|
gonzojive
| it seems like git is looking for a file named part2, but there is a branch named part2 that I want to work on | 18:02 |
|
NemesisD
| charon: i guess the ubuntu repos are horrible out of date | 18:02 |
|
| im on 1.6.0.4 | 18:03 |
| ← onigiri left | 18:04 |
|
gonzojive
| aha! the branches are prefixed by the remote ref, or something. the branch is called origin/part2 for some reason, not 'part2.' what's up with that? | 18:05 |
| ← Theravadan left | 18:06 |
| → Theravadan joined | 18:06 |
| → WebDragon|away joined | 18:07 |
| ← augustl left | 18:07 |
| ← justin-george left | 18:07 |
|
Ilari
| gonzojive: That's because foo of remotes foo and bar needs to be kept seperate. | 18:12 |
| ← WebDragon left | 18:13 |
| WebDragon|away → WebDragon | 18:13 |
| → kelvie joined | 18:13 |
| → sitaram joined | 18:14 |
|
gonzojive
| Ilari: so when you do a `git fetch' are you fetching the latest version of a remote branch into something like origin/master. then when you do `git merge' you are merging origin/master with the local master? | 18:15 |
| → cloudhead joined | 18:16 |
|
Ilari
| gonzojive: Yes. Those origin/master thingys are known as remote trackin branches (unless terminology has changed...) | 18:16 |
|
| *tracking | 18:16 |
|
murbank
| charon: I need to point to latest commit where the source was modified or one of its descendants? | 18:16 |
|
cloudhead
| is there something I can add to my git remote config, to make pushes go to a specific branch on the remote? | 18:16 |
|
murbank
| charon: (Yes it is newly cloned from unfiltered source) | 18:17 |
|
cloudhead
| instead of having to do `git push staging staging:refs/heads/master` | 18:17 |
|
murbank
| charon: I'm pointing at a descendant | 18:17 |
|
Ilari
| cloudhead: Well, there is 'remote.stating.push'. | 18:17 |
|
| *remote.staging.push | 18:17 |
|
cloudhead
| ah | 18:17 |
|
| gonna try that | 18:17 |
|
corp186
| How can I get the branch name from a commit hash? | 18:18 |
| → c15c8ra1n joined | 18:18 |
| → patmaddox joined | 18:18 |
|
Ilari
| cloudhead: If you need multiple refspecs, specify multiple settings by that name. | 18:18 |
| → flazz joined | 18:18 |
|
Ilari
| corp186: 'git branch --contains <id>'? | 18:18 |
|
corp186
| Ilari: would that work inside the update git hook? | 18:19 |
| ← notjohn left | 18:19 |
|
Ilari
| corp186: Doesn't work right inside update hook. | 18:19 |
|
cloudhead
| Ilari: so I should add that to my config? | 18:19 |
| → notjohn joined | 18:19 |
|
Ilari
| cloudhead: Yes. In actual configuration, it appears as [remote "staging"] push = ... | 18:20 |
|
| cloudhead: But you can use git config to set it. | 18:20 |
| ← c15c8ra1n left | 18:20 |
| ← zoniq left | 18:20 |
| ← notjohn left | 18:20 |
|
cloudhead
| Ilari: right, I've tried to use the push setting, but not sure how to specify It, it hasn't been working | 18:20 |
| → uau` joined | 18:20 |
| → ryanarn joined | 18:21 |
|
cloudhead
| can't find documentation on that | 18:21 |
| → notjohn joined | 18:21 |
| → mbroeker joined | 18:21 |
|
Ilari
| cloudhead: 'git config remote.staging.push staging:refs/heads/master'. | 18:21 |
|
| cloudhead: And then 'git push staging' should work. | 18:22 |
| → Lisimba joined | 18:22 |
|
cloudhead
| Ilari: ah nice, I was doing something too complicated probably | 18:23 |
|
corp186
| how are branches stored in the git object model? | 18:23 |
|
Ilari
| corp186: Branches are not objects. They are refs. | 18:24 |
|
cloudhead
| Ilari: actually I was doing git push remote local # instead of just git push remote, working now, thanks! | 18:25 |
|
corp186
| Ilari: the contents of .git/refs/heads/<branch> is a commit hash | 18:26 |
|
| if I'm an update script, can I compare the parent of a commit that is getting updated to the branches found in .git/refs/heads to figure out what parents are what branches? | 18:27 |
| ← sh1mmer left | 18:27 |
|
Ilari
| corp186: You get the old value and branch name in update script. | 18:28 |
|
corp186
| Ilari: where do you get the branch name? | 18:28 |
| ← khmarbaise left | 18:28 |
|
Ilari
| corp186: As argument | 18:28 |
|
| corp186: Along with the new value for ref. | 18:29 |
| ← uau left | 18:29 |
|
corp186
| I thought all you got was <ref> <oldrev> <newrev> | 18:29 |
|
| oh duh | 18:29 |
| uau` → uau | 18:29 |
|
corp186
| so <ref> would literally be the branch name | 18:29 |
| → Stravy joined | 18:30 |
| ← kpreid_ left | 18:30 |
| → kpreid__ joined | 18:30 |
|
Ilari
| corp186: refs/heads/foo for branch foo. | 18:30 |
|
corp186
| ok | 18:30 |
|
Ilari
| corp186: Tag pushes appear there too. As refs/tags/foo | 18:31 |
| ← Theravadan left | 18:31 |
|
Ilari
| corp186: And in case of branch create or delete, either old or new revision is 40 x DIGIT ZERO | 18:31 |
| ← sitaram left | 18:32 |
| ← philthno2 left | 18:32 |
| → sitaram joined | 18:33 |
| ← Cromulent left | 18:33 |
|
charon
| murbank: it must be a commit that is "nontrivial" wrt. the files filtered, i.e., it must modify one of the files or do a nontrivial merge in one of them | 18:34 |
| ← gitte left | 18:34 |
|
charon
| otherwise the tip commit will not be rewritten because it is filtered out before the rewriting stage | 18:34 |
|
| and the final branch-updating stage will see that it wasn't rewritten and leave everything as it was | 18:35 |
|
corp186
| Ilari: before the pre-receive and update hooks are called, all the objects that would be pushed are available? | 18:36 |
| → justin-george joined | 18:36 |
|
corp186
| I would be able to do things like git-cat-file on them? | 18:36 |
|
Ilari
| corp186: Its git cat-file, but yes. | 18:38 |
|
corp186
| Ilari: but if I tried something like git log or git rev-list they would still give me the state of the repo before the push? | 18:38 |
| → jaysern joined | 18:38 |
|
corp186
| I guess I need to clarify that | 18:39 |
|
Ilari
| corp186: Yes, unless you specified the new ref value or something reachable from it. | 18:39 |
|
corp186
| if I did git log <new-value> would that actually work? | 18:39 |
|
Ilari
| corp186: Yes, that works. | 18:39 |
|
corp186
| ok, great | 18:39 |
|
| thanks a lot by the way | 18:39 |
| ← sonic left | 18:39 |
| → amyseldin joined | 18:41 |
| → Axius joined | 18:41 |
|
amyseldin
| how can I ignore a file locally only? ie not commit an ignore for everyone? | 18:41 |
| ← struberg left | 18:41 |
|
Thumper_
| amyseldin: .git/info/exclude | 18:41 |
| → ProperNoun joined | 18:42 |
| → corigo joined | 18:42 |
|
corigo
| Is there a way to use git where I don't have to have a complete repository, but can selectively get single files only? | 18:43 |
|
murbank
| charon: Thanks that worked. | 18:43 |
|
amyseldin
| Thumper_: what about a file that is already committed? | 18:44 |
|
| I just want a different version | 18:44 |
|
Thumper_
| amyseldin: if it's already in the repo it won't be ignored | 18:44 |
|
amyseldin
| bah... thanks | 18:44 |
|
Thumper_
| amyseldin: that can happen for config files - it's better to commit config.sample and just copy it to the config file with local changes | 18:44 |
|
amyseldin
| no way huh? no magic tricks? | 18:44 |
|
| yeah, it is a config file | 18:45 |
|
Thumper_
| no magic tricks... if it's tracked it's tracked and it'll show the changes | 18:45 |
| → redbaritone joined | 18:45 |
|
Ilari
| corigo: No. | 18:45 |
|
Thumper_
| I did that (by mistake) in one of my projects and ended up moving them all to .sample | 18:46 |
|
| it was way easier to deal with after that | 18:46 |
| ← corigo left | 18:46 |
| → psoo joined | 18:47 |
| ← flazz left | 18:48 |
| ← runeb- left | 18:50 |
| ← qmatoz left | 18:50 |
| → til77 joined | 18:52 |
| ← tvw left | 18:53 |
| → tvw joined | 18:53 |
| ← rchavik left | 18:54 |
| ← qhoxie left | 18:56 |
| ← rraasch left | 18:56 |
| ← kbingham left | 18:56 |
| ← Lisimba left | 18:59 |
| → Lisimba joined | 19:03 |
| ← revans left | 19:03 |
| → dschulz joined | 19:06 |
| ← ProperNoun left | 19:08 |
| → ProperNoun joined | 19:09 |
| → mre joined | 19:09 |
| ← Lisimba left | 19:10 |
| → Lisimba joined | 19:10 |
| → augustl joined | 19:11 |
| ← redbaritone left | 19:12 |
| ← lhz left | 19:13 |
| → Fragsworth joined | 19:17 |
| ← spaceonline left | 19:18 |
| → ciskje joined | 19:18 |
| → WebDragon|away joined | 19:19 |
|
wwalker
| I just did a 'git rm foo' I've not run any other git command. How best to recover the file? | 19:20 |
| rylar_off → rylar | 19:20 |
| ← hyperair left | 19:21 |
| ← bentob0x left | 19:21 |
|
Aides
| git checkout -- foo | 19:22 |
|
Ilari
| Or maybe 'git checkout HEAD -- foo'. | 19:22 |
| ← capndiesel left | 19:23 |
|
wwalker
| thank you both. definitely needed the HEAD though | 19:23 |
| ← kpreid__ left | 19:23 |
| → kpreid_ joined | 19:23 |
| → jeckel joined | 19:23 |
|
Aides
| yeah, /me sucks | 19:23 |
|
wwalker
| Aides: nope. that would have pointed me to the right man page. :-) | 19:24 |
|
Aides
| heh ;) | 19:24 |
| jeckel → revans | 19:24 |
|
Aides
| i'd also advise you to pay more attention to "git status" output | 19:25 |
| → marvil07 joined | 19:25 |
|
Aides
| it says how to undo stuff | 19:25 |
| ← reprore left | 19:25 |
|
wwalker
| Aides: will do. | 19:25 |
| → sh1mmer joined | 19:26 |
| ← augustl left | 19:27 |
| ← WebDragon left | 19:30 |
| WebDragon|away → WebDragon | 19:30 |
| → justin-g_ joined | 19:30 |
| → bdimcheff joined | 19:30 |
| → qrush_ joined | 19:31 |
| ← csgeek left | 19:33 |
| → godsflaw joined | 19:34 |
| → charles__ joined | 19:37 |
|
gw280
| ok, so with git submodules | 19:37 |
|
| how do I update what checkout a submodule is supposed to be? | 19:37 |
|
| or which commit it's supposed to be a checkout of | 19:37 |
|
Ilari
| gw280: cd there, checkout the proper version, cd back, git add the submodule (don't put trailing /) and commit. | 19:38 |
|
charles__
| Looking for doc for config file's fetch = +refs/heads/*:refs/remotes/origin/* | 19:38 |
|
gw280
| Ilari: oh cool | 19:38 |
| → godsflaw_ joined | 19:39 |
|
Ilari
| charles__: man git-config should document the setting. | 19:39 |
|
Gitbot
| charles__: the git-config manpage can be found at http://git.or.cz/man/git-config | 19:39 |
|
Ilari
| charles__: +refs/heads/*:refs/remotes/origin/* means to map 'refs/heads/foo' on source side into 'refs/remtotes/origin/foo' on destination side, forcing overwrite. | 19:39 |
| ← dead1ock left | 19:39 |
| ← cilly left | 19:40 |
|
ryanarn
| the whole heads vs. origin vs. remote vs. refs thing has me totally confused. | 19:40 |
|
charles__
| @ Ilari and @ Gitbot thank you. | 19:41 |
| → WebDragon|away joined | 19:41 |
| → sdboyer_ joined | 19:41 |
|
charles__
| are obj in refs marked as indexes? | 19:41 |
| ← sdboyer left | 19:41 |
| ← WebDragon left | 19:41 |
| WebDragon|away → WebDragon | 19:42 |
|
charles__
| @ryanarn I believe ussually origin is an alias for the remote repositories objs | 19:42 |
|
ryanarn
| ahh | 19:42 |
| ← amyseldin left | 19:42 |
|
charles__
| As in git push origin master | 19:42 |
|
ryanarn
| well stupid git let me create a repo called origin/origin/foo/bar and now it won't implicitly recognize origin/foo/bar | 19:43 |
|
| s/repo/branch | 19:43 |
| ← sh1mmer left | 19:43 |
| → markelikalderon joined | 19:43 |
| → sh1m joined | 19:43 |
|
charles__
| what does 'git branch -a -v' show? | 19:43 |
| → JasonWoof joined | 19:44 |
|
charles__
| @Ilari, what does the + sign mean? | 19:44 |
| ← NemesisD left | 19:45 |
| → qhoxie joined | 19:45 |
| ← justin-george left | 19:46 |
|
ryanarn
| charles__: http://pastebin.com/m410e34f | 19:46 |
|
| charles__: * futex_2.8 is changes I want to push to origin/ibm/2.8/master | 19:46 |
| → mcella joined | 19:46 |
|
ryanarn
| but origin/origin/ibm/2.8/master is getting in the way | 19:46 |
| ← jaysern left | 19:47 |
|
Ilari
| charles__: Force update. | 19:47 |
|
| ryanarn: The origin/ or whatever prefix is added on local side to name of branch on remote side. | 19:48 |
| ← Fullmoon left | 19:48 |
|
charles__
| @Ilari thanks, I was out of my depth with ryanarn | 19:48 |
| ← charles__ left | 19:49 |
|
ryanarn
| Ilari: ugh :-/ hence why I screwed up.. so a remote push should be: refs/heads/ibm/2.8/master? | 19:49 |
| → Fullmoon joined | 19:49 |
|
Ilari
| ryanarn: Yes. If the source is local branch, then it should work when shortened to 'srcbranch:ibm/2.8/master'. | 19:50 |
|
ryanarn
| Ilari: where :ibm/2.8/master is the upstream target right? | 19:50 |
| → ramus`_ joined | 19:51 |
| → drizzd joined | 19:52 |
| → jmgit joined | 19:53 |
|
jmgit
| hi, how to know if my branch contains a specific <sha1> ? | 19:53 |
| ← qrush_ left | 19:53 |
| sdboyer_ → sdboyer | 19:54 |
| ← loops left | 19:54 |
| → loops joined | 19:54 |
|
Ilari
| ryanarn: Yes. But ':foo' means to delete foo... | 19:54 |
|
thiago_home
| jmgit: git log branchname..sha1 | 19:55 |
| mre → mre|away | 19:55 |
|
thiago_home
| jmgit: empty result = sha1 is in the past of branchname | 19:55 |
| → ajonat joined | 19:55 |
| → pantsman joined | 19:56 |
|
ryanarn
| Ilari: yeah I learned that the hard way.. apparently it meant something else in older versions of git. | 19:56 |
| → jmgit_ joined | 19:56 |
|
Ilari
| If you know the SHA-1 is for commit, 'git merge-base <branch> <SHA1>'. If it outputs that SHA-1, then branch contains it. | 19:56 |
|
ryanarn
| luckily the glibc repo disabled remote branch removal, even for those of us with checkin. | 19:56 |
|
jmgit_
| ok thanks Ilari | 19:56 |
|
Ilari
| ryanarn: AFAIK, it has never meant anything different (other than being error in really old version). | 19:57 |
| → hobodave_ joined | 19:57 |
| mre|away → mre | 19:58 |
| ← ramus` left | 20:02 |
| ← godsflaw left | 20:02 |
| ← hobodave left | 20:03 |
|
Trey
| how can I find all symbolic names (branch-tips, tags) that point at a given commit, a la how gitk or gitx do? is there a simple command, or does it do the equivalent of git branch -v, git show for each tag, etc.? | 20:03 |
| ← Stravy left | 20:03 |
|
thiago_home
| git branch --contains <sha1> | 20:04 |
| ← marvil07 left | 20:05 |
|
Trey
| thiago_home: no, that shows me each branch name that contains that commit... i want to know each name (branch or tag) that is *exactly at* that commit, i.e. can be used as another name for that commit at this moment | 20:05 |
|
thiago_home
| git ls-remote . | 20:05 |
|
Ilari
| or for-each-ref | 20:06 |
| → johnnyg joined | 20:06 |
| ← johnnyg left | 20:07 |
|
Trey
| Ilari: you're saying "git ls-remote . <sha1>" should work? it doesn't return anything for any commits pointed to by any of my tags or branches. | 20:08 |
|
thiago_home
| git ls-remote . then parse the result | 20:09 |
| → markelik_ joined | 20:09 |
| ← enoex_ left | 20:11 |
| ← dirk2 left | 20:11 |
| ← Pewpewarrows left | 20:11 |
|
Trey
| thiago_home: i see. yes, that will work. just making sure there's not some command such that, if i were to run "for i in foo bar bat; do git checkout -b $i; done" that I could run to get "master foo bar bat" in the same sort of way as symbolic-refs works | 20:11 |
|
| thiago_home: thanks | 20:11 |
| → Pewpewarrows joined | 20:11 |
| ← javatexan left | 20:13 |
| ← upul left | 20:13 |
| ← jmgit left | 20:13 |
|
yath
| hmmm, is there a canocical way to get the root of a git repository? | 20:14 |
| ← RangerRick left | 20:14 |
|
yath
| or du i just walk up the path and look for a .git directory? | 20:14 |
|
| s/du/do/ | 20:14 |
| ← ^Einstein left | 20:15 |
| → tjholowaychuk_ joined | 20:15 |
| → johnnyg joined | 20:15 |
| ← johnnyg left | 20:15 |
|
Trey
| what does "refs/tags/tagname^{}" mean in ls-remote? | 20:15 |
|
| (what does the ^{} mean?) | 20:16 |
| ← kpreid_ left | 20:16 |
| → kpreid__ joined | 20:16 |
|
thiago_home
| ^{} means "the commit" | 20:17 |
| → reidab joined | 20:18 |
|
Trey
| thiago_home: ah, that makes sense. thanks. | 20:18 |
|
Ilari
| Actually, ^{} means peel until non-tag... | 20:18 |
| ← lucsky left | 20:19 |
|
Ilari
| That, is, chase tag object pointers until non-tag is reached. | 20:19 |
| ← mbroeker left | 20:20 |
| ← jmgit_ left | 20:20 |
| → PointMan joined | 20:21 |
| → trogan joined | 20:21 |
| ← tjholowaychuk left | 20:22 |
| tjholowaychuk_ → tjholowaychuk | 20:22 |
| → panfist joined | 20:23 |
|
panfist
| i'm doing my first commit ever; when entering a commit message...is my message supposed to be commented by # marks or not? | 20:23 |
| ← tedoc2000 left | 20:23 |
| ← trogan left | 20:24 |
| ← markelikalderon left | 20:24 |
| → trogan joined | 20:24 |
| ← Axius left | 20:24 |
|
selckin
| no | 20:24 |
|
panfist
| thanks | 20:24 |
|
Ilari
| panfist: Those '#' lines are stripped. | 20:24 |
|
panfist
| ahh | 20:24 |
| ← slabbeh left | 20:25 |
|
panfist
| so if i want pre-existing parts like "# Initial commit" in my commit message, I should uncomment it | 20:25 |
| trogan → slabbeh | 20:25 |
| ← sh1m left | 20:25 |
|
Ilari
| panfist: Usually those are not meant to be included in commit message. | 20:26 |
| ← hugoxrosa left | 20:26 |
| ← joevano left | 20:26 |
| → joevano joined | 20:27 |
|
panfist
| i see | 20:28 |
| ← aisbaa left | 20:28 |
| ← PointMan left | 20:28 |
| → hugoxrosa joined | 20:29 |
| → smerp joined | 20:29 |
| → WebDragon|away joined | 20:31 |
| ← TMChris left | 20:31 |
| → PointMan joined | 20:32 |
| ← WebDragon left | 20:32 |
| → ramus` joined | 20:32 |
| WebDragon|away → WebDragon | 20:32 |
| → Guest12140 joined | 20:34 |
| → mmw joined | 20:38 |
| → kngspook joined | 20:39 |
| → [t0rc] joined | 20:39 |
| → fabiand joined | 20:39 |
| → Theravadan joined | 20:40 |
| → enherit joined | 20:41 |
|
kngspook
| Is there a way to backdate commits? In other words, make a commit so it looks like it happened in the past? | 20:41 |
|
fabiand
| hello. is tehere a simple way to get something like subversions automativ properties substitution? ($version$ is replaced autmagically on commits ) | 20:41 |
|
bremner
| fabiand: man gitattributes | 20:42 |
|
Gitbot
| fabiand: the gitattributes manpage can be found at http://git.or.cz/man/gitattributes | 20:42 |
| → seangrov` joined | 20:42 |
|
fabiand
| bremner: cheers. is your nick realted to bremen in de_DE? :) | 20:42 |
| ← priidu left | 20:43 |
| ← ramus`_ left | 20:43 |
|
bremner
| fabiand: not very directly, it's my name | 20:43 |
| → wolog joined | 20:45 |
| ← seangrov` left | 20:46 |
|
kngspook
| Also, will bad things happen if I do a git-fast-export, alter some of the commit data (ie. email addresses) and then do a git-fast-import on a new repo? | 20:46 |
| → johnnyg1 joined | 20:47 |
| ← johnnyg1 left | 20:47 |
|
fabiand
| bremner: ah nice. | 20:47 |
| ← smerp left | 20:47 |
| ← seangrove left | 20:47 |
| → Stravy joined | 20:48 |
| ← Weasel[DK] left | 20:48 |
| ← hobodave_ left | 20:50 |
| → hobodave joined | 20:51 |
| → johnnyg1 joined | 20:51 |
| → __iron joined | 20:53 |
|
ryanarn
| Ilari: thanks.. getting rid of 'origin' helped resolve the issue. | 20:54 |
| → matthew joined | 20:54 |
| matthew → Guest61392 | 20:54 |
|
Guest61392
| anyone have experience pushing through a proxy | 20:54 |
|
| have git pull working | 20:54 |
|
| but push takes forever and fails | 20:54 |
| ← dschulz left | 20:54 |
|
spearce
| kngspook: to backdate a commit either use git-fast-import (where you can set the date explicitly yourself), or set the GIT_COMMITTER_DATE environment variable before running git-commit or git-commit-tree. | 20:55 |
|
kngspook
| spearce: ah, cool, thanks | 20:55 |
| ← johnnyg1 left | 20:55 |
|
spearce
| kngspook: and if you alter some commit data by way of a fast-export | filter | fast-import pipeline, its fine, but all of the commit SHA-1 hashes change, because all commit data is used to compute the hash. | 20:55 |
|
Ilari
| Guest61392: You are trying to push over git://? | 20:55 |
|
spearce
| which is probably fine if nobody is using that repository yet for development, but you wouldn't want to do it on a public repository like say the linux kernel or git itself. | 20:56 |
|
Ilari
| Guest61392: Or https://? | 20:56 |
|
Guest61392
| http:// | 20:56 |
|
kngspook
| spearce: Excellent, thank you so much. | 20:56 |
| ← til77 left | 20:56 |
|
Guest61392
| is that even possible? | 20:56 |
|
kngspook
| spearce: (yeah, I don't care about retaining the hashes much) | 20:57 |
|
djszapi
| Hello! | 20:57 |
| mre → mre|away | 20:58 |
|
Ilari
| Guest61392: http push is known to be difficult to set up serverside. For that reason, ssh is preferred. | 20:58 |
|
Guest61392
| I have a locked down environment | 20:59 |
|
djszapi
| Can I use in my projects on http://developer.berlios.de post-receive-email to send a mail to the project mailing list when I push something e.g. ? I can commit the related .git/post-receive and the desired .git/config but I can't add the real post-receive-email to the berlios server ? | 20:59 |
| → reidab_ joined | 20:59 |
|
Guest61392
| I am only getting HTTP/HTTPS | 20:59 |
|
djszapi
| How can I solve this situation, if i can ? | 20:59 |
| mre|away → mre | 20:59 |
| ← Stravy left | 20:59 |
|
Ilari
| Guest61392: At least HTTPS is more difficult to interfere with (but there are proxies that MITM HTTPS). | 20:59 |
| ← justin-g_ left | 20:59 |
|
Ilari
| Guest61392: Of course, it has that cert BS (unless you use something like TLS-SRP, which pretty much nothing supports). | 21:00 |
| → justin-george joined | 21:00 |
| ← DavidKlein left | 21:00 |
| ← fabiand left | 21:00 |
|
Ilari
| Guest61392: Can you push to same server from unrestricted connection? | 21:02 |
|
Guest61392
| yes | 21:02 |
|
Ilari
| Guest61392: And usernames/passwords match? | 21:03 |
|
Guest61392
| yup | 21:03 |
| ← patmaddox left | 21:03 |
|
Ilari
| Guest61392: Then I guess its crap firewall preventing pushes from succeeding. | 21:03 |
|
Guest61392
| yeah that's my fear. | 21:03 |
|
Ilari
| Guest61392: Try upgrading git? | 21:04 |
|
djszapi
| any idea for post-receive-email on berlios ? Well, i can copy the post-receive-email to the server to, but I don't know what's your recommandation to do. | 21:04 |
| ← lorandi left | 21:04 |
|
Guest61392
| get a bunch of 'failed, aborting (22,500)' errors | 21:04 |
| → prahal joined | 21:05 |
| → johnnyg joined | 21:05 |
| ← johnnyg left | 21:05 |
|
Ilari
| 5XX is server error. | 21:06 |
|
| Or proxy error. | 21:06 |
| ← m-takagi left | 21:06 |
|
Guest61392
| probably proxy right? considering pushed work from non-proxy box | 21:07 |
|
Ilari
| Guest61392: Yeah. | 21:07 |
| ← [t0rc] left | 21:08 |
| ← ia left | 21:09 |
| ← kpreid__ left | 21:09 |
| → kpreid_ joined | 21:09 |
| → ia joined | 21:09 |
| ← mre left | 21:11 |
|
Guest61392
| so doing a tail -f on the access log... it sends a PROPFIND and then just hangs for about 5 minutes | 21:11 |
|
| nothing in the error lgo | 21:12 |
|
| *log | 21:12 |
|
spearce
| proxy probably just ignores webdav methods | 21:12 |
| ← kumbayo left | 21:13 |
| → pointlessjon joined | 21:13 |
| ← kngspook left | 21:13 |
| ← pointlessjon left | 21:13 |
|
gonzojive
| when you delete a branch, is there any way to get it back? | 21:14 |
|
drizzd
| git reflog | 21:14 |
| ← reidab left | 21:14 |
| reidab_ → reidab | 21:14 |
|
corp186
| I need to be able to edit multiple commit messages, some of them being merge commits | 21:14 |
|
| I don't want to rebase the merge itself | 21:15 |
|
| how can I accomplish this? | 21:15 |
| → bremner_ joined | 21:15 |
| ← ludde left | 21:15 |
|
spearce
| corp186: you can't, because changing the message changes the SHA-1 id of that commit, and all commits which came after it | 21:16 |
|
corp186
| spearce: I understand, that's fine | 21:16 |
| ← dpino left | 21:16 |
|
corp186
| this is for commits that haven't been pushed to a public repo yet | 21:16 |
| ← rudi_s_ left | 21:16 |
| → mjf joined | 21:17 |
|
corp186
| actually, I think git rebase -p -i will do what I want | 21:18 |
| → WebDragon|away joined | 21:18 |
| ← johnmclane left | 21:18 |
|
corp186
| maybe... | 21:19 |
| ← bremner_ left | 21:19 |
| ← mm_work left | 21:19 |
| → bremner_ joined | 21:22 |
|
gitster
| it should; i never tried it myself, though. | 21:24 |
|
| gitster knows that "commit --amend" of a merge works, though. | 21:24 |
|
corp186
| gitster: -commit --amend only works on the last commit though | 21:25 |
|
| right? | 21:25 |
| → kngspook joined | 21:25 |
| ← gunmuc left | 21:26 |
|
corp186
| the problem I'm having, and maybe this is a bug that has since been fixed, is that with rebase -p -i I edit the merge commit but when it stops and lets me amend I just get the previous (as in previous to this commit) message | 21:26 |
|
| instead of the current commit's message that I'm amending | 21:26 |
|
charon
| is there a built-in way to shorten refs (presumably always the same, but who knows) very often? i see shorten_unambiguous_ref but it seems to do a lot of work and no caching of the results (only of the rules) | 21:26 |
|
gitster
| fundamentally you cannot cache the result. an unambiguous result you get today may become ambiguous tomorrow. | 21:28 |
|
charon
| well, inside the loop that generates reflog entries i think i can assume when one moment refs/stash was stash unambiguously, it won't be ambiguous within the time it takes to format the rest of the reflog, can't i | 21:29 |
|
| (or else it's the user's own damn fault) | 21:29 |
| ← d0k left | 21:29 |
| → mjansen joined | 21:32 |
| ← DrNick left | 21:33 |
|
charon
| oh well, i'll do very simple caching since the one current user will only hand it the same ref all the time | 21:33 |
|
mjansen
| i did 'git init'; git remote add origin -f -t 4.6-stable-patched git://gitorious.org/+kde-developers/qt/kde-qt.git; | 21:33 |
|
| is it possible to get a list of other branches available at that repo from the command line? | 21:33 |
| → chawls joined | 21:34 |
|
Ilari
| mjansen: ls-remote? or git branch -r? | 21:34 |
| ← Turias left | 21:34 |
| → jchris joined | 21:34 |
| ← WebDragon left | 21:34 |
|
mjansen
| Ilari: ls-remote | 21:35 |
|
| didn't find that one. tried remote show origin and branch -r -a | 21:35 |
|
| thx | 21:35 |
|
chawls
| Hi everyone. I just started using git. I am trying to do "git clone <url>", which starts working but gets stuck on "Receiving objects" stage... can anyone please help? | 21:35 |
| ← loincloth left | 21:35 |
|
Ilari
| chawls: Transfer rate drops to zero? | 21:35 |
| → metadatum joined | 21:35 |
| ← metadatum left | 21:36 |
|
chawls
| Ilari: how do I know what is the transfer rate? I don't think it shows it | 21:37 |
|
Ilari
| chawls: All but totally obsolete versions should show it for git:// and ssh:// | 21:37 |
| → Thell joined | 21:37 |
|
chawls
| Ilari: my version is 1.5.6.3 | 21:37 |
| ← bremner_ left | 21:38 |
|
Ilari
| chawls: What's last line printed by by clone? | 21:38 |
|
Thell
| Quick question:: anyone happen to know of some good resources for a new CVS convert to learn the basics of Git? | 21:38 |
|
chawls
| Ilari: Receiving objects: 1% (149/14834) | 21:38 |
|
Ilari
| Thell: Maybe something out of git-scm.com documentation links? | 21:38 |
|
Thell
| hadn't looked yet, will do Ilari. | 21:39 |
| → loinclot_ joined | 21:39 |
| ← loinclot_ left | 21:39 |
| ← Sigma left | 21:39 |
|
Ilari
| chawls: High or low CPU load? Any network traffic? | 21:40 |
| ← WebDragon|away left | 21:40 |
|
chawls
| Ilari: When I try to clone from another repository (not sure that's the correct term), it does show transfer rate. Just not this particular one... but it gets stuck for all of them | 21:41 |
|
| Ilari: no, low CPU and network | 21:41 |
|
| Ilari: and the transfer rate doesn't drop to 0 | 21:41 |
|
Ilari
| chawls: The amount transferred just stops increasing? | 21:42 |
|
chawls
| Ilari: Yes | 21:42 |
|
Ilari
| chawls: ssh:// or git://? | 21:42 |
|
chawls
| Ilari: git:// . I am trying from github | 21:43 |
| → Alien_Freak joined | 21:43 |
| ← intripoon left | 21:43 |
| ← eletuchy left | 21:43 |
|
mjansen
| chawls: i have that with 1.6 and gitorious from time to time. i just had to fetch 3 times to fetch from the kdeqt repo | 21:43 |
|
| perhaps try to update git first and see if you get an error then | 21:44 |
|
Ilari
| To me, it sounds like bad connection... | 21:44 |
|
chawls
| mjansen: I am really new to git... not sure what that means :) is fetch different from clone? | 21:44 |
|
mjansen
| chawls: no | 21:44 |
| → candybar joined | 21:44 |
|
chawls
| Ilari: Weird... my connection seems okay | 21:44 |
|
Ilari
| chawls: git:// can be mistaken for P2P protocols by many ISP traffic priorization systems. | 21:45 |
|
mjansen
| i would try to update git to the most recent version. iirc i had that stuck forever with older versions too. | 21:45 |
|
chawls
| mjansen: If I try the command again, it says destination directory already exists | 21:46 |
| ← kpreid_ left | 21:46 |
|
chawls
| mjansen: my current version is 1.5.6.3 (installed it today) | 21:46 |
|
mjansen
| isn't there a 1.6 ? | 21:46 |
|
Ilari
| As /topic says, latest is 1.6.5 | 21:46 |
| ← thiago_home left | 21:47 |
|
chawls
| I will try updating | 21:47 |
| → Circuitsoft joined | 21:47 |
| ← agile left | 21:47 |
| → DrNick joined | 21:47 |
| → hakunin_ joined | 21:48 |
| → agenteo joined | 21:49 |
| ← ajonat left | 21:51 |
|
Alien_Freak
| is there anyway to checkout the latest tag? is git have any notion of time when it comes to tags? | 21:52 |
| ← corni left | 21:52 |
|
Ilari
| Alien_Freak: Annotated/signed tags have timestamps, but that's about it... | 21:52 |
| → vvsh joined | 21:53 |
| ← ph^_ left | 21:53 |
|
Alien_Freak
| okay.. that's a new concept for me... a signed tag uses a gpg key.. basically just to certify authenticity? | 21:53 |
| → EricInBNE joined | 21:54 |
|
Ilari
| Alien_Freak: Yeah. | 21:54 |
| ← wwalker left | 21:55 |
| ← jrmuizel left | 21:56 |
| ← hakunin left | 21:56 |
| → travisjeffery joined | 21:56 |
| → reidab_ joined | 21:56 |
| → bobbyw joined | 21:56 |
| ← psoo left | 21:57 |
| → snearch joined | 21:58 |
|
charon
| what CFLAGS do i specify to catch warnings like the one gitster pointed out in http://article.gmane.org/gmane.comp.version-control.git/130272 ? i tried -std=c99 or -std=c89 with or without -pedantic but they just spam lots of unrelated warnings | 21:59 |
| → jchris_ joined | 21:59 |
| ← jchris left | 21:59 |
| dwmw2 → dwmw2_gone | 21:59 |
| ← Ryback_ left | 22:00 |
| ← bdimcheff left | 22:00 |
| → jrmuizel joined | 22:00 |
| ← notjohn left | 22:00 |
|
charon
| using gcc 4.3.2, i should say | 22:00 |
| jchris_ → jchris | 22:00 |
| ← travisjeffery left | 22:00 |
| ← ciskje left | 22:00 |
| ← bcardarella left | 22:00 |
| → kpreid_ joined | 22:01 |
| ← hugoxrosa left | 22:05 |
|
spearce
| charon: in the git repository look at `git show origin/todo:Make` | 22:06 |
| godsflaw_ → godsflaw | 22:06 |
| ← Guest61392 left | 22:09 |
| ← cloudhead left | 22:09 |
| ← jrmuizel left | 22:10 |
| ← markelik_ left | 22:10 |
|
Ilari
| spearce: Took any look at those patches (the URL has probably expired by now, and those weren't the latest version)? | 22:11 |
|
charon
| spearce: hrm. thanks... though that still doesn't help. i gather i should use '-Wall -fwrapv -fno-strict-overflow -std=c99 -Werror' and while that shuts up all except one of the unrelated warnings, it still doesn't warn declaration-after-statement | 22:11 |
|
| ah, duh, there's -Wdeclaration-after-statement | 22:12 |
| ← keystr0k left | 22:13 |
| → nick_santa joined | 22:13 |
| ← reidab left | 22:13 |
| reidab_ → reidab | 22:13 |
| → PhilK joined | 22:15 |
|
spearce
| Ilari: your patch series to add connect-r? i skim read it, eh, i didn't like some of it like assuming there is a bidirectional socket | 22:16 |
|
Ilari
| spearce: Being able to transport smart protocols fundamentally requires full-duplex socket being available. | 22:16 |
| → ^Einstein joined | 22:17 |
|
bobbyw
| does a post-update hook run as the user that is pushing to remote? | 22:18 |
|
Ilari
| bobbyw: Yes | 22:18 |
|
bobbyw
| Ilari: ty | 22:18 |
| → flipmoe joined | 22:18 |
|
Ilari
| bobbyw: The user on remote side that is. | 22:18 |
|
bobbyw
| Ilari: yeah, I gotcha, just making sure | 22:18 |
|
Ilari
| spearce: Or at least half-duplex socket with persistent state on both ends. | 22:18 |
| ← suman left | 22:19 |
| → hadees joined | 22:22 |
|
hadees
| how do i undo everything i've done since the last commit? | 22:22 |
|
Alien_Freak
| when I do a git config user.signingkey <gpg-key-id> is the gpg-key-id the hex number associated with the key, or the email id associated with the key? | 22:22 |
|
Ilari
| hadees: 'git reset --hard' (destructive). | 22:22 |
|
| Alien_Freak: IIRC, anything gpg can look up. | 22:23 |
|
hadees
| Ilari, thanks so --soft would just take it out of the log? | 22:23 |
|
Ilari
| hadees: --soft just manipulates where the branch is without changing anything else. | 22:23 |
| ← DrNick left | 22:23 |
| ← revans left | 22:23 |
| ← tjholowaychuk left | 22:24 |
|
Alien_Freak
| sweet | 22:24 |
| → \ask joined | 22:25 |
| ← mmw left | 22:27 |
| ← ctusar left | 22:28 |
| ← __iron left | 22:28 |
| → agile joined | 22:28 |
|
Ilari
| spearce: And "assuming there is a bidirectional socket"? How you think that assumption could be weakened without seriously compromising the entiere purpose of series (being able to fairly easily swap "layers 5 and 6" of smart transports)? | 22:28 |
| ← zigovr left | 22:29 |
|
Ilari
| spearce: One-shot RPC like HTTP is not the normal case. Normal case is (quasi-) full-duplex communication over reliable stream transport. | 22:29 |
| ← RobertMeta left | 22:29 |
|
mugwump
| but you can also fake it with messages and sessions | 22:30 |
|
| that way fit into eg cgi requirements | 22:31 |
|
| I'm coming in in the middle of the conversation admittedly | 22:32 |
|
Ilari
| mugwump: Patch series which implements: 1) Being able to declare new protocols with remote helpers, 2) Remote helpers being able to implement smart transport (fetch, push, remote archive) without reimplenting smart protocol logic. 3) Demoting {HTTP,FTP}{,S} fully into remote helpers 4) Some misc bits (remote helpers with --, debug mode, mandatory caps). | 22:35 |
| → johnnyg joined | 22:36 |
|
mugwump
| ok, I just thought that one of these smart transports was supposed to be able to run as a cgi script | 22:36 |
|
| like 'hg' does | 22:36 |
|
| or 'hgweb' or whatever it is they use | 22:36 |
|
Ilari
| mugwump: That's smart-HTTP. This series is about other stuff. Like implementing gits:// or something even more exotic. | 22:37 |
| → RobertMeta joined | 22:37 |
|
Ilari
| mugwump: Server side cold implement smart transport servers without reimplementing smart procol logic already (assuming persistent connection). | 22:38 |
|
| *could | 22:38 |
| → jeckel joined | 22:39 |
|
mugwump
| turning a requirement for persistent connection into one that doesn't isn't fundamentally hard | 22:39 |
|
| you just need to be able to send the server-side state with the response, and read it back on a new request | 22:40 |
| ← reidab left | 22:40 |
|
Ilari
| mugwump: That effectively impossible. | 22:40 |
|
mugwump
| (assuming you can verify it, of course) | 22:40 |
|
Ilari
| *That's | 22:40 |
| ← PointMan left | 22:40 |
|
mugwump
| if you've got some struct representing the connection handle, you can just freeze that and send it | 22:41 |
|
spearce
| Ilari: then use the --stateless-rpc mode, but make it --stateful-rpc. same stream format, just fetch-pack doesn't maintain that req_buf between have rounds. | 22:41 |
|
mugwump
| it's how seaside fakes a persistent session over http | 22:42 |
|
bobbyw
| in this example "git@remote:repo.git" where does it look for repo.git, it doesn't seem to be the path of the the login for the git user | 22:42 |
|
mugwump
| bobbyw: ime it does look there | 22:42 |
|
PhilK
| Does anyone have a good tutorial or link for merging two forks together? I've got a fork of a project that I want to merge with another fork. (the original has updates that never made it into the fork that I'm using) | 22:43 |
|
Ilari
| spearce: If the transport needs chunking, I would have the lower layers do it and not complicate git native smart transport code any more. | 22:43 |
|
bobbyw
| mugwump: so it is effectively "git@remote:~/repo.git" hmm... no dice for me | 22:43 |
| ← vvsh left | 22:44 |
|
mugwump
| maybe check things like pam config and login scripts | 22:44 |
|
bobbyw
| mugwump: ok thanks | 22:45 |
| ← flipmoe left | 22:45 |
|
Ilari
| spearce: I regard having bidirectional full-duplex socket as common case... | 22:45 |
|
mugwump
| ilari, why do you say that wrapping up a connection state in some kind of cookie would be impossible? | 22:46 |
|
| it would let you keep the assumption that there is bidirectional communication | 22:46 |
|
Ilari
| mugwump: The connection state on remote end is the entiere git layer 7 server process. | 22:46 |
|
mugwump
| not really | 22:47 |
|
| you could narrow it down to a struct or two | 22:47 |
| jeckel → revans | 22:47 |
|
Ilari
| mugwump: That would require dissecting the git protocol far more than what I would be confortable with. | 22:47 |
|
mugwump
| using a binary blob is a trick to avoid designing a proper representation of course :) | 22:48 |
|
| well, currently the only real place where this is required is during revision negotiation right? | 22:48 |
|
| there's not that much information to send | 22:49 |
| → ispeak joined | 22:49 |
|
spearce
| mugwump: already solved in my smart-http series | 22:49 |
|
mugwump
| ok | 22:50 |
| ← hadees left | 22:50 |
|
spearce
| Ilari: the chunking that --stateless-rpc performs on fetch-pack/send-pack stdout is to the connection helper can safely identify two things: | 22:50 |
|
Ilari
| spearce: By having client keep the entiere state. Except that in this case, doing that is not an option. | 22:50 |
|
spearce
| 1) when the program is done sending, and wants to start reading data from the other side | 22:50 |
| ← PhilK left | 22:51 |
|
spearce
| 2) when the program is completely finished, and will now output data intended *not* for the remote, but instead for the helper's caller | 22:51 |
| → vvsh joined | 22:52 |
| → onigiri joined | 22:52 |
| → PointMan joined | 22:54 |
|
bobbyw
| mugwump: you were right, it does work that way (remote:repo.git), I had a mixup | 22:55 |
| → bremner_ joined | 22:57 |
|
mugwump
| ideally connection state can be reduced to the minimum amount required to reconstruct it | 22:58 |
| → Azeroth-Work joined | 22:59 |
| → Tricon joined | 23:00 |
| ← cannonball left | 23:00 |
| ← ixti left | 23:01 |
| ← PointMan left | 23:02 |
| ← Tricon left | 23:02 |
| → gitte joined | 23:03 |
| → Tricon joined | 23:03 |
|
Ilari
| mugwump: What if no such reconstruction is needed? | 23:04 |
| ← pantsman left | 23:04 |
| ← johnnyg left | 23:05 |
|
mugwump
| as in, you're stateless? | 23:05 |
| → patmaddox joined | 23:05 |
|
Ilari
| mugwump: As in, connection is stable and both endpoints are stable. | 23:05 |
|
mugwump
| what do you mean by that? | 23:05 |
| ← vvsh left | 23:06 |
|
spearce
| he means a stateful connection like git:// is today | 23:06 |
|
mugwump
| oh right I see | 23:06 |
| ← Tricon left | 23:06 |
|
mugwump
| sure, well in that case if you try to tunnel over a protocol then you simply lose | 23:06 |
|
Ilari
| And most of the stuff client side that gets reused are required for GIT_PROXY and ssh:// anyway. | 23:06 |
|
mugwump
| over an rpc-like protocol | 23:06 |
| ← Yuuhi`` left | 23:08 |
| → Tricon joined | 23:08 |
| ← slabbeh left | 23:08 |
| ← krawek left | 23:11 |
| → krawek joined | 23:11 |
| ← bremner_ left | 23:12 |
| → sonic joined | 23:12 |
| ← Tricon left | 23:13 |
| → Tricon joined | 23:15 |
| ← Theravadan left | 23:15 |
|
sonic
| Hi guys. Is there a log of this room I can look at. Need to find some instructions someone told me earlier. | 23:16 |
| → sh1mmer joined | 23:16 |
|
Ilari
| sonic: See /topic | 23:16 |
|
sonic
| thanks Ilari | 23:17 |
| ← pas left | 23:17 |
| ← Leftblank left | 23:17 |
| → pas joined | 23:17 |
| nevyn___ → nevyn | 23:19 |
| ← Fullmoon left | 23:20 |
| ← Tricon left | 23:20 |
|
gitte
| Ilari: do you know that you actually run this channel? | 23:21 |
| → DrNick joined | 23:21 |
| → Tricon joined | 23:22 |
|
Ilari
| gitte: Yeah, noticed that I got +o'd | 23:22 |
| → ctusar joined | 23:22 |
|
gitte
| Ilari: Did you? | 23:22 |
|
| Ilari: I would have done that _a long_ time ago, if only I had had the permission to do so... | 23:23 |
|
| Ilari: but I guess pasky is not on the "Go" for a change... | 23:23 |
| ← DaveIngram left | 23:24 |
| ← justin-george left | 23:25 |
| ← hobodave left | 23:25 |
| ← Tricon left | 23:27 |
|
Ilari
| gitte: Spearce doesn't seem to like the way I implemented smart protocol channeling in that patch series (interface akin to GIT_PROXY / ssh transparent tunneling)... :-/ | 23:27 |
| → hugoxrosa joined | 23:28 |
|
gitte
| Ilari: haven't read the mailing list after coming back from some social time off yet... | 23:28 |
|
| Ilari: do not be afraid to speak up against Git old-timers. From recent experience, I can tell you that they are as wrong most of the time as the rest of us. | 23:28 |
| ← fhr left | 23:28 |
|
Ilari
| gitte: Don't bother searching that. I don't have workable E-Mail (ouch). | 23:29 |
|
gitte
| Huh? | 23:29 |
| revans → revans|away | 23:29 |
|
spearce
| its Ilari, the only git without email. :-) | 23:29 |
|
gitte
| Ilari: Did I not communicate with you at some stage? | 23:30 |
| → Tricon joined | 23:30 |
|
gitte
| spearce: hellooooo! | 23:30 |
|
| gitte /nicks spearce gitney | 23:30 |
| ← sonic left | 23:30 |
| ← altrux left | 23:31 |
|
Ilari
| And that darn ISP upgraded their systems and I can't register to control panel where I could set up Mail. | 23:31 |
|
gitte
| Ilari: use another mail account, then. | 23:32 |
|
bobbyw
| is there a way in a post-* hook to work with the files that just got pushed instead of the previous version that was there from the last push? | 23:32 |
|
Ilari
| I'm supposed to have activation ID and password to register there, but they no longer work. | 23:33 |
|
gitte
| Ilari: then screw them. | 23:33 |
|
| Ilari: plenty of other mail providers. | 23:33 |
|
| spearce hasn't used an ISP email in 13 years | 23:33 |
|
gitte
| Ilari: more reliable ones, even. Try big G, for example. | 23:33 |
|
Ilari
| I hate webmail. | 23:34 |
|
sitaram
| imap | 23:34 |
|
bobbyw
| ah... unset GIT_DIR | 23:34 |
| ← mjansen left | 23:34 |
|
Ilari
| sitaram: Imap is for reading only. | 23:34 |
|
spearce
| smtp is for sending. | 23:34 |
|
| use smtp. | 23:34 |
|
| big G for example allows smtps for sending. i use it. | 23:35 |
|
gitte
| Ilari: I do not use big G via web most of the time. Gmail, I use via pop3. | 23:35 |
|
sitaram
| Ilari: I meant you can use gmail without a browser completely -- use imap to read and smtp to post, I think | 23:35 |
|
gitte
| (and stmps, that's right)) | 23:35 |
| ← snearch left | 23:35 |
| → spaceonline joined | 23:35 |
|
Ilari
| The port is called 'submission'? | 23:36 |
| ← Tricon left | 23:36 |
|
gitte
| Step 1 of 3: Downloading source code history (Running 0/2) | 23:36 |
|
| Oops. | 23:36 |
|
| $ grep submission /etc/services | 23:37 |
|
| submission 587/tcp # Submission [RFC4409] | 23:37 |
|
| gitte hates the fact that there are two clipboards in GNOME, and it makes you know it. | 23:37 |
|
Ilari
| Middle click and edit -> paste are supposed to paste different stuff... | 23:38 |
| → Tricon joined | 23:38 |
|
gitte
| Ilari: sometimes there is not a middle button. | 23:40 |
|
| Ilari: for some reason, a button is very similar to a key. An unlabeled one. | 23:41 |
| → secoif joined | 23:41 |
|
spearce
| get a sticker, write on it, attach to the button, now its just like a key. | 23:41 |
|
gitte
| Ilari: almost like statistics: you hit a key, and you never know what comes out of it! | 23:41 |
|
Guest12140
| cut and paste is a bad idea anyways | 23:41 |
|
gitte
| spearce: but then it is wrong almost all of the friggin time. | 23:41 |
|
Guest12140
| the computer should just automaticallyknow what i need to paste | 23:41 |
|
Ilari
| No middle button in mouse but full 102+-key keyboard: (IIRC), shift-alt-numlock, KP-*, KP-5. | 23:42 |
|
gitte
| Guest12140: your nickname "Scotty"? | 23:42 |
| → DaveIngram joined | 23:43 |
| ← ispeak left | 23:44 |
|
Ilari
| And that is feature of X server itself, so the event does not appear synthetic (matters with some programs). | 23:44 |
| ← LiamH left | 23:45 |
|
gitte
| Ilari: which is a serious flaw in those programs | 23:45 |
| revans|away → revans | 23:46 |
| ← DaveIngram left | 23:46 |
|
spearce
| Ilari: i'm not entirely against the idea of a connect-r in a helper, i just think that i uncovered some issues with the pipelines that made me use a chunking system between the smart protocol handler (fetch-pack or send-pack) and the helper, as there is also a protocol required between the helper and the caller (git-fetch or git-push) that the helper needs non-smart protocol data from the smart protocol handler to implement. | 23:46 |
| ← samferry left | 23:46 |
| ← Tricon left | 23:46 |
| ← mjf left | 23:47 |
|
Ilari
| spearce: It might be useful (but not strictly mandatory) to have chunking data available. But then, the chunking system would have to be pretty simple or it would be almost better to follow packetization of transport stream. | 23:48 |
| → mattayers joined | 23:49 |
|
spearce
| the problem is you have this flow: git-fetch <--> helper <--> git-fetch-pack | 23:49 |
|
| get data from git-fetch-pack to git-fetch without the helper having to grok it. | 23:49 |
|
| don't forget you also have helper <--> remotesockethingyonlyitknows | 23:49 |
|
| gitte thinks that IRC sometimes beats email, gittus' impression notwithstanding | 23:50 |
|
| spearce can't do asciiart on irc | 23:50 |
|
Ilari
| I haven't looked at how transport streams bundle up in practice with strace, but I would guess that flushing on each read wouldn't suck too badly. | 23:51 |
| ← madewokherd left | 23:51 |
| ← qhoxie left | 23:51 |
|
| gitte thinks sometimes asciiart just takes time, and is not helpful anyway. | 23:52 |
|
| gitte also thinks that there's always a gist | 23:52 |
| ← patmaddox left | 23:53 |
| → madewokherd joined | 23:53 |
|
Ilari
| That might bloat interactive parts, but what really matters is the main pack stream, and that should be bulk transfer anyway. | 23:54 |
| ← alezandro left | 23:55 |
|
Ilari
| Linux has pipe buffer of 4KiB in older versions and I have also seen 64KiB pipe buffers. That should fit entiere sideband-64k frame. | 23:56 |
|
gitte
| Ilari: what about non-Linux? | 23:56 |
| → upul joined | 23:56 |
|
Ilari
| Non-Linux systems should also have reasonable pipe buffers... Does many systems have <4KiB pipe buffers? | 23:57 |
| → asciant joined | 23:57 |
| ← Fikeis left | 23:57 |
| ← sh1mmer left | 23:57 |
|
asciant
| the git manpages has git merge as "git merge <branchname>", would my branchname be my most recent commit? Or master? | 23:58 |
|
Ilari
| asciant: Commit ID of tip of anonymous branch to merge or name of branch to merge. | 23:58 |
|
asciant
| ilari: worked thanks :0 | 23:59 |