Hacker News new | past | comments | ask | show | jobs | submit login

Supposed there is an undesirable behavior caused by some subtle interaction of features coming from 2 branches.

With a normal merge, git bisect will likely point to the merge commit as the first commit that introduced the behavior, which was the first time these 2 branches ever interacted. This means resolving inconsistencies after the fact, somewhat similar to "eventual consistency". It is more coarse-grained, can be harder to reason about, but may scale better (no serialization).

With a rebase, git bisect will point to one of the rebased commits, each of which already interacted with the branch coming before. Rebasing is sort of similar to the situation where DB client retries a transaction because the DB doesn't know how to serialize 2 transactions. It is more fine-grained, can be easier to reason about, but may have problems scaling, and may sometimes be tedious.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: