Update TO script, and also some UI issues.

This commit is contained in:
Junio C Hamano
2006-02-14 18:00:34 -08:00
parent 2f1750a1f9
commit 8cbf8eaf63
2 changed files with 47 additions and 14 deletions

44
TO
View File

@@ -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=

17
TODO
View File

@@ -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
-------------