[EGIT PATCH 05/10] Do not write to the reflog unless the refupdate logmessage is set
Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
---
.../tst/org/spearce/jgit/lib/RefUpdateTest.java | 1 +
.../src/org/spearce/jgit/lib/RefUpdate.java | 3 ++-
2 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/org.spearce.jgit.test/tst/org/spearce/jgit/lib/RefUpdateTest.java b/org.spearce.jgit.test/tst/org/spearce/jgit/lib/RefUpdateTest.java
index 6b1975a..84653c8 100644
--- a/org.spearce.jgit.test/tst/org/spearce/jgit/lib/RefUpdateTest.java
+++ b/org.spearce.jgit.test/tst/org/spearce/jgit/lib/RefUpdateTest.java
@@ -126,6 +126,7 @@ public void testDeleteLooseAndItsDirectory() throws IOException {
RefUpdate updateRef = db.updateRef("refs/heads/z/c");
updateRef.setNewObjectId(pid);
updateRef.setForceUpdate(true);
+ updateRef.setRefLogMessage("new test ref", false);
Result update = updateRef.update();
assertEquals(Result.NEW, update); // internal
assertTrue(new File(db.getDirectory(), Constants.R_HEADS + "z")
diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/RefUpdate.java b/org.spearce.jgit/src/org/spearce/jgit/lib/RefUpdate.java
index a9ab73b..79d9f2d 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/lib/RefUpdate.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/lib/RefUpdate.java
@@ -479,7 +479,8 @@ else if (status == Result.FAST_FORWARD)
else if (status == Result.NEW)
msg += ": created";
}
- RefLogWriter.append(this, msg);
+ if (msg != null)
+ RefLogWriter.append(this, msg);
if (!lock.commit())
return Result.LOCK_FAILURE;
db.stored(this.ref.getOrigName(), ref.getName(), newValue, lock.getCommitLastModified());
--
1.6.3.dirty