Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature-Request: LinuxSymlink handling on NTFS as ReparsePoints or Copy on FAT/FAT32 #885

Closed
1 task
ifrh opened this issue Sep 14, 2016 · 6 comments
Closed
1 task
Labels

Comments

@ifrh
Copy link

ifrh commented Sep 14, 2016

Setup

  • Which version of Git for Windows are you using? Is it 32-bit or 64-bit?
$ git --version --build-options
git version 1.9.5.msysgit.1
  • Which version of Windows are you running? Vista, 7, 8, 10? Is it 32-bit or 64-bit?

Windows XP Home, SP3, German, 32-bit

$ cmd.exe /c ver

Microsoft Windows XP [Version 5.1.2600]
  • What options did you set as part of the installation? Or did you choose the
    defaults?
# One of the following:
> type "C:\Program Files\Git\etc\install-options.txt"
> type "C:\Program Files (x86)\Git\etc\install-options.txt"
> type "%USERPROFILE%\AppData\Local\Programs\Git\etc\install-options.txt"
$ cat /etc/install-options.txt
cat: /etc/install-options.txt: No such file or directory
  • Any other interesting things about your environment that might be related
    to the issue you're seeing?
>dir "C:\Git\etc\"

 Verzeichnis von C:\Git\etc

08.05.2015  21:22    <DIR>          .
08.05.2015  21:22    <DIR>          ..
19.03.2015  23:33             2.600 fileList-bindimage.txt
19.03.2015  23:32             3.771 fileList-builtins.txt
19.03.2015  23:33            54.528 git-completion.bash
19.03.2015  23:33            15.349 git-prompt.sh
19.03.2015  23:33            55.316 git.ico
19.03.2015  23:33               232 gitattributes
08.05.2015  21:22               321 gitconfig
19.03.2015  23:33             1.881 inputrc
19.03.2015  23:33               159 motd
19.03.2015  23:33             4.694 profile
19.03.2015  23:33            12.326 termcap

Details

  • Which terminal/shell are you running Git from? e.g Bash/CMD/PowerShell/other

    Bash (msys, git-msys) and CMD

  • What commands did you run to trigger this issue?

git clone
git pull 
git commit 
git push

If you clone a repository which contains linux symlinks,
linux symlinks in git are type 120000 (see http://stackoverflow.com/questions/5917249/git-symlinks-in-windows ),
than you get on Windows NTFS a text file containing the absolut or relativ path to the linked file.

  • What did you expect to occur after running these commands? What actually happened instead?

Depending on version of Windows and Filesystem I expected, that git for windows creates while cloneor pull a NTFS-Reparsepoint (hard link, softlink , junction) or on FAT-Systems a real-copy and not a textfile containing the absolut or relativ path to the linked file.
And while add, commit, push I expect, that Reparsepoints are converted for saving into git "database" to textfiles of type 120000

Best regards,
Robert

@ifrh ifrh changed the title Feature-Request: LinuxSymlink handling on NTFS as ReparsePoints or Copy Feature-Request: LinuxSymlink handling on NTFS as ReparsePoints or Copy on FAT/FAT32 Sep 14, 2016
@shiftkey
Copy link

$ git --version --build-options
git version 1.9.5.msysgit.1

I don't expect Git 1.9 to get any more updates. Are you able to test this behaviour on a more recent version of Git for Windows?

@ifrh
Copy link
Author

ifrh commented Sep 15, 2016

Same behavior for

$ git --version --build-options
git version 2.10.0.windows.1
sizeof-long: 4
machine: x86

running under Windows 8.1 (64bit) german

cmd.exe /c ver
Microsoft Windows [Version 6.3.9600]

Best regards,
Robert

@aresq
Copy link

aresq commented Sep 29, 2016

Same for:
Microsoft Windows [Version 10.0.10586]

git version 2.10.0.windows.1
sizeof-long: 4
machine: x86_64

@PhilipOakley
Copy link

See https://github.com/git-for-windows/git/wiki/Symbolic-Links for gory details provide by those who know more than me...

@dscho
Copy link
Member

dscho commented Oct 5, 2016

Indeed, @PhilipOakley's response points you to the best explanation of the issue we have so far (including the description of the core.symlinks config setting, which is also mentioned in the Known Issues section of our Release Notes...).

@dscho dscho closed this as completed Oct 5, 2016
@dscho dscho added the question label Oct 5, 2016
@dscho
Copy link
Member

dscho commented Oct 5, 2016

Please note that core.symlinks = true will not only require admin privileges, it will not generate junctions either, but only symlinks, available in Vista and later.

@ifrh if this does not satisfy your needs, please note that I am eager to take your contributions but won't have time to implement any symlink handling other than what we have already.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants