summaryrefslogtreecommitdiff
path: root/git-merge-one-file-script
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-09-08 00:26:23 (GMT)
committerJunio C Hamano <junkio@cox.net>2005-09-08 00:45:20 (GMT)
commit215a7ad1ef790467a4cd3f0dcffbd6e5f04c38f7 (patch)
tree6bc7aa4f652d0ef49108d9e30a7ea7fbf8e44639 /git-merge-one-file-script
parent99977bd5fdeabbd0608a70e9411c243007ec4ea2 (diff)
downloadgit-215a7ad1ef790467a4cd3f0dcffbd6e5f04c38f7.zip
git-215a7ad1ef790467a4cd3f0dcffbd6e5f04c38f7.tar.gz
git-215a7ad1ef790467a4cd3f0dcffbd6e5f04c38f7.tar.bz2
Big tool rename.
As promised, this is the "big tool rename" patch. The primary differences since 0.99.6 are: (1) git-*-script are no more. The commands installed do not have any such suffix so users do not have to remember if something is implemented as a shell script or not. (2) Many command names with 'cache' in them are renamed with 'index' if that is what they mean. There are backward compatibility symblic links so that you and Porcelains can keep using the old names, but the backward compatibility support is expected to be removed in the near future. Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-merge-one-file-script')
-rwxr-xr-xgit-merge-one-file-script88
1 files changed, 0 insertions, 88 deletions
diff --git a/git-merge-one-file-script b/git-merge-one-file-script
deleted file mode 100755
index b791107..0000000
--- a/git-merge-one-file-script
+++ /dev/null
@@ -1,88 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) Linus Torvalds, 2005
-#
-# This is the git per-file merge script, called with
-#
-# $1 - original file SHA1 (or empty)
-# $2 - file in branch1 SHA1 (or empty)
-# $3 - file in branch2 SHA1 (or empty)
-# $4 - pathname in repository
-# $5 - orignal file mode (or empty)
-# $6 - file in branch1 mode (or empty)
-# $7 - file in branch2 mode (or empty)
-#
-# Handle some trivial cases.. The _really_ trivial cases have
-# been handled already by git-read-tree, but that one doesn't
-# do any merges that might change the tree layout.
-
-case "${1:-.}${2:-.}${3:-.}" in
-#
-# Deleted in both or deleted in one and unchanged in the other
-#
-"$1.." | "$1.$1" | "$1$1.")
- if [ "$2" ]; then
- echo "Removing $4"
- fi
- if test -f "$4"; then
- rm -f -- "$4"
- fi &&
- exec git-update-cache --remove -- "$4"
- ;;
-
-#
-# Added in one.
-#
-".$2." | "..$3" )
- echo "Adding $4"
- git-update-cache --add --cacheinfo "$6$7" "$2$3" "$4" &&
- exec git-checkout-cache -u -f -- "$4"
- ;;
-
-#
-# Added in both (check for same permissions).
-#
-".$3$2")
- if [ "$6" != "$7" ]; then
- echo "ERROR: File $4 added identically in both branches,"
- echo "ERROR: but permissions conflict $6->$7."
- exit 1
- fi
- echo "Adding $4"
- git-update-cache --add --cacheinfo "$6" "$2" "$4" &&
- exec git-checkout-cache -u -f -- "$4"
- ;;
-
-#
-# Modified in both, but differently.
-#
-"$1$2$3")
- echo "Auto-merging $4."
- orig=`git-unpack-file $1`
- src2=`git-unpack-file $3`
-
- # We reset the index to the first branch, making
- # git-diff-file useful
- git-update-cache --add --cacheinfo "$6" "$2" "$4"
- git-checkout-cache -u -f -- "$4" &&
- merge "$4" "$orig" "$src2"
- ret=$?
- rm -f -- "$orig" "$src2"
-
- if [ "$6" != "$7" ]; then
- echo "ERROR: Permissions conflict: $5->$6,$7."
- ret=1
- fi
-
- if [ $ret -ne 0 ]; then
- echo "ERROR: Merge conflict in $4."
- exit 1
- fi
- exec git-update-cache -- "$4"
- ;;
-
-*)
- echo "ERROR: $4: Not handling case $1 -> $2 -> $3"
- ;;
-esac
-exit 1