Best practices for merging?
Simon Peyton Jones
simonpj at microsoft.com
Mon Feb 1 17:11:01 UTC 2016
| Squashing large change sets into a single patch is also undesirable---
| it makes figuring out exactly what changed more difficult and makes
| bisecting less useful.
My personal preference is:
* Always squash the "sausage-being-made" commits of a feature branch.
The sometimes-torturous history is not of interest to later readers.
* If a feature-branch-author is willing to take the time to break the
feature into a bunch of related sub-feature, each with its own, documented,
self-contained commit -- then excellent!
* Avoid non-empty merge commits.
* I'm agnostic about the empty-merge-commit thing, but now I can see the
logic and am fine with having them.
The guiding principle is: keep information that is valuable in later years;
discard noise that will simply be distracting in later years.
But like Geoff I'm not trying to impose anything, since I regard myself
as a git amateur.
I'd love someone to write down the result of this
conversation in our working conventions.
Simon
|
| Again, I'm not trying to impose a workflow---I just wasn't sure if
| there was a new recommended workflow.
|
| Cheers,
| Geoff
|
| >> For instance, in the case of Geoff's recent fix,
| >>
| >> $ git log --graph --oneline origin/master
| >> * e5a0a89 Suppress substitution assertions to fix tests
| >> * a883c1b Missing @since annotations in GHC.Generics
| >> * f8e2b7e Minor doc fixes to GHC.Generics
| >> * 34519f0 When encountering a duplicate symbol, show source of
| the
| >> first symbol * 669cbef Fix Trac issue #11487.
| >>
| >> |\
| >> | * 6544f8d Properly track live registers when saving the CCCS.
| >> | * 90f688e Code formatting cleanup.
| >> | * 4d0e4fe Add type signatures.
| >> |/
| >>
| >> * b61f5f7 Put docs in /usr/share/doc/ghc-<version>
| >>
| >> Here we see that those three commits were developed on a feature
| >> branch, which was then merged into master in 669cbef.
| >>
| >> For what it's worth I quite like this practice. That being said, in
| >> GHC we rarely have changes broken up into multiple commits like
| this,
| >> in part due to Phab's poor support for fine-grained changes.
| >>
| >> Cheers,
| >>
| >> - Ben
| >
|
|
| _______________________________________________
| ghc-devs mailing list
| ghc-devs at haskell.org
| https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fmail.ha
| skell.org%2fcgi-bin%2fmailman%2flistinfo%2fghc-
| devs&data=01%7c01%7csimonpj%40064d.mgd.microsoft.com%7c41dd179c03104456
| 6c7608d32b1be29a%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=Y%2buUjGT
| 9llfuw4mmRZA3TdL%2fmAKhx2pL3954UZN6Y5c%3d
More information about the ghc-devs
mailing list