git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dmitry Oksenchuk <oksenchuk89@gmail.com>
To: git <git@vger.kernel.org>
Subject: git merge changes file mode from 644 to 755
Date: Fri, 14 Aug 2015 15:02:43 +0300	[thread overview]
Message-ID: <CA+POfmsohJAGVYHM3nHJydoyxe92QFd59eWT_UG+_0fM46SATA@mail.gmail.com> (raw)

Hello,

I've noticed strange behavior of git merge on Windows with
core.filemode=false (set by default). Git changed mode of some files
from 644 to 755 for unknown reason. One of the files is stdafx.cpp,
it's absent in the common ancestor, it was added in the first branch
(master) with mode 644 and it's still absent in the second branch
(feature). So, git merges the file without conflicts but changes mode
from 644 to 755.

Example with git merge:
$ git reset --hard 9b90bac - the first branch
$ git merge-base 9b90bac f41bd44 - the second branch
e44b025b000fe71cf621b5aadad88e71d209e301 - the common ancestor
$ git ls-tree 9b90bac stdafx.cpp
100644 blob 0bf386d4ae494503129921f5b5077a74976c8f91    stdafx.cpp -
644 in the first branch
$ git ls-tree e44b025 stdafx.cpp - absent in the common ancestor
$ git ls-tree f41bd44 stdafx.cpp - absent in the second branch
$ git merge f41bd44
Auto-merging stdafx.cpp
$ git ls-files -s stdafx.cpp
100755 0bf386d4ae494503129921f5b5077a74976c8f91 0       stdafx.cpp -
755 after merge

Example with git read-tree:
$ git reset --hard 9b90bac
$ git read-tree -m e44b025 9b90bac f41bd44
$ git ls-files -s stdafx.cpp
100644 0bf386d4ae494503129921f5b5077a74976c8f91 0       stdafx.cpp -
644 after read-tree -m

Why git merge changes mode from 644 to 755? Is it a known issue?

I use git version 1.9.5.msysgit.0. Maybe the issue was fixed in a later version?

Regards,
Dmitry

             reply	other threads:[~2015-08-14 12:02 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-14 12:02 Dmitry Oksenchuk [this message]
2015-08-14 14:17 ` git merge changes file mode from 644 to 755 Johannes Sixt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CA+POfmsohJAGVYHM3nHJydoyxe92QFd59eWT_UG+_0fM46SATA@mail.gmail.com \
    --to=oksenchuk89@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).