From: Zhen Chen Date: Fri, 30 Sep 2016 19:11:46 +0000 (-0700) Subject: Delay inserter.flush in WalkFetchConnection X-Git-Tag: v4.6.0.201612231935-r~98 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=0212a623f8bbb1ddc422c4b58fb40670c488101f;p=jgit.git Delay inserter.flush in WalkFetchConnection Spawn an ObjectReader from the ObjectInserter, so the flush can be delayed at the end of the fetch. Change-Id: I35fe8c8370c06c25262645202aec2b1318057c19 Signed-off-by: Zhen Chen --- diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkFetchConnection.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkFetchConnection.java index 17edfdc4fb..c90cadf7b6 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkFetchConnection.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkFetchConnection.java @@ -195,7 +195,7 @@ class WalkFetchConnection extends BaseFetchConnection { local = wt.local; objCheck = wt.getObjectChecker(); inserter = local.newObjectInserter(); - reader = local.newObjectReader(); + reader = inserter.newReader(); remotes = new ArrayList(); remotes.add(w); @@ -240,6 +240,12 @@ class WalkFetchConnection extends BaseFetchConnection { downloadObject(monitor, id); process(id); } + + try { + inserter.flush(); + } catch (IOException e) { + throw new TransportException(e.getMessage(), e); + } } public Collection getPackLocks() { @@ -652,7 +658,6 @@ class WalkFetchConnection extends BaseFetchConnection { Constants.typeString(type), Integer.valueOf(compressed.length))); } - inserter.flush(); } private Collection expandOneAlternate( @@ -883,7 +888,6 @@ class WalkFetchConnection extends BaseFetchConnection { PackLock lock = parser.parse(monitor); if (lock != null) packLocks.add(lock); - inserter.flush(); } } }