"git cancel" may not be named correctly for this job, but it does almost
everything you'd need for switching between one branch and another
within a repository, so...
Signed-Off-By: Matthias Urlichs <[EMAIL PROTECTED]>
--- f29be8140c5f1175052ec96ad2fa2b2901fd6ba5/git (mode:100755
sha1:5f23301eb97a0fadd505a6e9cc851e98741a512a)
+++ 42a073eb6b5bb397a3e8768a032463a7fa02e6b9/git (mode:100755
sha1:557122dfb05580e4af2c55767f3d6f92b9110edd)
@@ -28,7 +28,7 @@
add FILE...
addremote RNAME RSYNC_URL
apply < patch on stdin
- cancel
+ cancel [NAME]
ci, commit [FILE]... < log message on stdin
diff [-p] [-r FROM_ID[:TO_ID]] [FILE]...
export DESTDIR [TREE_ID]
Index: gitcancel.sh
===================================================================
--- f29be8140c5f1175052ec96ad2fa2b2901fd6ba5/gitcancel.sh (mode:100755
sha1:a78cf8ccab98861ef7aecb4cb5a79e47d3a84b67)
+++ 42a073eb6b5bb397a3e8768a032463a7fa02e6b9/gitcancel.sh (mode:100755
sha1:2fc3e522132ef6a5f71352ab67005c93b5efc04f)
@@ -9,6 +9,9 @@
# Basically, this is the opposite of git commit in some sense.
#
# Takes no arguments and the evil changes from the tree.
+#
+# ... actually, if you do give it an argument, it'll switch the HEAD to
+# that branch -- or create a new one.
[ -s ".git/add-queue" ] && rm $(cat .git/add-queue)
rm -f .git/add-queue .git/rm-queue
@@ -29,6 +32,11 @@
fi
fi
+if [ "$1" ] ; then
+ test -f .git/heads/$1 || cp .git/HEAD .git/heads/$1
+ ln -sf "heads/$1" .git/HEAD
+fi
+
rm -f .git/blocked .git/merging .git/merging-sym .git/merge-base
read-tree $(tree-id)
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html