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