On Wed, Jul 18, 2012 at 9:30 PM, Subramanya Sastry
<ssastry(a)wikimedia.org> wrote:
(b) Commit amends hide evolution of an idea and the
tradeoffs and
considerations that went into development of something -- the reviews are
all separate from git commit history. All that is seen is the final
amended commit -- the discussion and the arguments even that inform the
commit are lost. Instead, if as in (a), a topic branch was explicitly (or
automatically created when a reviewer rejects a commit), and fixes are
additional commits, then, review documentation could be part of the commit
history of git and shows the considerations that went into developing
something and the evolution of an idea.
There was an email recently on wikitext-l where Mark Bergsma was asked to
squash his commits (
http://osdir.com/ml/general/2012-07/msg20847.html) -- I
personally think it is a bad idea that is a result of the gerrit review
model. In a different review model, a suggestion like this would not be
made.
Although squashing and amending has downsides, there is also an
advantage: now that Jenkins is set up properly for mediawiki/core.git
, we will never put commits in master that don't pass the tests. With
the fixup commit model, intermediate commits often won't pass the
tests or even lint, which leads to false positives in git bisect and
makes things like rolling back deployments harder.
Roan