[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[PATCH] symlinks on windows in #4052 test

From: Daniel Shahaf <danielsh_at_elego.de>
Date: Wed, 15 Feb 2012 04:22:57 +0200

Can someone test this on Windows please? The test should XFAIL against
1.7/trunk and XPASS against 1.6.

As an aside, the repeated self.ospath() calls can't be terribly
efficient --- they will call os.path.join() repeatedly --- but, insofar
as that is a problem, I reckon the Sandbox class's API could be improved
orthogonally to this patch?

[[[
Index: subversion/tests/cmdline/svntest/sandbox.py
===================================================================
--- subversion/tests/cmdline/svntest/sandbox.py (revision 1244298)
+++ subversion/tests/cmdline/svntest/sandbox.py (working copy)
@@ -236,6 +236,17 @@ class Sandbox:
     targets = self.ospaths(targets)
     svntest.main.run_svn(False, 'add', *targets)
 
+ def simple_add_symlink(self, dest, pointer):
+ """POINTER is a relpath relative to the WC."""
+ if hasattr(os, 'symlink'):
+ os.symlink(self.ospath(dest), self.ospath(pointer))
+ self.simple_add(pointer)
+ else:
+ # Windows, or other !is_posix_os()
+ open(self.ospath(pointer), 'wb').write('link %s' % target)
+ self.simple_add(pointer)
+ self.simple_propset('svn:special', 'yes', pointer)
+
   def simple_revert(self, *targets):
     """TARGET is a relpath relative to the WC."""
     assert len(targets) > 0
Index: subversion/tests/cmdline/merge_reintegrate_tests.py
===================================================================
--- subversion/tests/cmdline/merge_reintegrate_tests.py (revision 1244303)
+++ subversion/tests/cmdline/merge_reintegrate_tests.py (working copy)
@@ -2543,7 +2543,6 @@ def reintegrate_replaced_source(sbox):
                                        '--reintegrate', A_path)
   
 #----------------------------------------------------------------------
-_at_SkipUnless(svntest.main.is_posix_os)
 @XFail()
 @Issue(4052)
 def reintegrate_symlink_deletion(sbox):
@@ -2562,8 +2561,7 @@ def reintegrate_symlink_deletion(sbox):
   A_COPY_url = sbox.repo_url + "/A_COPY"
 
   ## add symlink
- os.symlink(mu_path, A_omicron_path)
- sbox.simple_add('A/omicron')
+ sbox.simple_add_symlink('A/mu', 'A/omicron')
   sbox.simple_commit(message='add symlink')
 
   ## branch
]]]
Received on 2012-02-15 03:23:41 CET

This is an archived mail posted to the Subversion Dev mailing list.