Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
rebase -i: give rerere a chance
author
Johannes Schindelin
<Johannes.Schindelin@gmx.de>
Thu, 22 Nov 2007 11:18:10 +0000
(11:18 +0000)
committer
Junio C Hamano
<gitster@pobox.com>
Thu, 29 Nov 2007 01:57:28 +0000
(17:57 -0800)
Like non-interactive rebase, interactive mode now calls rerere when
appropriate.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-rebase--interactive.sh
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
d25430c
)
diff --git
a/git-rebase--interactive.sh
b/git-rebase--interactive.sh
index e9cd6fd999695daa1c5ba49835f53041d4131f3a..354510a3ba169910cd9c4c6fac92bec6ffdeecc9 100755
(executable)
--- a/
git-rebase--interactive.sh
+++ b/
git-rebase--interactive.sh
@@
-90,6
+90,7
@@
make_patch () {
die_with_patch () {
make_patch "$1"
die_with_patch () {
make_patch "$1"
+ git rerere
die "$2"
}
die "$2"
}
@@
-175,13
+176,13
@@
pick_one_preserving_merges () {
msg="$(git cat-file commit $sha1 | sed -e '1,/^$/d')"
# No point in merging the first parent, that's HEAD
new_parents=${new_parents# $first_parent}
msg="$(git cat-file commit $sha1 | sed -e '1,/^$/d')"
# No point in merging the first parent, that's HEAD
new_parents=${new_parents# $first_parent}
- # NEEDSWORK: give rerere a chance
if ! GIT_AUTHOR_NAME="$GIT_AUTHOR_NAME" \
GIT_AUTHOR_EMAIL="$GIT_AUTHOR_EMAIL" \
GIT_AUTHOR_DATE="$GIT_AUTHOR_DATE" \
output git merge $STRATEGY -m "$msg" \
$new_parents
then
if ! GIT_AUTHOR_NAME="$GIT_AUTHOR_NAME" \
GIT_AUTHOR_EMAIL="$GIT_AUTHOR_EMAIL" \
GIT_AUTHOR_DATE="$GIT_AUTHOR_DATE" \
output git merge $STRATEGY -m "$msg" \
$new_parents
then
+ git rerere
printf "%s\n" "$msg" > "$GIT_DIR"/MERGE_MSG
die Error redoing merge $sha1
fi
printf "%s\n" "$msg" > "$GIT_DIR"/MERGE_MSG
die Error redoing merge $sha1
fi
@@
-369,6
+370,7
@@
do
--abort)
comment_for_reflog abort
--abort)
comment_for_reflog abort
+ git rerere clear
test -d "$DOTEST" || die "No interactive rebase running"
HEADNAME=$(cat "$DOTEST"/head-name)
test -d "$DOTEST" || die "No interactive rebase running"
HEADNAME=$(cat "$DOTEST"/head-name)
@@
-385,6
+387,7
@@
do
--skip)
comment_for_reflog skip
--skip)
comment_for_reflog skip
+ git rerere clear
test -d "$DOTEST" || die "No interactive rebase running"
output git reset --hard && do_rest
test -d "$DOTEST" || die "No interactive rebase running"
output git reset --hard && do_rest