# [Bug] git diff assumes executable permissions change is always 0755

3 messages from 2019-11-22 to 2019-11-22. Participants: Wes Hurd, Elijah Newren, Denton Liu.
Thread: https://gitlist.dev/t/52316

## Wes Hurd, 2019-11-22 19:47

Subject: [Bug] git diff assumes executable permissions change is always 0755
Message-ID: <CAOAGZwFScnS=FSfe9WiJ2h5W1-NCtxU4HM4FUH9LwtcCRuimcg@mail.gmail.com>
URL: https://gitlist.dev/e/CAOAGZwFScnS%3DFSfe9WiJ2h5W1-NCtxU4HM4FUH9LwtcCRuimcg%40mail.gmail.com

```
git 2.24.0
macOS 10.14.6

To reproduce:
 - Start a file, commit in git
 - chmod 0744 file.txt
 - git diff
 - ls -l file.txt

git diff reports :
old mode 100644
new mode 100755

expected:
git lists actual permissions of file
new mode 100744
File's permissions are 0744 (-rwxr--r--)

Thanks,

```

## Elijah Newren, 2019-11-22 20:08

Subject: Re: [Bug] git diff assumes executable permissions change is always 0755
Message-ID: <CABPp-BHb7z4PnyWu9YOiJv8jLEQnvmAHQmFq2=d=m1njtdDwug@mail.gmail.com>
URL: https://gitlist.dev/e/CABPp-BHb7z4PnyWu9YOiJv8jLEQnvmAHQmFq2%3Dd%3Dm1njtdDwug%40mail.gmail.com
In-Reply-To: <CAOAGZwFScnS=FSfe9WiJ2h5W1-NCtxU4HM4FUH9LwtcCRuimcg@mail.gmail.com>

```
On Fri, Nov 22, 2019 at 11:50 AM Wes Hurd <13hurdw@gmail.com> wrote:
>
> git 2.24.0
> macOS 10.14.6
>
> To reproduce:
>  - Start a file, commit in git
>  - chmod 0744 file.txt
>  - git diff
>  - ls -l file.txt
>
> git diff reports :
> old mode 100644
> new mode 100755
>
> expected:
> git lists actual permissions of file
> new mode 100744
> File's permissions are 0744 (-rwxr--r--)

Thanks for the report, but this isn't a bug.  See the final paragraph
of https://git-scm.com/docs/user-manual#tree-object.  (Said another
way, git doesn't track full permisions of files nor ACLs nor
creation/modification/access times, or other filesystem-specific data.
It's reporting to you the data as recorded in git which for normal
files will be either 100644 or 100755.)

```

## Denton Liu, 2019-11-22 20:11

Subject: Re: [Bug] git diff assumes executable permissions change is always 0755
Message-ID: <20191122201149.GA70732@generichostname>
URL: https://gitlist.dev/e/20191122201149.GA70732%40generichostname
In-Reply-To: <CAOAGZwFScnS=FSfe9WiJ2h5W1-NCtxU4HM4FUH9LwtcCRuimcg@mail.gmail.com>

```
Hi Wes,

On Fri, Nov 22, 2019 at 02:47:02PM -0500, Wes Hurd wrote:
> git 2.24.0
> macOS 10.14.6
> 
> To reproduce:
>  - Start a file, commit in git
>  - chmod 0744 file.txt
>  - git diff
>  - ls -l file.txt
> 
> git diff reports :
> old mode 100644
> new mode 100755
> 
> expected:
> git lists actual permissions of file
> new mode 100744
> File's permissions are 0744 (-rwxr--r--)
> 
> Thanks,

This is expected behaviour. Git only tracks the user executable bit and
extends it to group and other. See here[1] for more details.

Would setting your umask help in any way?

Thanks,

Denton

[1]: https://git-scm.com/docs/user-manual#tree-object

```
