| 2006-04-17 |
| → Pug|Lagged joined | 01:07 |
| → pasky joined | 01:32 |
| → Pug|Lagged joined | 01:45 |
| Pug|Lagged → PugMajere | 01:45 |
| → benlau joined | 02:29 |
| → loops joined | 03:47 |
| → cworth joined | 03:50 |
| → Oejet joined | 04:40 |
| → hharrison joined | 06:22 |
| → ferdy joined | 07:16 |
| → juvenis- joined | 07:40 |
| → ferdy joined | 08:55 |
| → hharrison joined | 10:26 |
| → morans joined | 11:30 |
| → coywolf joined | 11:47 |
| → Aexoden joined | 11:57 |
|
yann
| pasky: just tried cg-admin-rewritehist to make a graft permanent, and get (cg 0.17.2, git 1.2.6): | 12:31 |
|
| $ cg-admin-rewritehist -r master neworigin | 12:31 |
|
| head: error reading `../map/': Is a directory | 12:31 |
|
| usage: git-update-ref <refname> <value> [<oldval>] | 12:31 |
|
| cat: ../map/: Is a directory | 12:31 |
|
| Rewritten history saved to the neworigin branch | 12:31 |
|
| (and there is no "neworigin" branch afterwards) | 12:31 |
|
pasky
| uh | 12:52 |
|
| please try latest cogito git tree | 12:52 |
|
| and there are some outstanding bugs anyway, I think | 12:53 |
| ← coywolf left | 13:12 |
| ← Oejet left | 13:21 |
| → boto joined | 13:39 |
| spuk-_ → spuk- | 13:43 |
|
yann
| pasky: cogito-0.17.2-ga433433 with git-1.2.6 gives the same result | 14:01 |
|
| oh, a433433 is not official, it is master with my "accents" patch | 14:02 |
|
pasky
| I'll have a look in 0.5 hour | 14:04 |
|
yann
| pasky: currently investigating | 14:05 |
|
| any reason you don't "set -e" your bash scripts ? | 14:06 |
|
pasky
| because I didn't at the very start and now it'd be some work to review the scripts for -e safety | 14:07 |
|
| and I keep forgetting to do it at least for new scripts :) | 14:07 |
|
yann
| the problem here is that the "revs" file get created empty, and that case is not handled | 14:08 |
|
pasky
| because it should be empty unless you are doing -r HEAD | 14:09 |
|
yann
| it may be normal that "git-rev-list --topo-order HEAD '^master' master" returns nothing, after all | 14:09 |
|
pasky
| huh | 14:09 |
|
| how did _that_ get there, anyway? | 14:09 |
|
yann
| hey, it's *your* script :) | 14:09 |
|
pasky
| hmm | 14:10 |
|
| it seems like I really wrote it there | 14:10 |
|
| any idea what was I thinking? ;) | 14:10 |
|
| oh | 14:11 |
|
yann
| maybe you meant ^${OPTARG}~1 ? (just a wild thought without any particular reason) | 14:11 |
|
pasky
| yes | 14:13 |
|
| ^$OPTARG^ | 14:13 |
|
| :) | 14:13 |
|
CIA-14
| Cogito: pasky * r396abf531436 /cg-admin-rewritehist: Fix cg-admin-rewritehist -r | 14:14 |
|
pasky
| ta | 14:14 |
| → timlarson_ joined | 14:14 |
|
dwmw2_gone
| do we have a way to clone a remote tree but use a local 'alternates' directory? | 14:14 |
|
yann
| that's called a "japanese smiley patch" :) | 14:14 |
|
dwmw2_gone
| other than cloning the local tree with git-clone -s, then making a new branch or something for the remote and pulling that, then making it the 'master' | 14:15 |
|
yann
| pasky: still some problems: | 14:17 |
|
| $ PATH=../localgit/bin:$PATH cg-admin-rewritehist -r master neworigin | 14:17 |
|
| 8fd492e612d4f55b555dc94b6615ef41b0bf1dac (1/1) cat: ../map/05ea4d3b32ca9d57a0d54f05ee0724e6af8459bd: No such file or directory | 14:17 |
|
| Committing initial tree e50d4d6d3904b32e9c50e238e4eed145726bfcac | 14:17 |
|
| ff9fdb394579c81537dd604ed78c48232e85619e | 14:17 |
|
| Rewritten history saved to the neworigin branch | 14:17 |
|
| ... and the new "neworigin" head points to an empty orphan commit with message of the "master" commit | 14:19 |
|
| but hey, there again set -e would stop things before the commit :) | 14:20 |
| → datrus joined | 14:23 |
| ← datrus left | 14:23 |
| → datrus joined | 14:23 |
|
pasky
| ah | 14:24 |
|
| someone sent me a patch for this | 14:25 |
|
| my patchqueue is non-empty | 14:25 |
|
| will go through it asap | 14:25 |
|
yann
| pasky: oh, you're right about set-e-safeness - what makes this run stop is pick_id | 14:26 |
|
| never use "[...] && do_that", always "[!...] || do_that" ... | 14:27 |
| → alec joined | 14:28 |
| ← alec left | 14:28 |
| → benlau joined | 14:36 |
|
dwmw2_gone
| hm. | 14:37 |
|
| dwmw2_gone finds a tree containing | 14:37 |
|
dwmw2_gone
| Signed-off-by: J�rn Engel [email@hidden.address] | 14:37 |
|
| we really ought to reject non-UTF8 input in commit messages | 14:38 |
|
yann
| pasky: my set-e patch may need closer examination - it would be easy to introduce an error when doing such conversions | 14:48 |
|
pasky
| hmm, I'm not sure I like it | 15:03 |
|
| I find the original form more readable | 15:03 |
|
yann
| right, in many cases I find the equivalent if construct more readable - would that qualify ? | 15:23 |
|
pasky
| in some cases yes, but not in all | 15:23 |
|
yann
| I tend to keep || as an idiom for "assert", thoguh | 15:23 |
|
| though | 15:23 |
|
| pasky ponders | 15:24 |
|
yann
| things like "[ assertion ] || die" | 15:24 |
|
| that's the only case where I still use them myself, since I find them still readable, and shorter than if | 15:25 |
|
pasky
| later in the evening I'll go through the patch queue | 15:25 |
|
| after a bit of thought, I think I will accept most if not all the changes | 15:25 |
|
yann
| you mean, those in my "set -e" patch ? | 15:27 |
|
pasky
| yes | 15:28 |
| → YGingras joined | 15:29 |
|
yann
| cool, less work for me :) | 16:00 |
| ← benlau left | 16:13 |
| → dst_ joined | 16:53 |
| → tcsager joined | 17:02 |
| → dst_ joined | 17:19 |
| ← tcsager left | 17:19 |
| → acb joined | 17:41 |
| → anholt_ joined | 17:50 |
| → schofield joined | 18:48 |
| → juvenis-- joined | 19:09 |
| → YGingras_ joined | 19:15 |
|
YGingras_
| should I use raw git, cogito or qgit for simple everyday hacking ? | 19:16 |
|
| YGingras_ is a total noob | 19:16 |
|
loops
| qgit is just a visualization tool | 19:16 |
|
| so the choice is really between git and cogito | 19:16 |
|
| cogito needs git installed to run | 19:17 |
|
| so you can install git and see how it goes... | 19:18 |
|
| if it starts to bend your brain, install cogito and see if it makes more sense | 19:18 |
|
YGingras_
| loops, that makes sence. This might sound trollish but how does git compares with bzr? My little experience shows that bzr is extremly slow and git pretty fast. Is there a drawback for all this speed ? | 19:19 |
|
dormando
| you get your work done faster. | 19:20 |
|
| then they fire you when there's nothing left to do | 19:20 |
|
| :| | 19:20 |
|
loops
| i don't know bzr, but the drawback of git might be a steeper learning curve | 19:20 |
|
| although in the end, git is really rather straight forward | 19:20 |
|
| just a bit different than many peeps are used to | 19:21 |
| → mchehab joined | 19:25 |
|
yann
| loops: no, qgit is not *only* that, it is wrongly listed as such, that's all | 19:45 |
|
| YGingras: and you also have the option to use stgit | 19:46 |
|
| In most cases I use stgit and a couple of cogito commands | 19:46 |
|
| btw, qgit has support for basic stgit operations, but you'll need latest rc version of qgit to use stgit 0.9 | 19:47 |
|
YGingras_
| somehow I don't like the idea of using pre-beta programs when they are responsible of my code storage and integrity ; ) | 19:48 |
| → robfitz joined | 19:49 |
|
yann
| YGingras: it is git being responsible of that, qgit only runs git/stgit commands | 19:50 |
|
| and "rc" is a"release candidate", not a "pre-beta" :) | 19:50 |
|
| only on the linux kernel have I seen "rc" used for "pre-beta"... | 19:50 |
|
YGingras_
| : ) | 19:51 |
|
yann
| anyway, with cogito and stgit you already have much things to discover | 19:52 |
|
| my advice would be to get familiar with those first. To use core git tools, you'll most likely have to use more non-standard concepts (use of the index, etc), so you can leave that for later | 19:53 |
|
YGingras_
| In fact I'll probably end up doing mostly centralized dev but I like to keep the decentratlized option I in the end its much easier for contributors | 19:56 |
|
loops
| stgit isn't really what most developers would be looking for centralized dev | 19:57 |
|
| it's mostly about patch management against a central repository that you don't control yourself | 19:57 |
|
| if you manage your own repo, not much reason for a patch stack | 19:57 |
|
yann
| oh yes there are reasons! | 19:58 |
|
loops
| and with a modern version of git, you don't really have to think about the index etc | 19:58 |
|
| git commit <filenames> | 19:58 |
|
| no need to update index etc.. | 19:58 |
|
| yann, oh i'm sure there are some corner cases.. | 19:58 |
|
yann
| I use it mostly to be able to work on several things at once, and reorganize things in small patches | 19:59 |
|
loops
| git can do that pretty easily as well, use multiple "topic" branches and then git-cherry-pick | 19:59 |
|
yann
| afterwards you can just "stg commit" to your centralized branch - that's even a command you would not want to use in the case you mention | 20:00 |
|
loops
| don't really need patches | 20:00 |
|
yann
| loops: I bet you haven't used stgit enough, or you wouldn't be doing that comparison :) | 20:00 |
|
loops
| yann, i don't think you're talking about the use case that YGingras is asking about | 20:01 |
|
yann
| and about "git commit", yes, there is the porcelain-layer-inside-the-core-package which I do find confusing as hell | 20:01 |
|
loops
| yann, once you use it a bit, it's easy | 20:01 |
|
| i'm not knocking stgit, just saying its not for every use case | 20:02 |
|
yann
| sure, it does not do everything, that's why I also use cogito - but once you got used to stgit, not having the stack management stuff at hand is frustrating | 20:03 |
|
| and using topic branches is no comparison - how would you get the output of "stg series -d" using topic branches ? | 20:03 |
|
loops
| why would you want to output a stg series -d ? | 20:04 |
|
| just merge the topic branch with your main branch when its ready | 20:04 |
|
yann
| we're just not talking about the same thing | 20:04 |
|
loops
| you're right, you're talking about sending patches into a maintainer, and i'm talking about maintaining your own repo | 20:05 |
|
yann
| not at all | 20:05 |
|
| :) | 20:05 |
|
loops
| lol.. well educate me then, why do you output a stg seiies -d ? | 20:05 |
|
| series* | 20:05 |
|
yann
| I maintain my own repo at work (a git mirror of a cvs tree), and use a distinct working tree where I use stgit | 20:06 |
|
loops
| yeah, the git importing of cvs tree's is heaven | 20:06 |
|
yann
| my job is build manager - I have to work on several aspects of the build system, but want all my changes in the same tree | 20:07 |
|
| (no it isn't, it's deadly buggy, but I know that and can live with that) | 20:07 |
|
loops
| hmm, works for me | 20:07 |
|
yann
| so I have a stack of distinct to-be-cvs-commits, and add to them incrementally until I'm happy with them (builds, tests pass, etc) | 20:08 |
|
loops
| yes, see you're exporting patches to cvs. | 20:08 |
|
| an external repo | 20:08 |
|
| so there's no doubt stgit is the right tool for the job | 20:08 |
|
yann
| then I do not use "stg commit" but cvs-exportcommit because the backend is cvs, but the idea is the same | 20:08 |
|
loops
| but if everything is being maintained within git, there's a lot less reason for patch stacks | 20:09 |
|
yann
| not really external - I could do the same job with only cvs (just much less efficiently) | 20:09 |
|
loops
| yes, i just meant.. external to the git repo | 20:09 |
|
yann
| I use a second repo just as a working area | 20:09 |
|
| it's just a way of using the tools, nothing to do with the high-level workflow that my manager can see | 20:10 |
|
loops
| well, when i make a commit to a git repo, i'm done with it, i don't have to rearrange it later. | 20:11 |
|
| just different work flows | 20:11 |
|
yann
| and about git-cvsimport: I customarily see (or rather do not see) patches in cvs that it does not import back | 20:11 |
|
loops
| really? that's worrying | 20:11 |
|
yann
| I guess it has to do with considering timestamps to decide whether a changeset has been imported already | 20:12 |
|
loops
| ah, so it's more to do with incremental updating.. mostly i've just used it to suck in a cvs repo and then retire the repo. | 20:12 |
|
yann
| and I suspect the problem to come from the fact I work over nfs | 20:12 |
|
| right | 20:12 |
|
loops
| so, qgit has some stgit integration now ? | 20:13 |
|
| looks like the new version is worth checking out | 20:16 |
| → hharrison joined | 20:25 |
|
yann
| loops: right - still only has basic functionnality, but makes stgit available to people allergic to command-line :) | 20:30 |
| → DrNick joined | 20:59 |
|
YGingras_
| I can't seem to build the doc on Sarge : \ | 21:02 |
|
| xhtml11 seems to bork | 21:03 |
|
| I'll try with only man | 21:04 |
|
| noop: "Document /tmp/git-1.2.6/Documentation/git-fetch.xml does not validate" | 21:05 |
|
| can I use qgit to pull changes from a remote git archive ? (I don't know if archiche is the right term) | 21:10 |
|
| ok I don't if this is even a git usage patern. Say dev A has a working branch, dev B clones it and hacks a lot then he have something working and tags it. He then informs dev A that he can merge all the stuff up to that tag. Does it makes sense ? Does B have to make a serie or patches with format-patch ? Can all pull the patches himself ? | 21:17 |
|
| Sorry if this is documented elsewhere | 21:17 |
|
| ok, I got it: cg-fetch | 21:23 |
| ← mchehab left | 22:07 |
| → spuk joined | 22:43 |
|
mugwump
| YGingras_: yes, but then dev A will need to merge dev B's branch in subsequently | 22:46 |
| → spuk_ joined | 22:50 |
|
YGingras_
| ok, now supose I borked my master head, using cogito how can I get back to the last working commit ? | 22:55 |
|
| well, I see how I can get back using cg-seek but how can I make this commit my new master head ? | 22:59 |
| → somegeek_ joined | 23:03 |
|
pasky
| cg-switch -f -r COMMITID master | 23:04 |
| → lilo_ joined | 23:04 |
|
pasky
| it's mentioned in cg-seek documentation | 23:05 |
|
YGingras_
| oh, --long-help ... | 23:05 |
| → spuk joined | 23:06 |
|
YGingras_
| pasky, does "cg-switch: switch blocked: seeked from master (some commands can be still forced)" mean that I'm screwed ? | 23:07 |
|
pasky
| just cancel the seek | 23:07 |
|
YGingras_
| ok, a plain "cg-seek" than "cg-seek -f -r ..." ? | 23:08 |
|
| that seems to wokr | 23:09 |
|
| woohoo! cg-diff -c is neet! : D | 23:11 |
|
| why does cg-merge autocommit? don't you usually review changes before you commit a merge % | 23:12 |
|
| ? | 23:12 |
|
pasky
| usually I review them before cg-merge :) | 23:14 |
|
| cg-merge -c will disable autocommitting | 23:14 |
|
| hmm, that's a silly flag letter | 23:14 |
|
| I'll rename it to -n | 23:14 |
|
CIA-14
| Cogito: pasky * rc21f003d0ae6 /cg-merge: Rename cg-merge -c to more consistent cg-merge -n | 23:16 |
|
YGingras_
| pasky, support I have a file that I merged and there is a hunk that I want to merge and one that I wand to reject, is there a convenient way to edit the diff? qgit+konpare doesn't seem to affect the working tree | 23:17 |
|
| pasky, actually I would have like to make that change just to get the feel for a real life branch+commit | 23:19 |
|
pasky
| you can edit at the commit time by doing cg-commit --review | 23:20 |
|
| but commit time is quite late | 23:20 |
|
| earlier, not yet... but it's planed (as "cg-shelve" or something) | 23:21 |
|
| +n | 23:21 |
|
YGingras_
| that would be great | 23:21 |
|
| I can get the file that I want with qgit+kompare but the save button won't save it the working tree, I need to do save as. Kompare is not that good, xxdiff is easier to understand though uglier | 23:23 |
|
| pasky, for now how should I refuse a merge? "cg-diff > foo.diff && emacs foo.diff" than reverse patch the unwanted changes ? | 23:30 |
|
| I mean partially refuse a merge | 23:30 |
|
pasky
| yes, probably | 23:33 |
|
YGingras_
| ok, I think I'm up to speed. git+cogito is great. : D | 23:34 |
|
| pasky, how do you usually develop? You make a devel head and when it passes integration tests you move it to master or you just tag master when you have a solid integration ? | 23:36 |
|
pasky
| I personally just develop on master ;) | 23:39 |
|
YGingras_
| pasky, its pretty impressive that you manage to do all of this in shell script but how will you handle i18n? | 23:44 |
|
| I would actually be interested in doing the french translation | 23:44 |
| → Euler joined | 23:50 |
|
pasky
| there's a gettext tool, and in the long (possibly very long) term we will probably move to perl | 23:54 |
|
YGingras_
| sounds good | 23:58 |