From 7f5708fa8893c784ed1025abf91575bb1a2cfef4 Mon Sep 17 00:00:00 2001 From: Marek Zawirski Date: Thu, 28 Aug 2008 04:10:06 +0200 Subject: [PATCH] Add another delete method in RefUpdate, reusing RevWalk This is similar to update() approach when caller has possiblity to choose between providing RevWalk instance on its own or let RefUpdate create one. Signed-off-by: Marek Zawirski --- .../src/org/spearce/jgit/lib/RefUpdate.java | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 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 c6536e3f..e9c0e778 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/lib/RefUpdate.java +++ b/org.spearce.jgit/src/org/spearce/jgit/lib/RefUpdate.java @@ -325,11 +325,30 @@ public class RefUpdate { /** * Delete the ref. + *

+ * This is the same as: + * + *

+	 * return delete(new RevWalk(repository));
+	 * 
* * @return the result status of the delete. * @throws IOException */ public Result delete() throws IOException { + return delete(new RevWalk(db.getRepository())); + } + + /** + * Delete the ref. + * + * @param walk + * a RevWalk instance this delete command can borrow to perform + * the merge test. The walk will be reset to perform the test. + * @return the result status of the delete. + * @throws IOException + */ + public Result delete(final RevWalk walk) throws IOException { if (name.startsWith(Constants.R_HEADS)) { final Ref head = db.readRef(Constants.HEAD); if (head != null && name.equals(head.getName())) @@ -337,8 +356,7 @@ public class RefUpdate { } try { - return updateImpl(new RevWalk(db.getRepository()), - new DeleteStore()); + return updateImpl(walk, new DeleteStore()); } catch (IOException x) { result = Result.IO_FAILURE; throw x; -- 2.11.4.GIT