All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Robin Rosenberg <robin.rosenberg.lists@dewire.com>
Cc: Johannes Sixt <johannes.sixt@telecom.at>, git@vger.kernel.org
Subject: Re: Implement core.symlinks to support filesystems without symlinks
Date: Wed, 28 Feb 2007 01:07:51 +0100 (CET)	[thread overview]
Message-ID: <Pine.LNX.4.63.0702280101560.22628@wbgn013.biozentrum.uni-wuerzburg.de> (raw)
In-Reply-To: <200702280013.45598.robin.rosenberg.lists@dewire.com>

Hi,

On Wed, 28 Feb 2007, Robin Rosenberg wrote:

> tisdag 27 februari 2007 22:41 skrev Johannes Sixt:
> > 
> > Here is a small patch series that adds a configuration variable 
> > core.symlinks.
> >
> > From the manual:
> > 
> > core.symlinks::
> > 	If false, symbolic links are checked out as small plain files that
> > 	contain the link text. gitlink:git-update-index[1] and
> > 	gitlink:git-add[1] will not change the recorded type to regular
> > 	file. Useful on filesystems like FAT that do not support
> > 	symbolic links. True by default.
> 
> How useful is that? The problem is that those links won't work so the 
> checkout will be broken. Creating copies would be less broken since the 
> "links" could still be used. It should be possible to use the index to 
> see which file is an original and which is a symblink, provided both are 
> in the same repository. Then maybe fall back to this approach if the 
> symlink target cannot be resolved.

Basically, there is no proper way to solve it (other than switching to 
Linux, but that goes without saying).

Your solution would fall short if one of the two files is changed. Since 
they are supposed to be symlinks, the application expects them to be 
identical, and weird sh*t happens.

E.g. if you have a symlink "ln -s Makefile.host Makefile", and a script 
which changes "Makefile.host", and a subdirectory Makefile accessing the 
root Makefile, you will not be happy.

So, any way you go, if you have a repository containing symlinks, and you 
have an OS which does not support symlinks, you are screwed.

But since we already have a symlink in git.git, and _want_ to compile git 
on MinGW nevertheless, we should support symlinks _somehow_. Even if that 
means that advanced usage of symlinks will fail.

I agree with Johannes here how to go about this partial "support" of 
symlinks, since I cannot think of any sane way to retain the information 
(where the symlink points to) in the index.

Ciao,
Dscho

  reply	other threads:[~2007-02-28  0:08 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-27 21:41 Implement core.symlinks to support filesystems without symlinks Johannes Sixt
2007-02-27 21:41 ` [PATCH] Add a flag core.symlinks analogous to core.filemode Johannes Sixt
2007-02-27 21:41   ` [PATCH] Do not change the file type if the filesystem does not support symlinks Johannes Sixt
2007-02-27 21:41     ` [PATCH] Create a symbolic link as a regular file on filesystems without symlinks Johannes Sixt
2007-02-27 21:41       ` [PATCH] diff-lib.c: Ignore type differences if the filesystem does not support symlinks Johannes Sixt
2007-02-27 21:41         ` [PATCH] Describe core.symlinks in the man pages Johannes Sixt
2007-02-27 22:44       ` [PATCH] Create a symbolic link as a regular file on filesystems without symlinks Johannes Schindelin
2007-02-28 17:18         ` Johannes Sixt
2007-02-27 22:54     ` [PATCH] Do not change the file type if the filesystem does not support symlinks Johannes Schindelin
2007-02-28 17:40       ` Johannes Sixt
2007-02-28 17:53         ` Johannes Schindelin
2007-02-27 23:13 ` Implement core.symlinks to support filesystems without symlinks Robin Rosenberg
2007-02-28  0:07   ` Johannes Schindelin [this message]
2007-02-28 22:48     ` Robin Rosenberg
2007-03-01  1:18       ` Johannes Schindelin
2007-03-01 11:56         ` Robin Rosenberg
2007-03-01 17:13           ` Johannes Schindelin
2007-03-01 19:24           ` Johannes Sixt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.63.0702280101560.22628@wbgn013.biozentrum.uni-wuerzburg.de \
    --to=johannes.schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=johannes.sixt@telecom.at \
    --cc=robin.rosenberg.lists@dewire.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.