summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 2a18c26)
raw | patch | inline | side by side (parent: 2a18c26)
author | Alex Riesen <raa.lkml@gmail.com> | |
Sun, 25 Mar 2007 00:56:13 +0000 (01:56 +0100) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Sun, 25 Mar 2007 06:01:36 +0000 (23:01 -0700) |
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>
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>
git-am.sh | patch | blob | history | |
git-merge-ours.sh | patch | blob | history | |
git-rebase.sh | patch | blob | history |
diff --git a/git-am.sh b/git-am.sh
index 88af8dd256ef871e8a35ec47df925db9b13b95f7..e69ecbfdb1a817b477aff8618f284a4c921e00e5 100755 (executable)
--- a/git-am.sh
+++ b/git-am.sh
# trust what the user has in the index file and the
# working tree.
resolved=
- changed="$(git-diff-index --cached --name-only HEAD)"
- if test '' = "$changed"
- then
+ git-diff-index --quiet --cached HEAD && {
echo "No changes - did you forget to use 'git add'?"
stop_here_user_resolve $this
- fi
+ }
unmerged=$(git-ls-files -u)
if test -n "$unmerged"
then
then
# Applying the patch to an earlier tree and merging the
# result may have produced the same tree as ours.
- changed="$(git-diff-index --cached --name-only HEAD)"
- if test '' = "$changed"
- then
- echo No changes -- Patch already applied.
- go_next
- continue
- fi
+ git-diff-index --quiet --cached HEAD && {
+ echo No changes -- Patch already applied.
+ go_next
+ continue
+ }
# clear apply_status -- we have successfully merged.
apply_status=0
fi
diff --git a/git-merge-ours.sh b/git-merge-ours.sh
index 4f3d053889de4a5ba8e6e5d519c014a51220accd..2b6a5c0d104b09b2eb471be9ec86e215ac003b0a 100755 (executable)
--- a/git-merge-ours.sh
+++ b/git-merge-ours.sh
# because the current index is what we will be committing as the
# merge result.
-test "$(git-diff-index --cached --name-status HEAD)" = "" || exit 2
+git-diff-index --quiet --cached HEAD || exit 2
exit 0
diff --git a/git-rebase.sh b/git-rebase.sh
index aadd580f8d40b0d97834e7bf25f58ab9e65faeb1..1d96f32685cdc51c89c63516519e8b544ab818af 100755 (executable)
--- a/git-rebase.sh
+++ b/git-rebase.sh
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
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`"