jgit/org.eclipse.jgit
Christian Halstrick 930cd43553 Fix merge-base calculation
Fix JGits merge-base calculation in case of inconsistent commit times.
JGit was potentially failing to compute correct merge-bases when the
commit times where inconsistent (a parent commit was younger than a
child commit). The code in MergeBaseGenerator was aware of the fact that
sometimes the discovery of a merge base x can occur after the parents of
x have been seen (see comment in #carryOntoOne()). But in the light of
inconsistent commit times it was possible that these parents of a
merge-base have already been returned as a merge-base.

This commit fixes the bug by buffering all commits generated by
MergeBaseGenerator. It is expected that this buffer will be small
because the number of merge-bases will be small. Additionally a new
flag is used to mark the ancestors of merge-bases. This allows to filter
out the unwanted commits.

Bug: 507584
Change-Id: I9cc140b784c3231b972bd2c3de61a789365237ab
2016-11-28 09:38:19 +01:00
..
.settings Change JGit minimum execution environment to JavaSE-1.8 2016-09-20 11:32:36 +02:00
META-INF Define MonotonicClock interface for advanced timestamps 2016-11-21 11:34:14 -08:00
findBugs [findBugs] Silence warning about Transport initialization 2012-09-14 00:01:47 +02:00
resources/org/eclipse/jgit Define MonotonicClock interface for advanced timestamps 2016-11-21 11:34:14 -08:00
src/org/eclipse/jgit Fix merge-base calculation 2016-11-28 09:38:19 +01:00
.classpath Change JGit minimum execution environment to JavaSE-1.8 2016-09-20 11:32:36 +02:00
.fbprefs
.gitignore
.project
BUCK Add HTTP status code to ServiceMayNotContinueException 2016-08-23 18:06:51 -07:00
about.html Add missing about.html files to all shipped bundles 2011-06-08 21:51:51 +02:00
build.properties
plugin.properties Remove incubation marker 2011-05-31 22:53:53 +02:00
pom.xml Prepare 4.5.1-SNAPSHOT builds 2016-09-21 17:05:27 +02:00