Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Bug 518591 - Merges that could have been fast-forwarded cause the res…
…t of the history to be ignored When retrieving the log of a given file, merges are analyzed to determine whether a particular branch of history is needed or not. If the end result of a file after a merge is the same as the end result of one of the merge's parent branches, that means the merge's other parent branches can be ignored as the other branches' histories have effectively been discarded in favour of the other branch. In such cases, we flag the other parents to be ignored when traversing the history so that they won't be considered and included in the returned log. B |\ | B |/ A However, if a merge is actaully a fast-forward merge like the graph above, then we shouldn't ignore the other (seemingly irrelevant) parent branch as it actually contains the rest of the history of the file. Thus, if the merge's parent commits have a common ancestor that is actually identical to one of the merges' parent commits, that common ancestor should not be flagged to be ignored by the traversal or the rest of the history will end up being ignored by the traversal.
- Loading branch information
Showing
2 changed files
with
93 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters