changeset 6920:7e5e13bee8f4

Make test-hardlinks-safety portable On some systems cp cannot create/preserve hardlinks. Use util.copyfiles instead, after making sure it actually does create hardlinks.
author Christian Ebert <blacktrash@gmx.net>
date Wed, 20 Aug 2008 17:58:12 +0200
parents c8555b127408
children 2cb708e25a5d 1a4c66d741a2
files tests/test-hardlinks-safety tests/test-hardlinks-safety.out
diffstat 2 files changed, 19 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/tests/test-hardlinks-safety	Wed Aug 20 15:04:45 2008 +0200
+++ b/tests/test-hardlinks-safety	Wed Aug 20 17:58:12 2008 +0200
@@ -1,5 +1,21 @@
 #!/bin/sh
 
+# some implementations of cp can't create hardlinks
+cat > cp.py <<EOF
+from mercurial import util
+import sys
+util.copyfiles(sys.argv[1], sys.argv[2], hardlink=True)
+EOF
+
+# test hardlinking outside hg
+mkdir x
+echo foo > x/a
+
+python cp.py x y
+echo bar >> y/a
+echo % no diff if hardlink
+diff x/a y/a
+
 # test mq hardlinking
 echo "[extensions]" >> $HGRCPATH
 echo "mq=" >> $HGRCPATH
@@ -21,7 +37,7 @@
 hg qpush
 
 cd ..
-cp -al a b
+python cp.py a b
 cd b
 
 hg qimport -n bar - << EOF
@@ -51,7 +67,7 @@
 hg tag foo
 
 cd ..
-cp -al b c
+python cp.py b c
 cd c
 
 hg tag -l -r 0 lbar
--- a/tests/test-hardlinks-safety.out	Wed Aug 20 15:04:45 2008 +0200
+++ b/tests/test-hardlinks-safety.out	Wed Aug 20 17:58:12 2008 +0200
@@ -1,3 +1,4 @@
+% no diff if hardlink
 % init
 adding foo to series file
 applying foo