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

Re: [PATCH] Disable USE_SYMLINK_HEAD by default

From
PRPavel Roskin <proski@gnu.org>
Date
Nov 15, 2005, 16:50 UTC
Message-ID
<1132073436.25640.32.camel@dv>
In-Reply-To
<Pine.LNX.4.63.0511151518210.23020@wbgn013.biozentrum.uni-wuerzburg.de>
On Tue, 2005-11-15 at 15:24 +0100, Johannes Schindelin wrote:
> <yousortofaskedforit>
> Well, I can see no good reason for symrefs, except for backwards 
> compatibility! Modern systems do support symlinks, you know?

You misunderstood me here. I meant backward compatibility with git wrappers, not with old operating systems.

I meant, the only reason we don't want symrefs to be used by default is because there are wrappers around git that only work with symlinks. So, if we change the default behavior in git now, those wrappers will break on new repositories.

Show 10 quoted lines
> Let´s face it. The main target for git is not Windows users. If we really 
> want to support all idiocies of all possible ones, how about this one:
> 
> If I clone a repository to a USB stick on cygwin, and try to access it 
> from my iBook, it does not work, because for *backward compatibility* 
> reasons, files fitting the 8.3 format are stored in UPPER CASE.
> 
> So, I would like to have support for UPPER CASE files in .git, please? And 
> since I cannot do my own testing, please could you force everybody´s git 
> to write OBJECTS and MASTER in UPPER CASE?
That was pretty funny :-)

Actually, what's different about symlinks is that they go beyond the paradigm of one data stream per file. There are two data streams accessible through the symlink, one being the data in the file it points to, and the other being the path to that file.

This doesn't map well to many data transfer protocols. We don't want git to work only over protocols that have explicit support for symlinks.

One example is http, sometimes the only protocol allowed to transcend corporate firewalls.

Another, more controversial example is CVS. Sourceforge doesn't support git, but I could store my git database in Sourceforge CVS, and thus share it with other contributors. Not being able to put .git/HEAD there would be an annoyance.

I believe Cygwin developers were actually more concerned about symlinks damaged by SMB than about any issues with storing them locally. After all, Cygwin is quite good at emulating POSIX, including symlinks.

Returning to your example, 8.3 format is a problem with storage. Those are behind us. It's problems with transfer that are going to limit us.

-- 
Regards,
Pavel Roskin
Previous: Adrien BeauNext: Junio C Hamano
Message 10 of 24 in “Disable USE_SYMLINK_HEAD by default”
  1. Disable USE_SYMLINK_HEAD by defaultPavel Roskin, Nov 15, 2005
  2. Junio C HamanoNov 15, 2005
  3. Pavel RoskinNov 15, 2005
  4. Junio C HamanoNov 15, 2005
  5. Junio C HamanoNov 15, 2005
  6. Johannes SchindelinNov 15, 2005
  7. Petr BaudisNov 15, 2005
  8. Johannes SchindelinNov 15, 2005
  9. Adrien BeauNov 15, 2005
  10. Pavel RoskinNov 15, 2005
  11. Junio C HamanoNov 15, 2005
  12. Pavel RoskinNov 15, 2005
  13. Nick HengeveldNov 15, 2005
  14. Linus TorvaldsNov 15, 2005
  15. Petr BaudisNov 15, 2005
  16. Linus TorvaldsNov 15, 2005
  17. Junio C HamanoNov 15, 2005
  18. Pavel RoskinNov 15, 2005
  19. Junio C HamanoNov 15, 2005
  20. Pavel RoskinNov 16, 2005
  21. Junio C HamanoNov 16, 2005
  22. Josef WeidendorferNov 16, 2005
  23. Catalin MarinasNov 15, 2005
  24. Pavel RoskinNov 15, 2005

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.