Hi,

On Fri, Oct 19, 2018 at 1:46 AM Ryan Blue <rb...@netflix.com.invalid> wrote:

> I find that it’s easier to rebase because it requires fixing individual 
> commits that are smaller.

Our personal experience with this feature branch was that the
codebases really diverged and conflict resolution with rebasing was
not feasible. Some of the upstream changes required modifications that
we could add as a new commit with merging, but would have had to
introduce retroactively from the very first commit with rebasing.

>> Rebasing leads to rewriting history, which goes against the every change is
>> reviewed on the feature branch approach.
>
> Again, reviews should validate tests that can be used here. The squashing
> approach that we’ve used for a long time relies on the same principle.

Squashing changes history as well indeed, but this only affects the
number and message of commits. The code itself does not change. With a
rebase, code also changes and in such a way that we have no way of
differentiating what has already been reviewed and what is new. I
don't think that passing unit tests are a good enough substitute for
reviewing the conflict resolution, especially when it involves
extensive changes, as it required in our case.

> Rebasing the feature branch leads to loss of review comments on existing
> and merged pull requests, since those are associated with specific git
> hashes.
>
> Comments should be attached to PRs, not hashes.

Github associates each review comment with a specific line in a
specific commit. When someone force pushes a rebase onto their branch
that serves as the basis of the pull request, the earlier comments are
left without context as the code changes they were attached to are no
longer available.

Br,

Zoltan

Reply via email to