X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=git-resolve.sh;h=36b90e38494eb79b4859cf59301b5a4e6ccccea1;hb=36f2587ffb6802cb38071510810f48cddfc4f34a;hp=1f559d8cb91bf88e7ddc0abad55db7ad4550aeef;hpb=c1067050ce58b5b39f528fe634732da858664603;p=git.git
diff --git a/git-resolve.sh b/git-resolve.sh
index 1f559d8cb..36b90e384 100755
--- a/git-resolve.sh
+++ b/git-resolve.sh
@@ -4,11 +4,13 @@
#
# Resolve two trees.
#
-. git-sh-setup || die "Not a git archive"
-usage () {
- die "git-resolve
"
-}
+echo 'WARNING: This command is DEPRECATED and will be removed very soon.' >&2
+echo 'WARNING: Please use git-merge or git-pull instead.' >&2
+sleep 2
+
+USAGE=' '
+. git-sh-setup
dropheads() {
rm -f -- "$GIT_DIR/MERGE_HEAD" \
@@ -17,6 +19,7 @@ dropheads() {
head=$(git-rev-parse --verify "$1"^0) &&
merge=$(git-rev-parse --verify "$2"^0) &&
+merge_name="$2" &&
merge_msg="$3" || usage
#
@@ -43,15 +46,19 @@ case "$common" in
exit 0
;;
"$head")
- echo "Updating from $head to $merge."
+ echo "Updating $(git-rev-parse --short $head)..$(git-rev-parse --short $merge)"
git-read-tree -u -m $head $merge || exit 1
- echo $merge > "$GIT_DIR"/HEAD
+ git-update-ref -m "resolve $merge_name: Fast forward" \
+ HEAD "$merge" "$head"
git-diff-tree -p $head $merge | git-apply --stat
dropheads
exit 0
;;
esac
+# We are going to make a new commit.
+git var GIT_COMMITTER_IDENT >/dev/null || exit
+
# Find an optimum merge base if there are more than one candidates.
LF='
'
@@ -99,6 +106,7 @@ if [ $? -ne 0 ]; then
fi
result_commit=$(echo "$merge_msg" | git-commit-tree $result_tree -p $head -p $merge)
echo "Committed merge $result_commit"
-echo $result_commit > "$GIT_DIR"/HEAD
+git-update-ref -m "resolve $merge_name: In-index merge" \
+ HEAD "$result_commit" "$head"
git-diff-tree -p $head $result_commit | git-apply --stat
dropheads