3 ms·
If only phab didn't insist on squashing a patchset into a phabricator-commit, losing the carefully created history of a branch. Cumulative mega-patches are of l
by cm3 10y ago
If only phab didn't insist on squashing a patchset into a phabricator-commit, losing the carefully created history of a branch. Cumulative mega-patches are of little use when bisecting or trying to understand how a change works by being able to follow the steps to reach the final diff. A good commit history with separate commit messages explaining the diffs goes much further in allowing someone else to understand a change than any code comment could. This is also why merge commits are useful, because they allow you to group the commits for a feature branch and not miss any of the commits involved.
Phabricator could easily include their metadata in a merge commit, instead of collapsing the branch into one mega-commit. I know some people love a flat history without merge commits, but those lose a lot of info available with a graph/tree visible when there are no forward merges.
- lima 10y agoYou can disable the squashing. It's a common complaint. https://secure.phabricator.com/book/phabricator/article/arcanist_new_project/#history-mutability https://secure.phabricator.com/book/phabricator/article/arca... > Phabricator could easily include their metadata in a merge commit And this is what happens :-)
- cm3 10y agoThanks for the link. As arcanist is the php-based client to speak to Phab, does this mean it's a user setting only and is fully respected by Phab, meaning it's something set on first publishing of a diff and kept in that setting? Is this also possible when submitting a diff via the web interface? What's funny is that mutability didn't exist for Mercurial support because when it was written Mercurial had no official mutability feature. And I can only suppose mutability being default for git support is because of Facebook's dev style. It's wrong to assume that those who want merge commits for the final merge onto master do not rebase locally before sending a pull request. Rebase is a standard tool for working on your branch (aka patch set aka patch queue) and it's normal to rewrite it upon each revision of the branch sent for review. Does phab support multiple revisions of a branch in one diff or does it require separate diff tickets? This is something that Gerrit got right, allowing one to see the diff between revisions of a branch (patchset).