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
next prev parent 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.