1. 7
    1. 1

      One reason why the rebase workflow is superior :)

      Another is that with rebase, you’re essentially maintaining a clean patchset – your actual commits are always the first in the log, you can always read them as whole solid changes against the current upstream, it’s trivial to submit them upstream.

      1. 1

        Rebase works great if there are no projects downstream of you. HardenedBSD does have downstream consumers that require us to maintain a merge-based workflow. Historical commit hashes changing isn’t acceptable for downstream consumers.

        1. 1

          git-imerge’s rebase-with-history option is great for this use case. It gives you a rebased view, but where each rebased commit has its old commit as a parent so downstream can merge forwards automatically.