Browse Source

git-merge: no reason to use cpio anymore

Now we have "git stash create", we can use it to safely stash
away the dirty state in the tree.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Junio C Hamano 18 years ago
parent
commit
a64d7784e8
  1. 11
      git-merge.sh

11
git-merge.sh

@ -28,20 +28,19 @@ allow_trivial_merge=t @@ -28,20 +28,19 @@ allow_trivial_merge=t

dropsave() {
rm -f -- "$GIT_DIR/MERGE_HEAD" "$GIT_DIR/MERGE_MSG" \
"$GIT_DIR/MERGE_SAVE" || exit 1
"$GIT_DIR/MERGE_STASH" || exit 1
}

savestate() {
# Stash away any local modifications.
git diff-index -z --name-only $head |
cpio -0 -o >"$GIT_DIR/MERGE_SAVE"
git stash create >"$GIT_DIR/MERGE_STASH"
}

restorestate() {
if test -f "$GIT_DIR/MERGE_SAVE"
if test -f "$GIT_DIR/MERGE_STASH"
then
git reset --hard $head >/dev/null
cpio -iuv <"$GIT_DIR/MERGE_SAVE"
git stash apply $(cat "$GIT_DIR/MERGE_STASH")
git update-index --refresh >/dev/null
fi
}
@ -386,7 +385,7 @@ case "$use_strategies" in @@ -386,7 +385,7 @@ case "$use_strategies" in
single_strategy=no
;;
*)
rm -f "$GIT_DIR/MERGE_SAVE"
rm -f "$GIT_DIR/MERGE_STASH"
single_strategy=yes
;;
esac

Loading…
Cancel
Save