mirror of
https://github.com/facebook/sapling.git
synced 2024-10-12 01:39:21 +03:00
479cfafe7a
The previous documentation pointed to the export command, but even if the user recognized that instead of only reading the cat specific list of rules, not all of the export rules applied anyway (specifically %N, %n and %m). The new items are a copy/paste from export's list. These rules have existed since at least version 0.5. Note that %m gets substituted with 'None' because the commit message isn't passed to cmdutil.makefilename(). %R and %r are currently effectively the same, since no revwidth is passed, however they both work. There aren't any existing tests for these rules, so they are added to prevent future regression.
54 lines
914 B
Raku
54 lines
914 B
Raku
$ 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 fileset
|
|
|
|
$ echo 3 > c
|
|
$ hg ci -Am addmore c
|
|
$ 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
|
|
|