diff options
Diffstat (limited to 'tests/test-mq-qclone-http.t')
-rw-r--r-- | tests/test-mq-qclone-http.t | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/tests/test-mq-qclone-http.t b/tests/test-mq-qclone-http.t new file mode 100644 index 0000000..4c92f4a --- /dev/null +++ b/tests/test-mq-qclone-http.t @@ -0,0 +1,153 @@ + $ "$TESTDIR/hghave" serve || exit 80 + +hide outer repo + $ hg init + + $ echo "[extensions]" >> $HGRCPATH + $ echo "mq=" >> $HGRCPATH + $ mkdir webdir + $ cd webdir + $ hg init a + $ hg --cwd a qinit -c + $ echo a > a/a + $ hg --cwd a ci -A -m a + adding a + $ echo b > a/b + $ hg --cwd a addremove + adding b + $ hg --cwd a qnew -f b.patch + $ hg --cwd a qcommit -m b.patch + $ hg --cwd a log --template "{desc}\n" + [mq]: b.patch + a + $ hg --cwd a/.hg/patches log --template "{desc}\n" + b.patch + $ root=`pwd` + $ cd .. + +test with recursive collection + + $ cat > collections.conf <<EOF + > [paths] + > /=$root/** + > EOF + $ hg serve -p $HGPORT -d --pid-file=hg.pid --webdir-conf collections.conf \ + > -A access-paths.log -E error-paths-1.log + $ cat hg.pid >> $DAEMON_PIDS + $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT '?style=raw' + 200 Script output follows + + + /a/ + /a/.hg/patches/ + + $ hg qclone http://localhost:$HGPORT/a b + requesting all changes + adding changesets + adding manifests + adding file changes + added 2 changesets with 2 changes to 2 files + requesting all changes + adding changesets + adding manifests + adding file changes + added 1 changesets with 3 changes to 3 files + updating to branch default + 3 files updated, 0 files merged, 0 files removed, 0 files unresolved + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg --cwd b log --template "{desc}\n" + a + $ hg --cwd b qpush -a + applying b.patch + now at: b.patch + $ hg --cwd b log --template "{desc}\n" + imported patch b.patch + a + +test with normal collection + + $ cat > collections1.conf <<EOF + > [paths] + > /=$root/* + > EOF + $ hg serve -p $HGPORT1 -d --pid-file=hg.pid --webdir-conf collections1.conf \ + > -A access-paths.log -E error-paths-1.log + $ cat hg.pid >> $DAEMON_PIDS + $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT1 '?style=raw' + 200 Script output follows + + + /a/ + /a/.hg/patches/ + + $ hg qclone http://localhost:$HGPORT1/a c + requesting all changes + adding changesets + adding manifests + adding file changes + added 2 changesets with 2 changes to 2 files + requesting all changes + adding changesets + adding manifests + adding file changes + added 1 changesets with 3 changes to 3 files + updating to branch default + 3 files updated, 0 files merged, 0 files removed, 0 files unresolved + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg --cwd c log --template "{desc}\n" + a + $ hg --cwd c qpush -a + applying b.patch + now at: b.patch + $ hg --cwd c log --template "{desc}\n" + imported patch b.patch + a + +test with old-style collection + + $ cat > collections2.conf <<EOF + > [collections] + > $root=$root + > EOF + $ hg serve -p $HGPORT2 -d --pid-file=hg.pid --webdir-conf collections2.conf \ + > -A access-paths.log -E error-paths-1.log + $ cat hg.pid >> $DAEMON_PIDS + $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT2 '?style=raw' + 200 Script output follows + + + /a/ + /a/.hg/patches/ + + $ hg qclone http://localhost:$HGPORT2/a d + requesting all changes + adding changesets + adding manifests + adding file changes + added 2 changesets with 2 changes to 2 files + requesting all changes + adding changesets + adding manifests + adding file changes + added 1 changesets with 3 changes to 3 files + updating to branch default + 3 files updated, 0 files merged, 0 files removed, 0 files unresolved + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg --cwd d log --template "{desc}\n" + a + $ hg --cwd d qpush -a + applying b.patch + now at: b.patch + $ hg --cwd d log --template "{desc}\n" + imported patch b.patch + a + +test --mq works and uses correct repository config + + $ hg --cwd d outgoing --mq + comparing with http://localhost:$HGPORT2/a/.hg/patches + searching for changes + no changes found + [1] + $ hg --cwd d log --mq --template '{rev} {desc|firstline}\n' + 0 b.patch |