Subject : git best practices

Henrique de Moraes Holschuh hmh at debian.org
Fri Aug 19 13:48:14 EDT 2011


On Fri, 19 Aug 2011, Olivier ROLAND wrote:
> I think private history should be squashed before getting applied to master.
> I don't see any harms to have the whole history in a dedicated branch
> but it can be confusing if kept in master.
> 
> We need some rules to avoid this or Cyrus git log will become harder
> and harder to use.
> 
> What do you think ?

IMHO, if you're going to come up with rules for that, better do as it is
done in the Linux kernel or in git itself.

The rules are: 
  * detailed changelogs on every commit
  * only cleaned up commits are sent up for merging in the mainline.
    The cleaned-up commits are not large squashes (those are impossible
    to understand), instead they should look like you did everything
    perfectly at the first try, but step-by-step.
  * Bissectability is very important and should be preserved, so the
    tree should build _and run_ at every commit.
  * Don't rebase topic branches on top of the latest mainline, unless
    you actually need to do it for it to run.  Base topic branches on
    stable points of the mainline.

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh


More information about the Cyrus-devel mailing list