Mercurial > hg
view tests/test-missing-capability.t @ 49779:7d6c8943353a stable
hg: show the correct message when cloning an LFS repo with extension disabled
The `extensions._disabledpaths()` doesn't handle fetching help from `__index__`,
so it returns an empty dictionary of paths. That means None is always returned
from `extensions.disabled_help()` when embedding resources inside the pyoxidizer
or py2exe binary, regardless of the arg or if is an external extension stored in
the filesystem. And that means wrongly telling the user with an explicitly
disabled LFS extension that it will be enabled locally upon cloning from an LFS
remote. That causes test-lfs-serve.t:295 to fail.
This effectively reverts most of the rest of 843418dc0b1b, while keeping the
help text change in place (which was specifically identified as a problem).
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Mon, 05 Dec 2022 15:14:33 -0500 |
parents | 0c92cd9286ee |
children |
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 $ 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! [10]