Thread (3 messages) flat view 3 messages, 2 authors, 2016-06-15

Re: git-mergetool changes file rights?

From: Charles Bailey <hidden>
Date: 2016-06-15 22:46:21

On Sat, Mar 07, 2009 at 04:55:38PM +0100, Grzegorz Kossakowski wrote:
grek@linux-p3yg:~/asf/git/infrastructure/apache-git-mirrors/bin> git mergetool
merge tool candidates: kdiff3 kdiff3 tkdiff xxdiff meld gvimdiff opendiff emerge vimdiff
Merging the files: email-update.sh

Normal merge conflict for 'email-update.sh':
  {local}: modified
  {remote}: modified
Hit return to start merge resolution tool (kdiff3):
error: open("bin/email-update.sh"): Permission denied
error: unable to index file bin/email-update.sh
fatal: updating files failed
Looking at this sequence of error messages it looks like mergetool ran
kdiff3 and this 'succeeded', but when mergetool came to 'git add' the
result of the merge it fell over in a heap because it couldn't read
the file because of the strange ---x------ permissions.

mergetool just uses mv to create a backup of the to-be-merged path and
then uses cp to recreate the original path before invoking kdiff3. I
haven't managed to get cp to do anything other that use the same mode
as the source file for a copied file.

What version of kdiff3 are you using? I ask because this fix looks
like it may be relevant:

http://kdiff3.svn.sourceforge.net/viewvc/kdiff3/trunk/kdiff3/src-QT4/fileaccess.cpp?r1=84&r2=96

The changelog for 0.9.95 includes this:

- Fixed permissions when writing executable file. (Un*x only)

-- 
Charles Bailey
http://ccgi.hashpling.plus.com/blog/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help