git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Apr 28, 2009, 22:07 UTC
Message-ID
<alpine.DEB.1.00.0904290005010.10279@pacific.mpi-cbg.de>
In-Reply-To
<7vk554jxzm.fsf@gitster.siamese.dyndns.org>
Hi,
On Tue, 28 Apr 2009, Junio C Hamano wrote:
Show 47 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> 
> >> 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

Previous: Junio C HamanoNext: Johannes Schindelin
Message 37 of 38 in “Add an option not to use link(src, dest) && unlink(src) when that is unreliable”
  1. Add an option not to use link(src, dest) && unlink(src) when that is unreliableJohannes Schindelin, Apr 23, 2009
  2. Johannes SixtApr 23, 2009
  3. Johannes SchindelinApr 23, 2009
  4. Add an option not to use link(src, dest) && unlink(src) when that is unreliableJohannes Schindelin, Apr 25, 2009
  5. Junio C HamanoApr 25, 2009
  6. Linus TorvaldsApr 25, 2009
  7. Michael GaberApr 25, 2009
  8. Linus TorvaldsApr 25, 2009
  9. Jay SoffianApr 27, 2009
  10. Johannes SixtApr 25, 2009
  11. Junio C HamanoApr 25, 2009
  12. Johannes SchindelinApr 26, 2009
  13. Linus TorvaldsApr 25, 2009
  14. Alex RiesenApr 23, 2009
  15. Johannes SchindelinApr 23, 2009
  16. Alex RiesenApr 24, 2009
  17. Linus TorvaldsApr 25, 2009
  18. Johannes SixtApr 25, 2009
  19. Junio C HamanoApr 26, 2009
  20. Johannes SchindelinApr 26, 2009
  21. Add an option not to use link(src, dest) && unlink(src) when that is unreliableJohannes Schindelin, Apr 27, 2009
  22. Linus TorvaldsApr 27, 2009
  23. Johannes SchindelinApr 27, 2009
  24. Linus TorvaldsApr 27, 2009
  25. Junio C HamanoApr 27, 2009
  26. Linus TorvaldsApr 27, 2009
  27. Linus TorvaldsApr 27, 2009
  28. Junio C HamanoApr 27, 2009
  29. Johannes SchindelinApr 27, 2009
  30. Linus TorvaldsApr 27, 2009
  31. Rename core.unreliableHardlinks to core.createObjectJohannes Schindelin, Apr 27, 2009
  32. Junio C HamanoApr 27, 2009
  33. Johannes SchindelinApr 28, 2009
  34. Junio C HamanoApr 28, 2009
  35. Johannes SchindelinApr 28, 2009
  36. Junio C HamanoApr 28, 2009
  37. Johannes SchindelinApr 28, 2009
  38. Johannes SchindelinApr 26, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.