From: Eric Wong Date: Mon, 12 Jan 2009 00:51:11 +0000 (-0800) Subject: git-svn: better attempt to handle broken symlink updates X-Git-Tag: v1.6.2-rc0~128^2~4 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/baf5fa8a7fdefc696fb1d79c95ae15a4cc779c1e?ds=inline;hp=baf5fa8a7fdefc696fb1d79c95ae15a4cc779c1e git-svn: better attempt to handle broken symlink updates This is a followup to 7fc35e0e94782bbbefb920875813519038659930, (workaround a for broken symlinks in SVN). Since broken SVN clients can commit svn:special files without the magic "link " prefix, this can affect delta application when we update the broken svn:special file. So now we fall back and retry the delta application on symlinks if having a "link " prefix fails. Our behavior differs from svn(1) (v1.5.1) slightly: When a svn:special file is created w/o a "link " prefix, svn will create a regular file (mode 100644 to git) with the contents of the blob as-is. Our behavior is to continue creating the symlink (mode 120000 to git) with the contents of the blob as-is. While this differs from current svn(1) behavior, this is easier and more efficient to implement (and the correctness of the svn(1) is debatable, since it's a workaround for a bug in the first place). More information on this SVN bug is described here: http://subversion.tigris.org/issues/show_bug.cgi?id=2692 Signed-off-by: Eric Wong ---