summaryrefslogtreecommitdiff
path: root/tests/test-share.t
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-share.t')
-rw-r--r--tests/test-share.t129
1 files changed, 129 insertions, 0 deletions
diff --git a/tests/test-share.t b/tests/test-share.t
new file mode 100644
index 0000000..0eb755f
--- /dev/null
+++ b/tests/test-share.t
@@ -0,0 +1,129 @@
+ $ "$TESTDIR/hghave" serve || exit 80
+
+ $ echo "[extensions]" >> $HGRCPATH
+ $ echo "share = " >> $HGRCPATH
+
+prepare repo1
+
+ $ hg init repo1
+ $ cd repo1
+ $ echo a > a
+ $ hg commit -A -m'init'
+ adding a
+
+share it
+
+ $ cd ..
+ $ hg share repo1 repo2
+ updating working directory
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+share shouldn't have a store dir
+
+ $ cd repo2
+ $ test -d .hg/store
+ [1]
+
+Some sed versions appends newline, some don't, and some just fails
+
+ $ cat .hg/sharedpath; echo
+ $TESTTMP/repo1/.hg (glob)
+
+trailing newline on .hg/sharedpath is ok
+ $ hg tip -q
+ 0:d3873e73d99e
+ $ echo '' >> .hg/sharedpath
+ $ cat .hg/sharedpath
+ $TESTTMP/repo1/.hg (glob)
+ $ hg tip -q
+ 0:d3873e73d99e
+
+commit in shared clone
+
+ $ echo a >> a
+ $ hg commit -m'change in shared clone'
+
+check original
+
+ $ cd ../repo1
+ $ hg log
+ changeset: 1:8af4dc49db9e
+ tag: tip
+ user: test
+ date: Thu Jan 01 00:00:00 1970 +0000
+ summary: change in shared clone
+
+ changeset: 0:d3873e73d99e
+ user: test
+ date: Thu Jan 01 00:00:00 1970 +0000
+ summary: init
+
+ $ hg update
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ $ cat a # should be two lines of "a"
+ a
+ a
+
+commit in original
+
+ $ echo b > b
+ $ hg commit -A -m'another file'
+ adding b
+
+check in shared clone
+
+ $ cd ../repo2
+ $ hg log
+ changeset: 2:c2e0ac586386
+ tag: tip
+ user: test
+ date: Thu Jan 01 00:00:00 1970 +0000
+ summary: another file
+
+ changeset: 1:8af4dc49db9e
+ user: test
+ date: Thu Jan 01 00:00:00 1970 +0000
+ summary: change in shared clone
+
+ changeset: 0:d3873e73d99e
+ user: test
+ date: Thu Jan 01 00:00:00 1970 +0000
+ summary: init
+
+ $ hg update
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ $ cat b # should exist with one "b"
+ b
+
+hg serve shared clone
+
+ $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid
+ $ cat hg.pid >> $DAEMON_PIDS
+ $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'raw-file/'
+ 200 Script output follows
+
+
+ -rw-r--r-- 4 a
+ -rw-r--r-- 2 b
+
+
+
+test unshare command
+
+ $ hg unshare
+ $ test -d .hg/store
+ $ test -f .hg/sharedpath
+ [1]
+ $ hg unshare
+ abort: this is not a shared repo
+ [255]
+
+check that a change does not propagate
+
+ $ echo b >> b
+ $ hg commit -m'change in unshared'
+ $ cd ../repo1
+ $ hg id -r tip
+ c2e0ac586386 tip
+
+ $ cd ..