From 8544a6f1b8e7340924c406d717ac37becd2f6046 Mon Sep 17 00:00:00 2001 From: Petr Baudis Date: Wed, 8 Jun 2005 23:26:55 +0200 Subject: [PATCH] [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 --- git-merge-one-file-script | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/git-merge-one-file-script b/git-merge-one-file-script index 62cbb2a9dc..cf42ff63c2 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