On Mon, Jan 9, 2012 at 9:41 AM, Sylvain Lebresne <sylv...@datastax.com> wrote:
>> The other side of the equation is that there is tremendous power to be had
>> from distributed versioning, and this proposed workflow discourages taking
>> advantage of that
>
> Would you mind elaborating, maybe be a little more concrete on that one.
> Because just to be such we agree, I did not propose to rebase public
> branches or something like that.

So imagine you have 3 actors, Alice, Bob, and Carlos.

Alice grabs issue CASSANDRA-5555 and sets out to fix a very annoying
bug, she creates a branch locally called 5555 and proceeds to hack.
When done, she pushes to her Github account (as branch "5555").  At
this point, the version history is sexy because Alice has rebased her
syncs to master, and sqashed any changesets that might be considered
noise.  We are now ready for review.

Bob has been hard at work on a new feature that will change
Everything, but he's struggled due to the buggy behavior caused by
#5555, so he's relieved when he notices Alice's push.  Bob adds
Alice's remote and merges her 5555 branch onto his topic branch.

Carlos picks up CASSANDRA-5555 for review, finds some nits and
provides feedback.  Alice responds by addressing the feedback in a new
changeset that she pushes to her branch 5555.

Bob discovers a corner case not addressed by Alice's branch, he codes
a fix and opens a pull request with Alice.

Alice merges Bob's and pushes again.  Carlos reviews, and gives a +1.
Alice rebases 5555 on to master so as to keep the change history sexy.

Bob attempts to sync up with master, and profanity ensues.

The end result is that Bob (and everyone else), learns to ignore other
people's topic branches because it just isn't worth it, and so we've
effectively lost the distributed benefits of our distributed VCS.
We're back to the same workflow we had when we attached patches, with
the exception that using Git makes it a little easier to download and
apply them.

> Last thing, I did check the kernel source git history (which as far as I
> know is considered as a model of git usage and distribution), and there is
> not a single commit that looks like some nits issue from the review of a
> preceding commit.

It seems counter-intuitive considering where Git came from, but the
Linux kernel is not a good model for anything other than the Linux
kernel.

-- 
Eric Evans
Acunu | http://www.acunu.com | @acunu

Reply via email to