diff -r afb27fc92717 -r 45c7bada5200 tests/test-remote-hidden.t --- a/tests/test-remote-hidden.t Sat Apr 13 03:44:47 2019 +0200 +++ b/tests/test-remote-hidden.t Sat Apr 13 03:44:55 2019 +0200 @@ -6,6 +6,8 @@ $ . $TESTDIR/testlib/obsmarker-common.sh $ cat >> $HGRCPATH << EOF + > [ui] + > ssh = "$PYTHON" "$RUNTESTDIR/dummyssh" > [phases] > # public changeset are not obsolete > publish=false @@ -305,6 +307,98 @@ abort: filtered revision 'be215fbb8c50' (not in 'served' subset) [255] +Test --remote-hidden for ssh peer +---------------------------------- + + $ hg clone --pull ssh://user@dummy/repo-with-hidden client-ssh + requesting all changes + adding changesets + adding manifests + adding file changes + added 2 changesets with 2 changes to 1 files + 2 new obsolescence markers + new changesets 5f354f46e585:c33affeb3f6b (1 drafts) + updating to branch default + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg -R client-ssh log -G --hidden -v + @ 1:c33affeb3f6b c_Amend_New [draft] + | + o 0:5f354f46e585 c_Public [public] + + +Check on a server that do not allow hidden access: +`````````````````````````````````````````````````` + +pulling an hidden changeset should fail: + + $ hg -R client-ssh pull -r be215fbb8c50 + pulling from ssh://user@dummy/repo-with-hidden + abort: filtered revision 'be215fbb8c50' (not in 'served' subset) + [255] + +pulling an hidden changeset with --remote-hidden should succeed: + + $ hg -R client-ssh pull --remote-hidden -r be215fbb8c50 + pulling from ssh://user@dummy/repo-with-hidden + remote: ignoring request to access hidden changeset by unauthorized user: * (glob) + abort: filtered revision 'be215fbb8c50' (not in 'served' subset) + [255] + $ hg -R client-ssh log -G --hidden -v + @ 1:c33affeb3f6b c_Amend_New [draft] + | + o 0:5f354f46e585 c_Public [public] + + +Check on a server that do allow hidden access: +`````````````````````````````````````````````` + + $ cat << EOF >> repo-with-hidden/.hg/hgrc + > [experimental] + > server.allow-hidden-access=* + > EOF + +pulling an hidden changeset should fail: + + $ hg -R client-ssh pull -r be215fbb8c50 + pulling from ssh://user@dummy/repo-with-hidden + abort: filtered revision 'be215fbb8c50' (not in 'served' subset) + [255] + +pulling an hidden changeset with --remote-hidden should succeed: + + $ hg -R client-ssh pull --remote-hidden -r be215fbb8c50 + pulling from ssh://user@dummy/repo-with-hidden + searching for changes + adding changesets + adding manifests + adding file changes + added 1 changesets with 1 changes to 1 files (+1 heads) + (1 other changesets obsolete on arrival) + (run 'hg heads' to see heads) + $ hg -R client-ssh log -G --hidden -v + x 2:be215fbb8c50 c_Amend_Old [draft] + | + | @ 1:c33affeb3f6b c_Amend_New [draft] + |/ + o 0:5f354f46e585 c_Public [public] + + +Pulling a secret changeset is still forbidden: + +secret visible: + + $ hg -R client-ssh pull --remote-hidden -r 8d28cbe335f3 + pulling from ssh://user@dummy/repo-with-hidden + abort: filtered revision '8d28cbe335f3' (not in 'served.hidden' subset) + [255] + +secret hidden: + + $ hg -R client-ssh pull --remote-hidden -r 1c6afd79eb66 + pulling from ssh://user@dummy/repo-with-hidden + abort: filtered revision '1c6afd79eb66' (not in 'served.hidden' subset) + [255] + ============= Final cleanup =============