diff tests/test-largefiles.t @ 15369:b4ea79f88268 stable

largefiles: bugfix for symlink handling with testcase The code was using the size of a symlink's target, thus wrongly making symlinks to large files into largefiles themselves. This can be demonstrated by deleting the symlink and then doing an 'hg up' or 'hg up -C' to restore the symlink.
author Eli Carter <eli.carter@tektronix.com>
date Wed, 26 Oct 2011 13:48:33 -0500
parents 06b8db3f25c6
children 8af6c6d91c92
line wrap: on
line diff
--- a/tests/test-largefiles.t	Wed Oct 26 12:56:27 2011 -0500
+++ b/tests/test-largefiles.t	Wed Oct 26 13:48:33 2011 -0500
@@ -852,3 +852,26 @@
   1 largefiles updated, 0 removed
   $ cd ..
   $ HOME="$ORIGHOME"
+
+Symlink to a large largefile should behave the same as a symlink to a normal file
+  $ hg init largesymlink
+  $ cd largesymlink
+  $ dd if=/dev/zero bs=1k count=10k of=largefile 2>/dev/null
+  $ hg add --large largefile
+  $ hg commit -m "commit a large file"
+  $ ln -s largefile largelink
+  $ hg add largelink
+  $ hg commit -m "commit a large symlink"
+  $ rm -f largelink
+  $ hg up >/dev/null
+  $ test -e largelink
+  [1]
+  $ test -L largelink
+  [1]
+  $ rm -f largelink # make next part of the test independent of the previous
+  $ hg up -C >/dev/null
+  $ test -e largelink
+  $ test -L largelink
+  $ cd ..
+
+