From: Petr Baudis Date: Wed, 8 Jun 2005 21:26:55 +0000 (+0200) Subject: [PATCH] Fix git-merge-one-file permissions auto-merging X-Git-Tag: v0.99~304 X-Git-Url: https://git.octo.it/?a=commitdiff_plain;h=8544a6f1b8e7340924c406d717ac37becd2f6046;p=git.git [PATCH] Fix git-merge-one-file permissions auto-merging In the automerge case, permissions were not restored properly after the merge tool was invoked and overwrote the target file. Signed-off-by: Petr Baudis Signed-off-by: Linus Torvalds --- diff --git a/git-merge-one-file-script b/git-merge-one-file-script index 62cbb2a9..cf42ff63 100755 --- a/git-merge-one-file-script +++ b/git-merge-one-file-script @@ -63,10 +63,14 @@ case "${1:-.}${2:-.}${3:-.}" in merge -p "$src1" "$orig" "$src2" > "$4" ret=$? rm -f -- "$orig" "$src1" "$src2" + if [ "$6" != "$7" ]; then echo "ERROR: Permissions $5->$6->$7 don't match." ret=1 fi + case "$6" in *7??) mode=+x;; *) mode=-x;; esac + chmod "$mode" "$4" + if [ $ret -ne 0 ]; then # Reset the index to the first branch, making # git-diff-file useful