Move code to clean up after a branch change to branch.c
authorDaniel Barkalow <barkalow@iabervon.org>
Thu, 7 Feb 2008 16:40:16 +0000 (11:40 -0500)
committerJunio C Hamano <gitster@pobox.com>
Sun, 10 Feb 2008 07:16:51 +0000 (23:16 -0800)
Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
branch.c
branch.h
builtin-reset.c

index 45ab820c4a035a26e8d1035d64283a9f4b73fa75..1fc8788897a83d14fd1f0273734e9f0c294ca85f 100644 (file)
--- a/branch.c
+++ b/branch.c
@@ -138,3 +138,11 @@ void create_branch(const char *head,
        if (real_ref)
                free(real_ref);
 }
+
+void remove_branch_state(void)
+{
+       unlink(git_path("MERGE_HEAD"));
+       unlink(git_path("rr-cache/MERGE_RR"));
+       unlink(git_path("MERGE_MSG"));
+       unlink(git_path("SQUASH_MSG"));
+}
index 8bcd9dc217cccbd0a4bf44ba076fa181a932c289..d30abe0369c8dfafe86cfe5aae0bff466485be79 100644 (file)
--- a/branch.h
+++ b/branch.h
@@ -1,8 +1,24 @@
 #ifndef BRANCH_H
 #define BRANCH_H
 
-void create_branch(const char *head,
-                  const char *name, const char *start_name,
+/* Functions for acting on the information about branches. */
+
+/*
+ * Creates a new branch, where head is the branch currently checked
+ * out, name is the new branch name, start_name is the name of the
+ * existing branch that the new branch should start from, force
+ * enables overwriting an existing (non-head) branch, reflog creates a
+ * reflog for the branch, and track causes the new branch to be
+ * configured to merge the remote branch that start_name is a tracking
+ * branch for (if any).
+ */
+void create_branch(const char *head, const char *name, const char *start_name,
                   int force, int reflog, int track);
 
+/*
+ * Remove information about the state of working on the current
+ * branch. (E.g., MERGE_HEAD)
+ */
+void remove_branch_state(void);
+
 #endif
index 3bec06bc8ed5ca23b89e7cbc4e306903410cc7b6..af0037ec6e3456ccd688da6375c76db4a59f099a 100644 (file)
@@ -16,6 +16,7 @@
 #include "diff.h"
 #include "diffcore.h"
 #include "tree.h"
+#include "branch.h"
 
 static const char builtin_reset_usage[] =
 "git-reset [--mixed | --soft | --hard] [-q] [<commit-ish>] [ [--] <paths>...]";
@@ -270,10 +271,7 @@ int cmd_reset(int argc, const char **argv, const char *prefix)
                break;
        }
 
-       unlink(git_path("MERGE_HEAD"));
-       unlink(git_path("rr-cache/MERGE_RR"));
-       unlink(git_path("MERGE_MSG"));
-       unlink(git_path("SQUASH_MSG"));
+       remove_branch_state();
 
        free(reflog_action);