##// END OF EJS Templates
context: stop catching RepoLookupError from namespace.singlenode()...
context: stop catching RepoLookupError from namespace.singlenode() As pointed out by Yuya, the RepoLookupError was there for catching errors from repo.branchtip(). However, since 885c0290f7d5 (localrepo: add ignoremissing parameter to branchtip, 2014-10-16), that should no longer happen. I think it should now be an error if a namespace raises a RepoLookupError, so we propagate the exception up and and make it easy to fix, rather than trying to interpret the changeid as nodeid prefix and raise a general "unknown revision '...'" error. I also don't think we should catch FilteredLookupError and LookupError from the changelog.rev() call, for the same reason as above: If a namespace returns a node that doesn't exist, we should provide a more helpful exception than "unknown revision '...'". Differential Revision: https://phab.mercurial-scm.org/D3145

File last commit:

r36096:a2a6e724 default
r37409:3198d5a2 default
Show More
test-narrow-debugrebuilddirstate.t
31 lines | 903 B | text/troff | Tads3Lexer
/ tests / test-narrow-debugrebuilddirstate.t
$ . "$TESTDIR/narrow-library.sh"
$ hg init master
$ cd master
$ echo treemanifest >> .hg/requires
$ echo 'contents of file' > file
$ mkdir foo
$ echo 'contents of foo/bar' > foo/bar
$ hg ci -Am 'some change'
adding file
adding foo/bar
$ cd ..
$ hg clone --narrow ssh://user@dummy/master copy --include=foo
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
new changesets * (glob)
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd copy
$ hg debugdirstate
n * 20 unset foo/bar (glob)
$ mv .hg/dirstate .hg/old_dirstate
$ dd bs=40 count=1 if=.hg/old_dirstate of=.hg/dirstate 2>/dev/null
$ hg debugdirstate
$ hg debugrebuilddirstate
$ hg debugdirstate
n * * unset foo/bar (glob)