summaryrefslogtreecommitdiffstats
path: root/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'gerrit-server/src/main/java/com/google/gerrit/server/git/MergeUtil.java')
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/git/MergeUtil.java25
1 files changed, 7 insertions, 18 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeUtil.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeUtil.java
index 43f6719c70..b6000964b2 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeUtil.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeUtil.java
@@ -411,7 +411,7 @@ public class MergeUtil {
return false;
}
- final ThreeWayMerger m = newThreeWayMerger(repo, createDryRunInserter());
+ ThreeWayMerger m = newThreeWayMerger(repo, createDryRunInserter(repo));
try {
return m.merge(new AnyObjectId[] {mergeTip, toMerge});
} catch (NoMergeBaseException e) {
@@ -457,8 +457,7 @@ public class MergeUtil {
// that on the current merge tip.
//
try {
- final ThreeWayMerger m =
- newThreeWayMerger(repo, createDryRunInserter());
+ ThreeWayMerger m = newThreeWayMerger(repo, createDryRunInserter(repo));
m.setBase(toMerge.getParent(0));
return m.merge(mergeTip, toMerge);
} catch (IOException e) {
@@ -485,17 +484,12 @@ public class MergeUtil {
}
}
- public ObjectInserter createDryRunInserter() {
- return new ObjectInserter() {
- private final MutableObjectId buf = new MutableObjectId();
- private final static int LAST_BYTE = Constants.OBJECT_ID_LENGTH - 1;
-
+ public static ObjectInserter createDryRunInserter(Repository db) {
+ final ObjectInserter delegate = db.newObjectInserter();
+ return new ObjectInserter.Filter() {
@Override
- public ObjectId insert(int objectType, long length, InputStream in)
- throws IOException {
- // create non-existing dummy ID
- buf.setByte(LAST_BYTE, buf.getByte(LAST_BYTE) + 1);
- return buf.copy();
+ protected ObjectInserter delegate() {
+ return delegate;
}
@Override
@@ -507,11 +501,6 @@ public class MergeUtil {
public void flush() throws IOException {
// Do nothing.
}
-
- @Override
- public void release() {
- // Do nothing.
- }
};
}