From: Michael <michael@frog.wheelycreek.net>
To: MNGoldenEagle <mngoldeneagle@gmail.com>
Cc: <msysgit@googlegroups.com>, Fredrik Gustafsson <iveqy@iveqy.com>,
Sedat Kapanoglu <sedat@eksiteknoloji.com>, <git@vger.kernel.org>
Subject: Re: Re: git clone doesn't work in symlink dir roots on Windows
Date: Tue, 27 Aug 2013 17:54:37 -0700 [thread overview]
Message-ID: <3d08cf46e3e08d948adeebacf491ef1b@wheelycreek.net> (raw)
In-Reply-To: <CALEirj-7GKvU2y0_9A+447YA_18JLZROfvMtBiDX3k=3DATmZA@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 6612 bytes --]
I really don't know Jesse,
The permissions issue keeps coming up,
but to me it seems a non-issue as there is a CLI command to issue the
appropriate permissions to a user. The directory link being separate is
a painful but known issue, and my solution should work in most every-day
ways, as long as the symlinks aren't dangling within the repository tree
itself.
We could possibly limit the types of NTFS symbolic links that
would actually be embedded in a git database to relative links (or is
that done already?). I'm quite happy to have 'That type of NTFS symbolic
link is not supported' as a valid solution to anything that is outside
of simple symbolic links.
Currently the biggest thing holding symlinks
back from being complete is lack of support in MSYS itself - which might
be solved by using MSYS2. I have worked around this in the tests by
overriding various commands with shell functions that implement
operations on symlinks via cmd.exe. The only current exception to this
is tar, which I can't do much about.
I've just rebased my symlink
branch onto pt/tentative-1.8.4 and am chasing down test failures.
The
tests like to make the symlinks before creating directories, or to
create dangling symlinks, which doesn't help my cause - but am working
through it.
//.
On 23.08.2013 12:12, MNGoldenEagle wrote:
> Aside
from having to specify whether or not the symbolic link points to a file
or directory, what are the limitations of symlinks? I'm a bit curious,
having used them myself but never encountering any significant issues
with them. I remember hearing at one point that Windows Vista could only
create up to 31 links inside a directory, but I just checked on my
Windows 7 machine and was able to generate over 600 links to a directory
without a problem, so I'm guessing Windows 7 worked around this issue.
>
> Jesse
>
> On Tue, Aug 20, 2013 at 2:30 AM, Michael Geddes
<michael@frog.wheelycreek.net> wrote:
>
>> This type of functionality
is directly supported by the work I've already done
>> on symlinks here:
https://github.com/frogonwheels/git [1]
>> (branches mrg/symlink-v* )
>>
>> Even if we agree that symlinks only work to a limited degree, or
that there
>> are definite limitations, and that the default should be
that symlinks NOT be
>> supported within repositories, I'm not sure why
people are against
>> incorporating what I've already implemented.. ok
well I guess I do - it's
>> about time.
>>
>> Firstly, at the least it
means that symlinks like this example where they are
>> outside the
repository are supported. Secondly it means that people who are
>>
prepared to accept the limitations will be able to use (or at least
clone)
>> repositories containing symlinks.
>>
>> One of the big,
painful limitations is that windoze symlinks need to be marked
>> as
directories at the time of creation. The code I have implemented does
it's
>> level best to create the correct type of NTFS symlink based on
repository
>> information and falling back on filesystem information.
>>
>> The argument about permissions is only partially valid, since that
can be
>> granted as an individual permission to the user without
permanent
>> administrator rights.
>>
>> //.ichael G.
>>
>> On Sat, 10
Aug 2013 06:34:59 PM Fredrik Gustafsson wrote:
>> > On Sat, Aug 10, 2013
at 07:22:03PM +0300, Sedat Kapanoglu wrote:
>> > > > git is a disk
intense program, so this setup is not sane at all. With
>> > > > that
said I know that git on windows historically had problems with
>> > > >
working on smb-mounted shares (sometimes you're forced to have stupid
>>
> > > setups). I doubt that git really is the right tool for your work,
since
>> > >
>> > > I reproduced the same problem in a regular symlink
directory. Repro steps:
>> > >
>> > > mkdir actualdir
>> > > mklink /d
symdir actualdir
>> > > cd symdir
>> > > git init .
>> > >
>> > > fatal:
Invalid symlink 'D:/gitto': Function not implemented
>> > >
>> > >
Thanks,
>> > >
>> > > Sedat
>> >
>> > Good, then we can determinate that
this is a symlink error, it seams
>> > that readlink() isn't implemented
in the msysgit version of msysgit.
>> >
>> > However msysgit should have
a implementation of readlink() according to:
>> >
http://mingw.5.n7.nabble.com/Replacement-for-readlink-td30679.html
[2]
>> >
>> > I've CC:ed the msysgit-maillist so that they can decide if
this is
>> > something they want to address in newer releases.
>> >
>> >
(In the git source code the readlink call in this abspath.c)
>>
>> --
>>
>> --
>> *** Please reply-to-all at all times ***
>> *** (do not
pretend to know who is subscribed and who is not) ***
>> *** Please
avoid top-posting. ***
>> The msysGit Wiki is here:
https://github.com/msysgit/msysgit/wiki [3] - Github accounts are
free.
>>
>> You received this message because you are subscribed to the
Google
>> Groups "msysGit" group.
>> To post to this group, send email
to msysgit@googlegroups.com
>> To unsubscribe from this group, send
email to
>> msysgit+unsubscribe@googlegroups.com
>> For more options,
and view previous threads, visit this group at
>>
http://groups.google.com/group/msysgit?hl=en_US?hl=en [4]
>>
>> ---
>>
You received this message because you are subscribed to the Google
Groups "msysGit" group.
>> To unsubscribe from this group and stop
receiving emails from it, send an email to
msysgit+unsubscribe@googlegroups.com.
>> For more options, visit
https://groups.google.com/groups/opt_out [5].
Links:
------
[1]
https://github.com/frogonwheels/git
[2]
http://mingw.5.n7.nabble.com/Replacement-for-readlink-td30679.html
[3]
https://github.com/msysgit/msysgit/wiki
[4]
http://groups.google.com/group/msysgit?hl=en_US?hl=en
[5]
https://groups.google.com/groups/opt_out
--
--
*** Please reply-to-all at all times ***
*** (do not pretend to know who is subscribed and who is not) ***
*** Please avoid top-posting. ***
The msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.
You received this message because you are subscribed to the Google
Groups "msysGit" group.
To post to this group, send email to msysgit@googlegroups.com
To unsubscribe from this group, send email to
msysgit+unsubscribe@googlegroups.com
For more options, and view previous threads, visit this group at
http://groups.google.com/group/msysgit?hl=en_US?hl=en
---
You received this message because you are subscribed to the Google Groups "msysGit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
[-- Attachment #2: Type: text/html, Size: 8320 bytes --]
next prev parent reply other threads:[~2013-08-28 0:54 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-10 12:10 git clone doesn't work in symlink dir roots on Windows Sedat Kapanoglu
2013-08-10 12:51 ` Fredrik Gustafsson
2013-08-10 16:22 ` Sedat Kapanoglu
2013-08-10 16:22 ` Sedat Kapanoglu
2013-08-10 16:34 ` Fredrik Gustafsson
2013-08-11 3:04 ` Erik Faye-Lund
2013-08-11 7:28 ` Sedat Kapanoglu
2013-08-11 14:05 ` Erik Faye-Lund
2013-08-20 7:30 ` Michael Geddes
2013-08-23 19:12 ` MNGoldenEagle
2013-08-28 0:54 ` Michael [this message]
2013-09-08 23:40 ` MNGoldenEagle
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=3d08cf46e3e08d948adeebacf491ef1b@wheelycreek.net \
--to=michael@frog.wheelycreek.net \
--cc=git@vger.kernel.org \
--cc=iveqy@iveqy.com \
--cc=mngoldeneagle@gmail.com \
--cc=msysgit@googlegroups.com \
--cc=sedat@eksiteknoloji.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 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).