aboutsummaryrefslogtreecommitdiff
path: root/git-rebase.sh
diff options
context:
space:
mode:
authorAlex Riesen <raa.lkml@gmail.com>2007-03-25 01:56:13 +0100
committerJunio C Hamano <junkio@cox.net>2007-03-24 23:01:36 -0700
commit06aff47b225506c4603a6f5ec5b4b16aa6a9d7ba (patch)
treebef4b0af1de7ecdc5f8b5b374be4b86e4f654484 /git-rebase.sh
parent2a18c266d04273be05ed29c589a5c29b8e68134d (diff)
downloadgit-06aff47b225506c4603a6f5ec5b4b16aa6a9d7ba.tar.gz
git-06aff47b225506c4603a6f5ec5b4b16aa6a9d7ba.tar.xz
Use diff* with --exit-code in git-am, git-rebase and git-merge-ours
This simplifies the shell code, reduces its memory footprint, and speeds things up. The performance improvements should be noticable when git-rebase works on big commits. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-rebase.sh')
-rwxr-xr-xgit-rebase.sh10
1 files changed, 4 insertions, 6 deletions
diff --git a/git-rebase.sh b/git-rebase.sh
index aadd580f8..1d96f3268 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -59,7 +59,7 @@ continue_merge () {
die "$RESOLVEMSG"
fi
- if test -n "`git-diff-index HEAD`"
+ if ! git-diff-index --quiet HEAD
then
if ! git-commit -C "`cat $dotest/current`"
then
@@ -124,13 +124,11 @@ while case "$#" in 0) break ;; esac
do
case "$1" in
--continue)
- diff=$(git-diff-files)
- case "$diff" in
- ?*) echo "You must edit all merge conflicts and then"
+ git-diff-files --quiet || {
+ echo "You must edit all merge conflicts and then"
echo "mark them as resolved using git update-index"
exit 1
- ;;
- esac
+ }
if test -d "$dotest"
then
prev_head="`cat $dotest/prev_head`"