The problem is: we want to merge topic into master, but topic is an ancestor of master, so the merge is a no-op. A commit between topic and master had reverted the previous merge of topic into master. It did that using reset not revert. Now, a diff between master..topic shows all the changes that we want to apply. How do we apply those changes?
C B A D
master * ---- * ---- * ---- * ---- *
\
\
topic * ---- * ---- * ---- *
Awas amerge.Breverted bothAandDbut without usingrevert.Cadded additional commits
Edit:
B reverted more than A, but we want to re-apply only the changes that A introduced. Therefore, reverting B will not accomplish our goal, because it will restore D.