# HG changeset patch # User Adrian Buehlmann # Date 1284576074 -7200 # Node ID fb10e46c16790fd048e77176a0b7df26c400a77f # Parent fd78997d1e6b19de5980ed2e7f98fdd287ddf2ac tests: unify test-hardlinks-safety diff -r fd78997d1e6b -r fb10e46c1679 tests/test-hardlinks-safety --- a/tests/test-hardlinks-safety Wed Sep 15 18:00:09 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,82 +0,0 @@ -#!/bin/sh - -# some implementations of cp can't create hardlinks -cat > cp.py < 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 - -echo % init -hg init a -cd a - -hg qimport -n foo - << EOF -# HG changeset patch -# Date 1 0 -diff -r 2588a8b53d66 a ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/a Wed Jul 23 15:54:29 2008 +0200 -@@ -0,0 +1,1 @@ -+a -EOF - -hg qpush - -cd .. -python cp.py a b -cd b - -hg qimport -n bar - << EOF -# HG changeset patch -# Date 2 0 -diff -r 2588a8b53d66 a ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/b Wed Jul 23 15:54:29 2008 +0200 -@@ -0,0 +1,1 @@ -+b -EOF - -hg qpush - -cat .hg/patches/status -echo % -cat .hg/patches/series -echo %%% -cat ../a/.hg/patches/status -echo % -cat ../a/.hg/patches/series - -# test tags hardlinking -hg qdel -r qbase:qtip - -hg tag -l lfoo -hg tag foo - -cd .. -python cp.py b c -cd c - -hg tag -l -r 0 lbar -hg tag -r 0 bar -echo %%% -cat .hgtags -echo % -cat .hg/localtags -echo %%% -cat ../b/.hgtags -echo % -cat ../b/.hg/localtags diff -r fd78997d1e6b -r fb10e46c1679 tests/test-hardlinks-safety.out --- a/tests/test-hardlinks-safety.out Wed Sep 15 18:00:09 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -% no diff if hardlink -% init -adding foo to series file -applying foo -now at: foo -adding bar to series file -applying bar -now at: bar -430ed4828a74fa4047bc816a25500f7472ab4bfe:foo -4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c:bar -% -foo -bar -%%% -430ed4828a74fa4047bc816a25500f7472ab4bfe:foo -% -foo -patch foo finalized without changeset message -patch bar finalized without changeset message -%%% -4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c foo -430ed4828a74fa4047bc816a25500f7472ab4bfe bar -% -4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c lfoo -430ed4828a74fa4047bc816a25500f7472ab4bfe lbar -%%% -4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c foo -% -4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c lfoo diff -r fd78997d1e6b -r fb10e46c1679 tests/test-hardlinks-safety.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-hardlinks-safety.t Wed Sep 15 20:41:14 2010 +0200 @@ -0,0 +1,106 @@ + +# some implementations of cp can't create hardlinks + $ cat > cp.py < 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 + +No diff if hardlink: + + $ diff x/a y/a + +Test mq hardlinking: + + $ echo "[extensions]" >> $HGRCPATH + $ echo "mq=" >> $HGRCPATH + + $ hg init a + $ cd a + + $ hg qimport -n foo - << EOF + > # HG changeset patch + > # Date 1 0 + > diff -r 2588a8b53d66 a + > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 + > +++ b/a Wed Jul 23 15:54:29 2008 +0200 + > @@ -0,0 +1,1 @@ + > +a + > EOF + adding foo to series file + + $ hg qpush + applying foo + now at: foo + + $ cd .. + $ python cp.py a b + $ cd b + + $ hg qimport -n bar - << EOF + > # HG changeset patch + > # Date 2 0 + > diff -r 2588a8b53d66 a + > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 + > +++ b/b Wed Jul 23 15:54:29 2008 +0200 + > @@ -0,0 +1,1 @@ + > +b + > EOF + adding bar to series file + + $ hg qpush + applying bar + now at: bar + + $ cat .hg/patches/status + 430ed4828a74fa4047bc816a25500f7472ab4bfe:foo + 4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c:bar + + $ cat .hg/patches/series + foo + bar + + $ cat ../a/.hg/patches/status + 430ed4828a74fa4047bc816a25500f7472ab4bfe:foo + + $ cat ../a/.hg/patches/series + foo + +Test tags hardlinking: + + $ hg qdel -r qbase:qtip + patch foo finalized without changeset message + patch bar finalized without changeset message + + $ hg tag -l lfoo + $ hg tag foo + + $ cd .. + $ python cp.py b c + $ cd c + + $ hg tag -l -r 0 lbar + $ hg tag -r 0 bar + + $ cat .hgtags + 4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c foo + 430ed4828a74fa4047bc816a25500f7472ab4bfe bar + + $ cat .hg/localtags + 4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c lfoo + 430ed4828a74fa4047bc816a25500f7472ab4bfe lbar + + $ cat ../b/.hgtags + 4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c foo + + $ cat ../b/.hg/localtags + 4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c lfoo +