git fast-export not preserving executable permissions?
- From
- Doug Glidden <41mortimer@gmail.com>
- Date
- Apr 29, 2020, 13:36 UTC
- Message-ID
- <CAHTRwmjXXYAU_LTBF_9sX1CXFnGyHsu5_KHuCp1rB76-4zn=Gg@mail.gmail.com>
Hello Git world!
I have run into an issue that I cannot seem to resolve with git fast-export. When running a fast-export on a repo that contains scripts with executable permissions (e.g. a gradlew script), the resulting export does not properly reflect the executable permissions on the script files.
To illustrate this issue, I created a small sample repo, with one executable file and one non-executable file. From the output below, you can see that the mode in the output from fast-export is the same for both files; according to the documentation for fast-import, the mode for the executable file should be 100755 instead of 100644.
$ ls -gG
total 2
-rwxr-xr-x 1 106 Apr 29 09:13 executable_script.sh*
-rw-r--r-- 1 63 Apr 29 09:12 non_executable_file.txt $ git fast-export --all
blob
mark :1
data 106
#!/bin/bash # This is a shell script that should be executable.
echo 'The script executed successfully!' blob
mark :2
data 63
This file is a simple text file that should not be executable. reset refs/heads/dev
commit refs/heads/dev
mark :3
author Doug <41mortimer@gmail.com> 1588167102 -0400
committer Doug <41mortimer@gmail.com> 1588167102 -0400
data 25
Adding some sample files
M 100644 :1 executable_script.sh
M 100644 :2 non_executable_file.txtPlease let me know if there is any further information I can provide about this issue.
Thank you, Doug