diff options
author | Daniel Barkalow <barkalow@iabervon.org> | 2008-02-07 11:40:16 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-02-09 23:16:51 -0800 |
commit | c369e7b805f927bb87fcf345dd19a55c8b9e6b8e (patch) | |
tree | ba3333f1efb75d21d3636adfb3d45ccf81b1c0d9 | |
parent | 94a5728cfb593d80164620f8fa7e1ef322ad0025 (diff) | |
download | git-c369e7b805f927bb87fcf345dd19a55c8b9e6b8e.tar.gz git-c369e7b805f927bb87fcf345dd19a55c8b9e6b8e.tar.xz |
Move code to clean up after a branch change to branch.c
Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
-rw-r--r-- | branch.c | 8 | ||||
-rw-r--r-- | branch.h | 20 | ||||
-rw-r--r-- | builtin-reset.c | 6 |
3 files changed, 28 insertions, 6 deletions
@@ -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")); +} @@ -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 diff --git a/builtin-reset.c b/builtin-reset.c index 3bec06bc8..af0037ec6 100644 --- a/builtin-reset.c +++ b/builtin-reset.c @@ -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); |