git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Robin Rosenberg <robin.rosenberg.lists@dewire.com>
To: Junio C Hamano <junkio@cox.net>
Cc: Johannes Sixt <J.Sixt@eudaptics.com>, git@vger.kernel.org
Subject: Re: MinGW port updated to GIT 1.5.0
Date: Thu, 15 Feb 2007 20:41:31 +0100	[thread overview]
Message-ID: <200702152041.31220.robin.rosenberg.lists@dewire.com> (raw)
In-Reply-To: <7v7iujckmv.fsf@assigned-by-dhcp.cox.net>

torsdag 15 februari 2007 19:59 skrev Junio C Hamano:
> Junio C Hamano <junkio@cox.net> writes:
> 
> > Johannes Sixt <J.Sixt@eudaptics.com> writes:
> >
> >> .... The general idea is to extend the meaning of
> >> `core.filemode = false` to check out symbolic links as plain files. Any
> >> hints about where the source code needs changes are welcome.
> 
> I might have misread the above but I do not think linking
> core.filemode and the symlink munging is the right way.  Another
> per-repository core.symlink = yes/no (which defaults to yes for
> others and no on filesystems without symlinks) would be more
> appropriate, as it allows Cygwin to continue using symlinks
> where it can, and UNIX folks to try it out.
> 
> I take by "checking out as plain files" you mean instead of
> calling symlink(2) you would write(2) it out.
> 
> I think that would be Ok from git's side.  Just like we use
> executable bit from the index to "fix" what we read from the
> filesystem (e.g. look for trust_executable_bit in diff-lib.c)
> when core.filemode is set, you would munge st.st_mode and
> pretend as if your lstat() said "RelNotes", which should be a
> symlink but you checked out as a regular file, said it is a
> symlink, using what is in the index.
> 
> However, I am not so sure if we can do better to help Windows
> people.  They have what they call "ShortCut", which to me feels
> like what they use for what symlinks are used for.  I do not
> know if it is possible (I do not even know doing so would make
> life easier for Windows people) but perhaps a symlink can be
> "checked out" as a ShortCut?

Since cygwin used shortcuts for exactly this purpose, why not (in principle). 
In practice it is  not the same however, since shortcuts aren't transparent to 
applications. Only apps that explicitly understand shortcuts can make any use 
of the, like the Explorer, and cygwin application since cygwin hide the 
things. The (presumed) lack of support in Win32 for these makes it harder to 
support them. 

A little feared commercial Git "alternative" uses copies and. You 
cannot "check out" a symbolic link, only the "real" file. Depending on how 
you access the repository the copies get updated automatically (virtual file 
system) or through an explicit update command. This is more compatible with
native applications since alla apps can then "read" the symbolic links just as 
if they are normal files. Checking in could be interesting since one has to 
decide which copy to consider, or only consider the one that is checked in as 
a non-link.

Some extra commands like git-ln and git-chmod could help in overcoming some of 
the cross platform obstacles.

-- robin

      parent reply	other threads:[~2007-02-15 19:42 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-15 12:19 MinGW port updated to GIT 1.5.0 Johannes Sixt
2007-02-15 16:53 ` GIT 1.5.0 binary installer available Han-Wen Nienhuys
2007-02-15 19:11   ` Johannes Schindelin
2007-02-15 19:52     ` Johannes Schindelin
2007-02-15 20:12     ` Shawn O. Pearce
2007-02-16  4:23       ` Johannes Schindelin
2007-02-16  5:06         ` Shawn O. Pearce
2007-02-16 19:10           ` Marco Costalba
2007-02-15 17:43 ` MinGW port updated to GIT 1.5.0 Junio C Hamano
2007-02-15 18:59   ` Junio C Hamano
2007-02-15 19:14     ` Johannes Schindelin
2007-02-15 19:41     ` Robin Rosenberg [this message]

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=200702152041.31220.robin.rosenberg.lists@dewire.com \
    --to=robin.rosenberg.lists@dewire.com \
    --cc=J.Sixt@eudaptics.com \
    --cc=git@vger.kernel.org \
    --cc=junkio@cox.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).