Mercurial > hg
view tests/test-rhg.t @ 45883:1817b66897ad
errors: create "similarity hint" for UnknownIdentifier eagerly in constructor
No code wanted to do anything but to produce a hint from it anyway, so
we might as well just store the hint in the exception (which already
extended `Hint`). That way we can easily convert it to a
`ConfigException` when it's parsing of configuration that fails.
I was wondering if the purpose of lazily creating the string was so we
don't create it in cases where it won't get printed anyway. However, I
couldn't find any places where that could happen. If we do find such
places, we could instead revert to making it lazy but add a function
on `UnknownIdentifier` for creating the hint string.
I dropped the comment saying "make sure to check fileset first, as
revset can invoke fileset", which was added in 4e240d6ab898 (dispatch:
offer near-edit-distance suggestions for {file,rev}set functions,
2015-01-26). I couldn't figure out what it meant. The author of that
patch also did not remember the reason for it. Perhaps changes that
have happened since then made it so it no longer matters.
Differential Revision: https://phab.mercurial-scm.org/D9346
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 19 Nov 2020 11:23:59 -0800 |
parents | 57dc78861196 |
children | ead435aa5294 |
line wrap: on
line source
#require rust Define an rhg function that will only run if rhg exists $ rhg() { > if [ -f "$RUNTESTDIR/../rust/target/debug/rhg" ]; then > "$RUNTESTDIR/../rust/target/debug/rhg" "$@" > else > echo "skipped: Cannot find rhg. Try to run cargo build in rust/rhg." > exit 80 > fi > } Unimplemented command $ rhg unimplemented-command error: Found argument 'unimplemented-command' which wasn't expected, or isn't valid in this context USAGE: rhg <SUBCOMMAND> For more information try --help [252] Finding root $ rhg root abort: no repository found in '$TESTTMP' (.hg not found)! [255] $ hg init repository $ cd repository $ rhg root $TESTTMP/repository Unwritable file descriptor $ rhg root > /dev/full abort: No space left on device (os error 28) [255] Deleted repository $ rm -rf `pwd` $ rhg root abort: error getting current working directory: $ENOENT$ [255] Listing tracked files $ cd $TESTTMP $ hg init repository $ cd repository $ for i in 1 2 3; do > echo $i >> file$i > hg add file$i > done > hg commit -m "commit $i" -q Listing tracked files from root $ rhg files file1 file2 file3 Listing tracked files from subdirectory $ mkdir -p path/to/directory $ cd path/to/directory $ rhg files ../../../file1 ../../../file2 ../../../file3 Listing tracked files through broken pipe $ rhg files | head -n 1 ../../../file1 Debuging data in inline index $ cd $TESTTMP $ rm -rf repository $ hg init repository $ cd repository $ for i in 1 2 3; do > echo $i >> file$i > hg add file$i > hg commit -m "commit $i" -q > done $ rhg debugdata -c 2 e36fa63d37a576b27a69057598351db6ee5746bd test 0 0 file3 commit 3 (no-eol) $ rhg debugdata -m 2 file1\x00b8e02f6433738021a065f94175c7cd23db5f05be (esc) file2\x005d9299349fc01ddd25d0070d149b124d8f10411e (esc) file3\x002661d26c649684b482d10f91960cc3db683c38b4 (esc) Debuging with full node id $ rhg debugdata -c `hg log -r 0 -T '{node}'` c8e64718e1ca0312eeee0f59d37f8dc612793856 test 0 0 file1 commit 1 (no-eol) Cat files $ cd $TESTTMP $ rm -rf repository $ hg init repository $ cd repository $ echo "original content" > original $ hg add original $ hg commit -m "add original" original $ rhg cat -r 0 original original content Cat copied file should not display copy metadata $ hg copy original copy_of_original $ hg commit -m "add copy of original" $ rhg cat -r 1 copy_of_original original content