##// END OF EJS Templates
revisions: allow "x123" to refer to nodeid prefix "123"...
revisions: allow "x123" to refer to nodeid prefix "123" When resolving "123" to a revision, we try to interpret it as revnum before we try to interpret it as a nodeid hex prefix. This can lead to the shortest valid prefix being longer than necessary. This patch lets us write such nodeids in a shorter form by prefixing them with "x" instead of adding more hex digits until they're longer than the longest decimal revnum. On my hg repo with almost 69k revisions, turning this feature on saves on average 0.4% on the average nodeid length. That clearly doesn't justify this patch. However, it becomes more usefule when combined with the earlier patches in this series that let you disambiguate nodeid prefixes within a configured revset. Note that we attempt to resolve symbols as nodeid prefixes after we've exhausted all other posibilities, so this is a backwards compatible change (only queries that would previously fail may now succeed). I've still hidden this feature behind an experiemntal config option so we can roll it back if needed. Differential Revision: https://phab.mercurial-scm.org/D4041

File last commit:

r35230:feecfefe default
r38891:7848f284 default
Show More
test-addremove.t
94 lines | 1.6 KiB | text/troff | Tads3Lexer
Martin Geisler
tests: unify test-addremove
r11850 $ hg init rep
$ cd rep
$ mkdir dir
$ touch foo dir/bar
$ hg -v addremove
adding dir/bar
adding foo
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg -v commit -m "add 1"
Mads Kiilerich
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing files:
Martin Geisler
tests: unify test-addremove
r11850 dir/bar
foo
Mads Kiilerich
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing manifest
committing changelog
Martin Geisler
tests: remove unneeded -d flags...
r12156 committed changeset 0:6f7f953567a2
Martin Geisler
tests: unify test-addremove
r11850 $ cd dir/
Adrian Buehlmann
test-addremove: remove bits about con.xml...
r16874 $ touch ../foo_2 bar_2
Martin Geisler
tests: unify test-addremove
r11850 $ hg -v addremove
adding dir/bar_2
adding foo_2
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg -v commit -m "add 2"
Mads Kiilerich
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing files:
Martin Geisler
tests: unify test-addremove
r11850 dir/bar_2
foo_2
Mads Kiilerich
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing manifest
committing changelog
Adrian Buehlmann
test-addremove: remove bits about con.xml...
r16874 committed changeset 1:e65414bf35c5
Martin von Zweigbergk
addremove: add back forgotten files (BC)...
r23259 $ cd ..
$ hg forget foo
$ hg -v addremove
adding foo
Matt Harbison
addremove: warn when addremove fails to operate on a named path...
r23534 $ hg forget foo
Matt Harbison
test-addremove: conditionalize output instead of tests
r33340
Mads Kiilerich
spelling: fixes from proofreading of spell checker issues
r24180 $ hg -v addremove nonexistent
Matt Harbison
tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages...
r35230 nonexistent: $ENOENT$
Matt Harbison
addremove: warn when addremove fails to operate on a named path...
r23534 [1]
Matt Harbison
test-addremove: conditionalize output instead of tests
r33340
Martin von Zweigbergk
addremove: add back forgotten files (BC)...
r23259 $ cd ..
Martin Geisler
tests: unify test-addremove
r11850
Martin von Zweigbergk
addremove: print relative paths when called with -I/-X (BC)...
r23427 $ hg init subdir
$ cd subdir
$ mkdir dir
$ cd dir
$ touch a.py
$ hg addremove 'glob:*.py'
adding a.py
$ hg forget a.py
$ hg addremove -I 'glob:*.py'
adding a.py
$ hg forget a.py
$ hg addremove
adding dir/a.py
$ cd ..
Martin Geisler
tests: unify test-addremove
r11850 $ hg init sim
$ cd sim
$ echo a > a
$ echo a >> a
$ echo a >> a
$ echo c > c
$ hg commit -Ama
adding a
adding c
$ mv a b
$ rm c
$ echo d > d
$ hg addremove -n -s 50 # issue 1696
removing a
adding b
removing c
adding d
recording removal of a as rename to b (100% similar)
$ hg addremove -s 50
removing a
adding b
removing c
adding d
recording removal of a as rename to b (100% similar)
$ hg commit -mb
Martin von Zweigbergk
addremove: add back forgotten files (BC)...
r23259 $ cp b c
$ hg forget b
$ hg addremove -s 50
adding b
adding c
Matt Harbison
commit: abort if --addremove is specified, but fails...
r23535
$ rm c
Matt Harbison
test-addremove: conditionalize output instead of tests
r33340
Mads Kiilerich
spelling: fixes from proofreading of spell checker issues
r24180 $ hg ci -A -m "c" nonexistent
Matt Harbison
tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages...
r35230 nonexistent: $ENOENT$
Matt Harbison
commit: abort if --addremove is specified, but fails...
r23535 abort: failed to mark all new/missing files as added/removed
[255]
Matt Harbison
test-addremove: conditionalize output instead of tests
r33340
Matt Harbison
commit: abort if --addremove is specified, but fails...
r23535 $ hg st
! c
Mads Kiilerich
tests: cleanup of tests that got lost in their own nested directories...
r16912 $ cd ..