summaryrefslogtreecommitdiff
path: root/git-merge-one-file-script
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <junkio@cox.net>2005-09-07 17:26:23 -0700
committerLibravatar Junio C Hamano <junkio@cox.net>2005-09-07 17:45:20 -0700
commit215a7ad1ef790467a4cd3f0dcffbd6e5f04c38f7 (patch)
tree6bc7aa4f652d0ef49108d9e30a7ea7fbf8e44639 /git-merge-one-file-script
parentGIT 0.99.6 (diff)
downloadtgif-215a7ad1ef790467a4cd3f0dcffbd6e5f04c38f7.tar.xz
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 b791107fd7..0000000000
--- 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