Mercurial > hg
view tests/test-missing-capability.t @ 45382:0652a533fe3c
mergestate: use _stateextras instead of merge records for commit related info
There is a set of information related to a merge which is needed on commit. We
want to store such information in the mergestate so that we can read it while
committing.
For this purpose, we are using merge records and introduced a merge
entry state for that. However this won't scale and is not clean way to implement
this.
This patch reworks the existing logic related to this to use _stateextras and
read from it.
Right now the information stored is not very descriptive but it will be in next
patch.
Using _stateextras also makes MERGE_RECORD_MERGED_OTHER useless and only to be
kept for BC.
Differential Revision: https://phab.mercurial-scm.org/D8920
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Mon, 10 Aug 2020 15:29:02 +0530 |
parents | d3cc9a8df63a |
children | 8d72e29ad1e0 |
line wrap: on
line source
Checking how hg behaves when one side of a pull/push doesn't support some capability (because it's running an older hg version, usually). $ hg init repo1 $ cd repo1 $ echo a > a; hg add -q a; hg commit -q -m a $ hg bookmark a $ hg clone -q . ../repo2 $ cd ../repo2 $ touch $TESTTMP/disable-lookup.py $ disable_cap() { > rm -f $TESTTMP/disable-lookup.pyc # pyc caching is buggy > cat <<EOF > $TESTTMP/disable-lookup.py > from mercurial import extensions, wireprotov1server > def wcapabilities(orig, *args, **kwargs): > cap = orig(*args, **kwargs) > cap.remove(b'$1') > return cap > extensions.wrapfunction(wireprotov1server, '_capabilities', wcapabilities) > EOF > } $ cat >> ../repo1/.hg/hgrc <<EOF > [extensions] > disable-lookup = $TESTTMP/disable-lookup.py > EOF $ cat >> .hg/hgrc <<EOF > [ui] > ssh = "$PYTHON" "$TESTDIR/dummyssh" > EOF $ hg pull ssh://user@dummy/repo1 -r tip -B a pulling from ssh://user@dummy/repo1 no changes found $ disable_cap lookup $ hg pull ssh://user@dummy/repo1 -r tip -B a pulling from ssh://user@dummy/repo1 abort: other repository doesn't support revision lookup, so a rev cannot be specified. [255] $ disable_cap pushkey $ hg pull ssh://user@dummy/repo1 -r tip -B a pulling from ssh://user@dummy/repo1 abort: remote bookmark a not found! [255]