From 5a3183676d77535a5fd6a37fb4cb18719987ba2a Mon Sep 17 00:00:00 2001 From: Charles O'Farrell Date: Fri, 15 Aug 2008 10:25:56 +1000 Subject: [PATCH] Refactor of RefUpdate force to call common updateImpl instead of duplication Signed-off-by: Charles O'Farrell Signed-off-by: Shawn O. Pearce --- .../src/org/spearce/jgit/lib/RefUpdate.java | 34 +++------------------- 1 file changed, 4 insertions(+), 30 deletions(-) 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 369cb370..4587fc15 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/lib/RefUpdate.java +++ b/org.spearce.jgit/src/org/spearce/jgit/lib/RefUpdate.java @@ -258,39 +258,16 @@ public class RefUpdate { /** * Force the ref to take the new value. *

- * No merge tests are performed, so the value of {@link #isForceUpdate()} - * will not be honored. + * This is just a convenient helper for setting the force flag, and as such + * the merge test is performed. * * @return the result status of the update. * @throws IOException * an unexpected IO error occurred while writing changes. */ public Result forceUpdate() throws IOException { - requireCanDoUpdate(); - try { - return result = forceUpdateImpl(); - } catch (IOException x) { - result = Result.IO_FAILURE; - throw x; - } - } - - private Result forceUpdateImpl() throws IOException { - final LockFile lock; - - lock = new LockFile(looseFile); - if (!lock.lock()) - return Result.LOCK_FAILURE; - try { - oldValue = db.idOf(name); - if (oldValue == null) - return store(lock, Result.NEW); - if (oldValue.equals(newValue)) - return Result.NO_CHANGE; - return store(lock, Result.FORCED); - } finally { - lock.unlock(); - } + force = true; + return update(); } /** @@ -355,9 +332,6 @@ public class RefUpdate { if (newObj instanceof RevCommit && oldObj instanceof RevCommit) { if (walk.isMergedInto((RevCommit) oldObj, (RevCommit) newObj)) return store(lock, Result.FAST_FORWARD); - if (isForceUpdate()) - return store(lock, Result.FORCED); - return Result.REJECTED; } if (isForceUpdate()) -- 2.11.4.GIT