
On Tue, 2009-09-15 at 10:02 +0200, JiHO wrote:
Among the "social problems" that I mention git mismatching our needs is the one of the target audience. The Kernel development realm is very different from ours, and I think that highlights one place where different tools are appropriate for different jobs.
It is not because kernel developers created and use git that it is only suited for them. Things like email patches are evidently targeted at them.
Yes, but I would consider things like a two-stage commit process more focused on people who review lots of changes and do partial commits on those changes rather than those who do small changes on a personal branch. I think that a tool can be associated with what it makes easy, and I think that git makes it easier to do large projects with a distributed web of trust. Which is more a description of the kernel than Inkscape. It doesn't mean git can't do it, just more what it's targeted to.
But I use git for all my personal projects and find it completely appropriate even though they are small projects, on which I mostly work alone, on my machine. I even used it to manage the latex and svg files for my PhD thesis and found it very practical (thanks to coloured word-diff) while this is probably as far from the kernel as you could get!
Heh, I used CVS for my Master's thesis, but I'm not suggesting that ;)
I remember from previous discussions that one difference between git and bzr which might influence the choice is their handling of remote branches. When you create a local branch in git and eventually want to make it public as a remote branch, you need to:
I'm not sure that I understand what you're saying with the git stuff, but with for instance the Launchpad plugin and Bazaar you can create branches and push to them at the same time. So a work flow would be something like:
bzr branch lp:inkscape cd inkscape ; <do work> bzr push lp:~ted/inkscape/mywork
And a merge of that to put it back in trunk would be something like:
bzr branch lp:inkscape cd inkscape bzr merge lp:~ted/inkscape/mywork bzr commit bzr push lp:inkscape
I'm not sure if that matches what you were saying. But, hopefully it answers your question :)
Finally, in terms of functionality, git supports importing a specific revision of another git repository as a submodule.
<snip>
I don't know if bzr can do all that.
I'm pretty sure that bzr quilt can do that, though I've not tried it more than realizing it was more complex than I needed for what I wanted to do at the time :) It allows you to stack branches into one working tree and then move up and down the stack of layered branches to commit to them separately.
--Ted