зеркало из https://github.com/microsoft/git.git
Update the merge scripts for the big git rename.
Let's see what else I forgot..
This commit is contained in:
Родитель
aed7a5a9da
Коммит
2d280e1c5e
|
@ -32,7 +32,7 @@ case "${1:-.}${2:-.}${3:-.}" in
|
|||
"$1.." | "$1.$1" | "$1$1.")
|
||||
rm -f -- "$4"
|
||||
echo "Removing $4"
|
||||
update-cache --remove -- "$4"
|
||||
git-update-cache --remove -- "$4"
|
||||
exit 0
|
||||
;;
|
||||
|
||||
|
@ -43,7 +43,7 @@ case "${1:-.}${2:-.}${3:-.}" in
|
|||
echo "Adding $4 with perm $6$7"
|
||||
mv $(unpack-file "$2$3") $4
|
||||
chmod "$6$7" $4
|
||||
update-cache --add -- $4
|
||||
git-update-cache --add -- $4
|
||||
exit 0
|
||||
;;
|
||||
#
|
||||
|
@ -57,16 +57,16 @@ case "${1:-.}${2:-.}${3:-.}" in
|
|||
echo "Adding $4 with perm $6"
|
||||
mv $(unpack-file "$2") $4
|
||||
chmod "$6" $4
|
||||
update-cache --add -- $4
|
||||
git-update-cache --add -- $4
|
||||
exit 0;;
|
||||
#
|
||||
# Modified in both, but differently ;(
|
||||
#
|
||||
"$1$2$3")
|
||||
echo "Auto-merging $4"
|
||||
orig=$(unpack-file $1)
|
||||
src1=$(unpack-file $2)
|
||||
src2=$(unpack-file $3)
|
||||
orig=$(git-unpack-file $1)
|
||||
src1=$(git-unpack-file $2)
|
||||
src2=$(git-unpack-file $3)
|
||||
merge "$src2" "$orig" "$src1"
|
||||
ret=$?
|
||||
if [ "$6" != "$7" ]; then
|
||||
|
@ -81,7 +81,7 @@ case "${1:-.}${2:-.}${3:-.}" in
|
|||
echo "ERROR: Leaving conflict merge in $src2"
|
||||
exit 1
|
||||
fi
|
||||
cp -- "$src2" "$4" && chmod -- "$6" "$4" && update-cache --add -- "$4" && exit 0
|
||||
cp -- "$src2" "$4" && chmod -- "$6" "$4" && git-update-cache --add -- "$4" && exit 0
|
||||
;;
|
||||
|
||||
*)
|
||||
|
|
|
@ -16,16 +16,16 @@ rsync -L $merge_repo/HEAD .git/MERGE_HEAD || exit 1
|
|||
|
||||
head=$(cat .git/HEAD)
|
||||
merge_head=$(cat .git/MERGE_HEAD)
|
||||
common=$(merge-base $head $merge_head)
|
||||
common=$(git-merge-base $head $merge_head)
|
||||
if [ -z "$common" ]; then
|
||||
echo "Unable to find common commit between" $merge_head $head
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Get the trees associated with those commits
|
||||
common_tree=$(cat-file commit $common | sed 's/tree //;q')
|
||||
head_tree=$(cat-file commit $head | sed 's/tree //;q')
|
||||
merge_tree=$(cat-file commit $merge_head | sed 's/tree //;q')
|
||||
common_tree=$(git-cat-file commit $common | sed 's/tree //;q')
|
||||
head_tree=$(git-cat-file commit $head | sed 's/tree //;q')
|
||||
merge_tree=$(git-cat-file commit $merge_head | sed 's/tree //;q')
|
||||
|
||||
if [ "$common" == "$merge_head" ]; then
|
||||
echo "Already up-to-date. Yeeah!"
|
||||
|
@ -36,21 +36,21 @@ if [ "$common" == "$head" ]; then
|
|||
echo "Destroying all noncommitted data!"
|
||||
echo "Kill me within 3 seconds.."
|
||||
sleep 3
|
||||
read-tree -m $merge_tree && checkout-cache -f -a && update-cache --refresh
|
||||
git-read-tree -m $merge_tree && git-checkout-cache -f -a && git-update-cache --refresh
|
||||
echo $merge_head > .git/HEAD
|
||||
exit 0
|
||||
fi
|
||||
echo "Trying to merge $merge_head into $head"
|
||||
read-tree -m $common_tree $head_tree $merge_tree
|
||||
git-read-tree -m $common_tree $head_tree $merge_tree
|
||||
merge_msg="Merge of $merge_repo"
|
||||
result_tree=$(write-tree 2> /dev/null)
|
||||
result_tree=$(git-write-tree 2> /dev/null)
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Simple merge failed, trying Automatic merge"
|
||||
merge-cache git-merge-one-file-script -a
|
||||
git-merge-cache git-merge-one-file-script -a
|
||||
merge_msg="Automatic merge of $merge_repo"
|
||||
result_tree=$(write-tree) || exit 1
|
||||
result_tree=$(git-write-tree) || exit 1
|
||||
fi
|
||||
result_commit=$(echo "$merge_msg" | commit-tree $result_tree -p $head -p $merge_head)
|
||||
result_commit=$(echo "$merge_msg" | git-commit-tree $result_tree -p $head -p $merge_head)
|
||||
echo "Committed merge $result_commit"
|
||||
echo $result_commit > .git/HEAD
|
||||
checkout-cache -f -a && update-cache --refresh
|
||||
git-checkout-cache -f -a && git-update-cache --refresh
|
||||
|
|
Загрузка…
Ссылка в новой задаче