aboutsummaryrefslogtreecommitdiff
path: root/git-branch.sh
diff options
context:
space:
mode:
authorShawn Pearce <spearce@spearce.org>2006-05-19 05:16:58 -0400
committerJunio C Hamano <junkio@cox.net>2006-05-19 15:03:24 -0700
commit3a4b3f269c4ba1eebd5ab7206ee0915667b20cc8 (patch)
tree6e8f4c84bfda728b2232c8f24e2cb8fd48095fca /git-branch.sh
parent67644a4d77f55cd1c960d046079d26719f1e7cd6 (diff)
downloadgit-3a4b3f269c4ba1eebd5ab7206ee0915667b20cc8.tar.gz
git-3a4b3f269c4ba1eebd5ab7206ee0915667b20cc8.tar.xz
Create/delete branch ref logs.
When crating a new branch offer '-l' as a way for the user to quickly enable ref logging for the new branch. When deleting a branch also delete its ref log. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-branch.sh')
-rwxr-xr-xgit-branch.sh12
1 files changed, 11 insertions, 1 deletions
diff --git a/git-branch.sh b/git-branch.sh
index d1e373076..e0501ec23 100755
--- a/git-branch.sh
+++ b/git-branch.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-USAGE='[(-d | -D) <branchname>] | [[-f] <branchname> [<start-point>]] | -r'
+USAGE='[-l] [(-d | -D) <branchname>] | [[-f] <branchname> [<start-point>]] | -r'
LONG_USAGE='If no arguments, show available branches and mark current branch with a star.
If one argument, create a new branch <branchname> based off of current HEAD.
If two arguments, create a new branch <branchname> based off of <start-point>.'
@@ -42,6 +42,7 @@ If you are sure you want to delete it, run 'git branch -D $branch_name'."
esac
;;
esac
+ rm -f "$GIT_DIR/logs/refs/heads/$branch_name"
rm -f "$GIT_DIR/refs/heads/$branch_name"
echo "Deleted branch $branch_name."
done
@@ -55,6 +56,7 @@ ls_remote_branches () {
}
force=
+create_log=
while case "$#,$1" in 0,*) break ;; *,-*) ;; *) break ;; esac
do
case "$1" in
@@ -69,6 +71,9 @@ do
-f)
force="$1"
;;
+ -l)
+ create_log="yes"
+ ;;
--)
shift
break
@@ -117,4 +122,9 @@ then
die "cannot force-update the current branch."
fi
fi
+if test "$create_log" = 'yes'
+then
+ mkdir -p $(dirname "$GIT_DIR/logs/refs/heads/$branchname")
+ touch "$GIT_DIR/logs/refs/heads/$branchname"
+fi
git update-ref -m "branch: Created from $head" "refs/heads/$branchname" $rev