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

Re: fixing workdirs

From
TTait <git.git@t41t.com>
Date
Jul 8, 2010, 18:37 UTC
Message-ID
<20100708183714.GR2480@ece.pdx.edu>
In-Reply-To
<20100708110842.GC12789@madism.org>
Pierre Habouzit <madcoder_madism.org> said (on 2010/07/08):
> ...                                    The workdir HEAD reflog is then a
> symlink to the masters.
#include <std-symlink-rant>

On programs (like git) pretending to be cross-platform, symlinks should be avoided. They are to varying degrees, painful on non-*nix operating systems.

Windows is an especially compatibility-breaking example, not only on the programming side, but also in relation to user interface, and compatibility with other programs. Programming-wise, documentation is sparse and would require lots of platform-specific work-arounds. The user-interface support is worse than terrible. And even if git does everything right, there's no guarantee a copy, backup/restore, antivirus program, etc. won't come along and corrupt the environment git so carefully created. Many of those other programs don't properly handle Windows reparse points. For those interested, http://shell-shocked.org/article.php?id=284 gives a reasonable-looking overview of the details on Windows.

Previous: Pierre HabouzitNext: Joshua Jensen
Message 2 of 10 in “fixing workdirs”
  1. Pierre HabouzitJul 8, 2010
  2. TaitJul 8, 2010
  3. Joshua JensenJul 8, 2010
  4. Pierre HabouzitJul 9, 2010
  5. Junio C HamanoJul 8, 2010
  6. Avery PennarunJul 8, 2010
  7. Pierre HabouzitJul 9, 2010
  8. Junio C HamanoJul 9, 2010
  9. Pierre HabouzitJul 19, 2010
  10. Jan HudecAug 17, 2010

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.