Update TO script, and also some UI issues.
authorJunio C Hamano <junkio@cox.net>
Wed, 15 Feb 2006 02:00:34 +0000 (18:00 -0800)
committerJunio C Hamano <junkio@cox.net>
Wed, 15 Feb 2006 02:00:34 +0000 (18:00 -0800)
TO
TODO

diff --git a/TO b/TO
index abc932e..6fb3924 100755 (executable)
--- 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=
diff --git a/TODO b/TODO
index a38f6eb..8b5dd0f 100644 (file)
--- 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
 -------------