Re: [PATCH] Rename core.unreliableHardlinks to core.createObject

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: [PATCH] Rename core.unreliableHardlinks to core.createObject

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:46:40

Johannes Schindelin [off-list ref] writes:
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.

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help