Mercurial > evolve
changeset 1368:c02cdb97ebfa
directaccess: disable directaccess for push and serve
Before this patch, push and serve were subject to directaccess. This patch
makes them throw error when trying to access hidden hashes.
author | Laurent Charignon <lcharignon@fb.com> |
---|---|
date | Tue, 16 Jun 2015 10:19:17 -0700 |
parents | 0c134ca37567 |
children | 4ed67cce8c23 |
files | hgext/directaccess.py tests/test-inhibit.t |
diffstat | 2 files changed, 34 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/directaccess.py Tue Jun 16 10:08:48 2015 -0700 +++ b/hgext/directaccess.py Tue Jun 16 10:19:17 2015 -0700 @@ -25,6 +25,8 @@ ('nowarning', None, 'update'), ('nowarning', None, 'export'), ('nowarning', 'evolve', 'prune'), + ('error', None, 'push'), + ('error', None, 'serve'), ] def reposetup(ui, repo):
--- a/tests/test-inhibit.t Tue Jun 16 10:08:48 2015 -0700 +++ b/tests/test-inhibit.t Tue Jun 16 10:19:17 2015 -0700 @@ -721,5 +721,37 @@ $ hg up 15 abort: Cannot use inhibit without the direct access extension [255] + $ echo "directaccess=$(echo $(dirname $TESTDIR))/hgext/directaccess.py" >> $HGRCPATH + $ cd .. +hg push should not allow directaccess unless forced with --hidden +We copy the inhibhit repo to inhibit2 and make some changes to push to inhibit + + $ cp -r inhibit inhibit2 + $ pwd=$(pwd) + $ cd inhibit + $ mkcommit pk + $ hg id + 003a4735afde tip + $ echo "OO" > pk + $ hg amend + $ hg id + 71eb4f100663 tip + +Hidden commits cannot be pushed without --hidden + $ hg push -r 003a4735afde file://$pwd/inhibit2 + pushing to file://$TESTTMP/inhibit2 + abort: hidden revision '003a4735afde'! + (use --hidden to access hidden revisions) + [255] + +Visible commits can still be pushed + $ hg push -r 71eb4f100663 file://$pwd/inhibit2 + pushing to file://$TESTTMP/inhibit2 + searching for changes + adding changesets + adding manifests + adding file changes + added 1 changesets with 1 changes to 1 files + 2 new obsolescence markers