summaryrefslogtreecommitdiff
path: root/refs.h
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2006-11-28 15:47:40 +0100
committerJunio C Hamano <junkio@cox.net>2006-12-05 23:50:57 -0800
commitc976d415e5352886f0650f8e2edba81866c38587 (patch)
tree49731f2430197df384f3259a899a0bba8156e284 /refs.h
parent8ebe185bbf3f1f4f59bcc61e3d1849a76f6af983 (diff)
downloadgit-c976d415e5352886f0650f8e2edba81866c38587.tar.gz
git-branch: add options and tests for branch renaming
Extend git-branch with the following options: git-branch -m|-M [<oldbranch>] newbranch The -M variation is required to force renaming over an exsisting branchname. This also indroduces $GIT_DIR/RENAME_REF which is a "metabranch" used when renaming branches. It will always hold the original sha1 for the latest renamed branch. Additionally, if $GIT_DIR/logs/RENAME_REF exists, all branch rename events are logged there. Finally, some testcases are added to verify the new options. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'refs.h')
-rw-r--r--refs.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/refs.h b/refs.h
index cd1e1d620e..ce73d5c7ae 100644
--- a/refs.h
+++ b/refs.h
@@ -47,4 +47,7 @@ extern int read_ref_at(const char *ref, unsigned long at_time, int cnt, unsigned
/** Returns 0 if target has the right format for a ref. **/
extern int check_ref_format(const char *target);
+/** rename ref, return 0 on success **/
+extern int rename_ref(const char *oldref, const char *newref);
+
#endif /* REFS_H */