Re: [PATCH] Rename core.unreliableHardlinks to core.createObject
From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:46:40
Hi, On Tue, 28 Apr 2009, Junio C Hamano wrote:
Johannes Schindelin [off-list ref] writes:quoted
quoted
Wait a bit. Wasn't this about you accessing NTFS on your EeePC via unfs from the Linux side?Both. I realized that there was a problem with the ufsd driver of the Xandros Linux on my EeePC, accessing NTFS partitions. (This is the issue that made me add a config variable, but which was solved by Linus' core.fsyncobjects suggestion.) Later I had a hunch that the issues 222 and 229 of msysGit might have exactly the same reason, let the reporters test, and indeed, the problems went away. But come to think of it, we can _easily_ just set core.createObject=rename in msysGit, so I agree that there is no longer a need for the Makefile variable. Want me to resend?If it helps msys, I think we should allow compiling things in, but this "compiled in default for the platform, and possible per-repository override" made me a bit confused: (1) in your "This is Linux and on sane filesystems I do not weaken it to rename but on this one filesystem I do" case can be handled by adding .git/config in that repository; (2) problems with msysgit can be handled by compiled-in defaults as long as the user does not have .git/config entry to say "link"; (3) if you use the same repository from both sides with (1), presumably by dual-booting, so having .git/config that says "rename" happens to work; (4) if somebody has a dual-boot setup and shares a repository hosted natively on the Linux side by mounting it on the Windows side (Ext2 IFS?), I wonder what should happen. While you are using the repository from the Linux side, you may not want to weaken it to use "rename" (so you do not add .git/config that says "rename"). When you are accessing it over Ext2 IFS, perhaps you would want to use "rename" (I do not know about the details of #222 and #229, so it may not applicable, though). So,... as long as you do not have a triple-boot setup, third system among which wants to use "link" on a repository where both Linux and Windows side want to use "rename", I think you are Ok.
Well, my idea was to "weaken" the repository by using rename() always, even if the fs/OS combo happens to handle the case gracefully. But actually, what I will use is core.fsyncObjects, as suggested by Linus, which should not hurt sane fs/OS combos either. Ciao, Dscho