Mercurial > hg
view tests/test-cat.t @ 34965:f445b10dc7fb stable
pathutil: use util.pathto() to calculate relative cwd in canonpath()
os.path.relpath() exploded if the 'root' and 'cwd' directories had different
drive letters. I noticed this in TortoiseHg when typing a fileset into the
filter, and it kept complaining until the closing '()' was typed. This was
reproducible on the command line with:
$ cd /d
$ hg -R /c/Users/Matt/Projects/hg files 'set:e'
Traceback (most recent call last):
...
File "mercurial\pathutil.pyc", line 182, in canonpath
File "ntpath.pyc", line 529, in relpath
ValueError: path is on drive c:, start on drive d:
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Thu, 02 Nov 2017 20:35:31 -0400 |
parents | 746e12a767b3 |
children | 8154119ed236 |
line wrap: on
line source
$ hg init $ echo 0 > a $ echo 0 > b $ hg ci -A -m m adding a adding b $ hg rm a $ hg cat a 0 $ hg cat --decode a # more tests in test-encode 0 $ echo 1 > b $ hg ci -m m $ echo 2 > b $ hg cat -r 0 a 0 $ hg cat -r 0 b 0 $ hg cat -r 1 a a: no such file in rev 7040230c159c [1] $ hg cat -r 1 b 1 Test multiple files $ echo 3 > c $ hg ci -Am addmore c $ hg cat b c 1 3 $ hg cat . 1 3 $ hg cat . c 1 3 Test fileset $ hg cat 'set:not(b) or a' 3 $ hg cat 'set:c or b' 1 3 $ mkdir tmp $ hg cat --output tmp/HH_%H c $ hg cat --output tmp/RR_%R c $ hg cat --output tmp/h_%h c $ hg cat --output tmp/r_%r c $ hg cat --output tmp/%s_s c $ hg cat --output tmp/%d%%_d c $ hg cat --output tmp/%p_p c $ hg log -r . --template "{rev}: {node|short}\n" 2: 45116003780e $ find tmp -type f | sort tmp/.%_d tmp/HH_45116003780e3678b333fb2c99fa7d559c8457e9 tmp/RR_2 tmp/c_p tmp/c_s tmp/h_45116003780e tmp/r_2 Test template output $ hg --cwd tmp cat ../b ../c -T '== {path} ({abspath}) ==\n{data}' == ../b (b) == (glob) 1 == ../c (c) == (glob) 3 $ hg cat b c -Tjson --output - [ { "abspath": "b", "data": "1\n", "path": "b" }, { "abspath": "c", "data": "3\n", "path": "c" } ] $ hg cat b c -Tjson --output 'tmp/%p.json' $ cat tmp/b.json [ { "abspath": "b", "data": "1\n", "path": "b" } ] $ cat tmp/c.json [ { "abspath": "c", "data": "3\n", "path": "c" } ] Test working directory $ echo b-wdir > b $ hg cat -r 'wdir()' b b-wdir Environment variables are not visible by default $ PATTERN='t4' hg log -r '.' -T "{ifcontains('PATTERN', envvars, 'yes', 'no')}\n" no Environment variable visibility can be explicit $ PATTERN='t4' hg log -r '.' -T "{envvars % '{key} -> {value}\n'}" \ > --config "experimental.exportableenviron=PATTERN" PATTERN -> t4