Hi,
a short summary of the Git BOF on OLS which finished just a short
while ago. We got to hear how Len Brown is doing things and where Git
gets in the way for him as well as interesting questions and comments
from several other people. The main highlights as I feel them (mixed
randomly with my personal blabbering) are that:
(i) We should somehow separate the lowlevel Git commands from the
highlevel ones meant for user consumption. There's too many of them
and it is confusing for the users. Similarity with BitKeeper was pointed
out (and I refrained from mentioning GNU Arch).
(ii) We should document the workflows better. Currently there is a
huge variety of workflows spread accross the Git user community,
probably stemming from the fact that the UI evolved so fast while
already "on the fly". Of course it shows that the Git tools are
really flxible and versatile, but it might also mean that we are not
abstracting some operations enough, or not selling the easier user
interface better. Anyway, new users might find the current mix of
workflows used across the community somewhat intimidating. This also
means that....
(iii) ...we should spread the word about StGIT more (because StGIT
is cool and often does just what people want to do with Git and it's
clumsy), more so because...
(iv) ...we should support mutating history better (I think this is the
most important point). There is a kind of conflict here:
* Fundamentally, Git considers history to be immutable,
especially if you publish it.
* The kernel workflow encourages the opposite - the subsystem
maintainers are rebasing all the time as well as just
generally retouching their history (typos, fixing bugs in
the patches etc).
This problem can be separated to two areas:
* Support for the history mutation. We have some nice tools
in Git for rebasing, but it would be nice to support the
other modifications easier as well. I suggested having
a tool you just tell a commit id and it will let you modify
the author info, the associated patch or fold another patch
in... Also, using StGIT obviously hlps a lot here.
* Support for distributing and following the mutated history.
I'm actually not sure about the level of Git support for
this, Cogito supports cg-updating to a mutated history
if you have no local changes.
Please feel free to add things if I have missed anything.
Happy hacking,