Update TO script, and also some UI issues.
Junio C Hamano committed
Feb 14, 2006 at 18:00 UTC
8cbf8eaf63d7888cd459762102d0d3af71ea6fa6
2 files changed
+47
-13
TO
+30
-13
index abc932e813..6fb392433f 100755
--- a/TO
+++ b/TO
@@ -1,17 +1,33 @@
#!/bin/sh
-clean=
-case "$1" in
---clean)
- branch=`git symbolic-ref HEAD` &&
- test refs/heads/master = "$branch" || {
- echo >&2 Not on master
+clean= next=next
+while case $# in 0) break ;; esac
+do
+ case "$1" in
+ --clean)
+ branch=`git symbolic-ref HEAD` &&
+ test refs/heads/master = "$branch" || {
+ echo >&2 Not on master
+ exit 1
+ }
+ clean=t
+ ;;
+ --next)
+ test 2 -le $# || {
+ echo >&2 "Need argument"
+ exit 1
+ }
+ next="$2"
+ git rev-parse --verify "$next" >/dev/null || exit
+ shift
+ ;;
+ *)
+ echo >&2 "$0 [--clean | --next test-next ]"
exit 1
- }
- clean=t
+ ;;
+ esac
shift
- ;;
-esac
+done
LF='
'
@@ -24,8 +40,8 @@ do
rebase= done= not_done= trouble=
# (1)
- only_next_1=`git-rev-list ^master "^$topic" next | sort`
- only_next_2=`git-rev-list ^master next | sort`
+ only_next_1=`git-rev-list ^master "^$topic" ${next} | sort`
+ only_next_2=`git-rev-list ^master ${next} | sort`
if test "$only_next_1" = "$only_next_2"
then
not_in_topic=`git-rev-list "^$topic" master`
@@ -47,7 +63,7 @@ do
# (3)
not_in_next=`
- git-rev-list --pretty=oneline ^next "$topic" |
+ git-rev-list --pretty=oneline ^${next} "$topic" |
sed -e 's/^[0-9a-f]* / - /'
`
if test -n "$not_in_next"
@@ -56,7 +72,7 @@ do
then
trouble="${LF}### MODIFIED AFTER COOKED ###"
fi
- not_done="${LF}Still not merged in next$rebase.$LF$not_in_next"
+ not_done="${LF}Still not merged in ${next}$rebase.$LF$not_in_next"
elif test -n "$done"
then
not_done=
TODO
+17
index a38f6ebe47..8b5dd0f047 100644
--- a/TODO
+++ b/TODO
@@ -24,6 +24,23 @@ Documentation
by Bruce Fields ongoing and things are looking better.
+UI
+--
+
+* Make "git branch -d foo" while on foo branch suggest "maybe
+ you want to go back to 'master'?"
+
+* Error message from "git checkout -b bar v2.6.10" should assume
+ v2.6.10 is an attempt to switch to a new branch based on
+ mistyped tag, not an attempt to revert path v2.6.10 from the
+ HEAD commit with extra "make and switch to this branch"
+ argument.
+
+* "git commit [-i|-o] paths..." with misspelled paths would be
+ silently ignored. Add a flag to ls-files to catch unmatched
+ pathspec to prevent this.
+
+
Design issues
-------------