I also spent some time playing with git. finally realized git simply
can't do some of the things I've been relying on tla to do for me.
the most important thing is being able to maintain separate branches,
which cherry-pick changes from each other. it seems to me that isn't
too strange of a thing to want to do. but it looks to me like it's
simply not possible in git, monotone, or mercurial.
There _is_ a way to cherry picking in git, and though it sounds a bit
weird, it works remarkably well. When you want to merge the branches
"fully", just use the git merge tools. When you want to pick patches,
use
git-format-patch --mbox -o tempdir destbranch srcbranch
it'll generate one-file-per-patch in tempdir. Review the patches, edit
them, remove anything you don't want. When you are done, merge them
into the destination branch using git-apply-mbox.
Next time you try this, git-format-patch will spot the patches you've
merged already and skip them... as long they weren't modified too much
(can cope with changed offsets, but not rejected or changed hunks).
There is one limitation: the format that git-format-patch exports
doesn't cope with binary files. Everything else is just sweeeeeet.
so for now I plan to continue using tla just like I have been. it's
not like the license is going to expire or anything. :)
Fair enough. We also use tla still, though performance and disk-space
issues have been a serious problem. GIT is arguably overkeen on
merging stuff, I'm exploring using StGIT for some stuff (now supported
by qgit too, "drag and drop patches"), but this mbox-patches strategy
is working so far...
cheers,
martin