git workflow draft

Stephen Kelly steveire at
Wed Feb 16 21:31:31 GMT 2011

Michael Pyne wrote:

> An easy way to solve duplicates is to disable sending commit mails for
> branches other than master, but I personally dislike that solution as it
> would result in mailing lists like #kde-commits not receiving any emails
> until the branch is fully landed on master. (I hate to say it, but imagine
> a security mistake on ksslsocket.cpp in commit 88 of a 121-commit rebase
> branch -- is everyone on #kde-commits going to review that deeply into the
> commit chain?)

If someone writes 100 commits and pushes them without review then that's a 
social problem. First of all I can't imagine a clean branch that could be so 
big. Surely that would end up being a 10 commit push, some more work, a 
push, some refactoring, a push, a feature, a push, more refactoring, a 
feature, a push, etc. Do we really think that having large topic branches 
which contain really only one topic that makes sense only to push in one go 
will be a normal situation?

People who are interested in ksslsocket will see the commits.

> In addition as Andreas Pakulat mentioned in a response to a
> rebase-workflow in kde-scm-interest, this completely deletes the fact that
> the development happened in a branch at all (we could simply retain the
> old solid/make-it-cool ref so we don't lose that history, but that would
> make the repository correspondingly larger).

The assumption that all of the history is useful to have by definition was 
called into question. I suggested creating useful history so that all 
history in the release branches is useful.
> A lot of this debate hinges on how we want email-based review to work
> however (to be clear, kde-commits is not the only recipient of email for
> each git commit, the web service also receives email for each
> commit). If we want to avoid huge email bombs then we need to either use a
> merge-based workflow in general, or have some other technical solution to
> allow for a rebase-based workflow, such as your idea regarding lumping
> everything into a simple notification email (although this means
> and possibly things like Commit Filter wouldn't work... :( )
I guess we're writing emails at the same time here, but just to have it in 
another place, I don't see 'email bombs' being a problem, but a convenient 
grouping of stuff I'm interested in, and stuff I'm not interested in in 
bigger lumps.

Another important point I think is that 'topic branches' will not 
necessarily be normal, but exceptional. Most KDE developers are used to 
commit early commit often, and that might translate into 'push early, push 
often', so we'll end up seeing 2 or 3 commit pushes and very few monsters. I 
rarely push more than 10 commits and very rarely if ever have pushed more 
than 20.

More information about the kde-core-devel mailing list