##// 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:

r33262:8e6f4939 default
r38891:7848f284 default
Show More
test-newercgi.t
60 lines | 1.4 KiB | text/troff | Tads3Lexer
Matt Mackall
tests: replace exit 80 with #require
r22046 #require no-msys # MSYS will translate web paths as if they were file paths
Mads Kiilerich
tests: introduce 'hghave msys' to skip tests that would fail because of msys
r15567
Matt Mackall
tests: unify test-newercgi
r12471 This is a rudimentary test of the CGI files as of d74fc8dec2b4.
$ hg init test
$ cat >hgweb.cgi <<HGWEB
Augie Fackler
tests: use $PYTHON in #! so we always use the right Python
r32938 > #!$PYTHON
Matt Mackall
tests: unify test-newercgi
r12471 > #
> # An example CGI script to use hgweb, edit as necessary
>
> import cgitb
> cgitb.enable()
>
> from mercurial import demandimport; demandimport.enable()
> from mercurial.hgweb import hgweb
> from mercurial.hgweb import wsgicgi
>
> application = hgweb("test", "Empty test repository")
> wsgicgi.launch(application)
> HGWEB
$ chmod 755 hgweb.cgi
$ cat >hgweb.config <<HGWEBDIRCONF
> [paths]
> test = test
> HGWEBDIRCONF
$ cat >hgwebdir.cgi <<HGWEBDIR
Augie Fackler
tests: use $PYTHON in #! so we always use the right Python
r32938 > #!$PYTHON
Matt Mackall
tests: unify test-newercgi
r12471 > #
> # An example CGI script to export multiple hgweb repos, edit as necessary
>
> import cgitb
> cgitb.enable()
>
> from mercurial import demandimport; demandimport.enable()
> from mercurial.hgweb import hgwebdir
> from mercurial.hgweb import wsgicgi
>
> application = hgwebdir("hgweb.config")
> wsgicgi.launch(application)
> HGWEBDIR
$ chmod 755 hgwebdir.cgi
StevenGBrown
tests: remove duplication of the CGI environment variables
r13269 $ . "$TESTDIR/cgienv"
Augie Fackler
tests: replace yet more calls to `python` with $PYTHON...
r33262 $ $PYTHON hgweb.cgi > page1
$ $PYTHON hgwebdir.cgi > page2
Matt Mackall
tests: unify test-newercgi
r12471
$ PATH_INFO="/test/"
$ PATH_TRANSLATED="/var/something/test.cgi"
$ REQUEST_URI="/test/test/"
$ SCRIPT_URI="http://hg.omnifarious.org/test/test/"
$ SCRIPT_URL="/test/test/"
Augie Fackler
tests: replace yet more calls to `python` with $PYTHON...
r33262 $ $PYTHON hgwebdir.cgi > page3
Matt Mackall
tests: unify test-newercgi
r12471
$ grep -i error page1 page2 page3
[1]