[PATCH] git-svn: fix symlink-to-file changes when using command-line svn 1.4.0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I incorrectly thought this was hopelessly broken in svn 1.4.0,
but now it's just broken in that the old method didn't work.  It
looks like svn propdel and svn propset must be used now and the
(imho) more obvious svn rm --force && svn add no longer works.

make -C t full-svn-test should now work

Signed-off-by: Eric Wong <normalperson@xxxxxxxx>
---
 git-svn.perl |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/git-svn.perl b/git-svn.perl
index 54d2356..37ecc51 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -1501,10 +1501,13 @@ sub svn_checkout_tree {
 			apply_mod_line_blob($m);
 			svn_check_prop_executable($m);
 		} elsif ($m->{chg} eq 'T') {
-			sys(qw(svn rm --force),$m->{file_b});
-			apply_mod_line_blob($m);
-			sys(qw(svn add), $m->{file_b});
 			svn_check_prop_executable($m);
+			apply_mod_line_blob($m);
+			if ($m->{mode_a} =~ /^120/ && $m->{mode_b} !~ /^120/) {
+				sys(qw(svn propdel svn:special), $m->{file_b});
+			} else {
+				sys(qw(svn propset svn:special *),$m->{file_b});
+			}
 		} elsif ($m->{chg} eq 'A') {
 			svn_ensure_parent_path( $m->{file_b} );
 			apply_mod_line_blob($m);
-- 
1.4.3.2.g125940

-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]