git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* git-svn fix for broken symlinks
@ 2007-12-18 16:11 Sverre Johansen
  2007-12-19  8:48 ` Eric Wong
  0 siblings, 1 reply; 3+ messages in thread
From: Sverre Johansen @ 2007-12-18 16:11 UTC (permalink / raw)
  To: git

Hi,

There is a bug in older versions of SVN that makes it possible to create
symlinks where the target is not the path to the file, but instead the
content of the target file. The bug is described here [0].

This breaks git-svn because it expects files which is marked as symlinks
to have the content "link: <filename>".

There was a thread about this back in July, resulting in this patch [1]. Is that
patch planned to be merged anytime soon? I'm using it, and it works great
for me.

[0]: http://subversion.tigris.org/issues/show_bug.cgi?id=2692
[1]: http://kerneltrap.org/mailarchive/git/2007/7/19/252025
-- 
           Sverre Johansen

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: git-svn fix for broken symlinks
  2007-12-18 16:11 git-svn fix for broken symlinks Sverre Johansen
@ 2007-12-19  8:48 ` Eric Wong
  2007-12-19  9:37   ` Junio C Hamano
  0 siblings, 1 reply; 3+ messages in thread
From: Eric Wong @ 2007-12-19  8:48 UTC (permalink / raw)
  To: Junio C Hamano, Sverre Johansen; +Cc: git

Sverre Johansen <sverre.johansen@gmail.com> wrote:
> Hi,
> 
> There is a bug in older versions of SVN that makes it possible to create
> symlinks where the target is not the path to the file, but instead the
> content of the target file. The bug is described here [0].
> 
> This breaks git-svn because it expects files which is marked as symlinks
> to have the content "link: <filename>".
> 
> There was a thread about this back in July, resulting in this patch [1]. Is that
> patch planned to be merged anytime soon? I'm using it, and it works great
> for me.
> 
> [0]: http://subversion.tigris.org/issues/show_bug.cgi?id=2692
> [1]: http://kerneltrap.org/mailarchive/git/2007/7/19/252025

Sverre: Thanks for the reminder, I'm quite absent-minded :/

I've pushed out the patch to http://git.bogomips.org/git-svn.git
(or git://, if you prefer) along with two others

Junio: please pull, thanks.

commit 540424b263d626aa762757a31ca9b4becc7fb513
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed Dec 19 00:31:43 2007 -0800

    git-svn: avoid warning when run without arguments
    
    While we're in the area, finish writing a halfway-written
    comment describing what that block does...
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>

commit 7fc35e0e94782bbbefb920875813519038659930
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed Dec 19 00:06:45 2007 -0800

    git-svn: workaround a for broken symlinks in SVN
    
    It's possible for bad clients to commit symlinks without the
    5-character "link " prefix in symlinks.  So guard around this
    bug in SVN and make a best effort to create symlinks if the
    "link " prefix is missing.
    
    More information on this SVN bug is described here:
      http://subversion.tigris.org/issues/show_bug.cgi?id=2692
    
    To be pedantic, there is still a corner case that neither we nor
    SVN can handle:  If somebody made a link using a broken SVN
    client where "link " is the first part of its path, e.g.
    "link sausage", then we'd end up having a symlink which points
    to "sausage" because we incorrectly stripped the "link ".
    Hopefully this hasn't happened in practice, but if it has,
    it's not our fault SVN is broken :)
    
    Thanks to Benoit Sigoure and Sverre Johansen for reporting
    and feedback.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>

commit ad94802a7bc599ade73ec0b04c61b2f80b3c1b23
Author: Eric Wong <normalperson@yhbt.net>
Date:   Sat Dec 15 19:08:22 2007 -0800

    git-svn: avoid leaving leftover committer/author info in rebase
    
    We set the 6 environment variables for controlling
    committer/author email/name/time for every commit.
    
    We do this in the parent process to be passed to
    git-commit-tree, because open3() doesn't afford us the control
    of doing it only in the child process.  This means we leave them
    hanging around in the main process until the next revision comes
    around and all 6 environment variables are overwridden again.
    
    Unfortunately, for the last commit, leaving them hanging around
    means the git-rebase invocation will pick it up, rewriting the
    rebased commit with incorrect author information.  This should fix
    it.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
---

-- 
Eric Wong

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: git-svn fix for broken symlinks
  2007-12-19  8:48 ` Eric Wong
@ 2007-12-19  9:37   ` Junio C Hamano
  0 siblings, 0 replies; 3+ messages in thread
From: Junio C Hamano @ 2007-12-19  9:37 UTC (permalink / raw)
  To: Eric Wong; +Cc: Sverre Johansen, git

Thanks.  I was about to ask you about some patches I saw on the list
from you.

Pulled; will push out tomorrow.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-12-19  9:38 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-18 16:11 git-svn fix for broken symlinks Sverre Johansen
2007-12-19  8:48 ` Eric Wong
2007-12-19  9:37   ` Junio C Hamano

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).