##// END OF EJS Templates
revset: add experimental relation and subscript operators...
revset: add experimental relation and subscript operators The proposed syntax [1] was originally 'set{n rel}', but it seemed slightly confusing if template is involved. On the other hand, we want to keep 'set[n]' for future extension. So this patch introduces 'set#rel[n]' ternary operator. I chose '#' just because it looks like applying an attribute. This also adds stubs for 'set[n]' and 'set#rel' operators since these syntax elements are fundamental for constructing 'set#rel[n]'. [1]: https://www.mercurial-scm.org/wiki/RevsetOperatorPlan#ideas_from_mpm

File last commit:

r32940:75be1499 default
r33416:9467d533 default
Show More
test-basic.t
88 lines | 1.6 KiB | text/troff | Tads3Lexer
Create a repository:
$ hg config
devel.all-warnings=true
devel.default-date=0 0
largefiles.usercache=$TESTTMP/.cache/largefiles (glob)
ui.slash=True
ui.interactive=False
ui.mergemarkers=detailed
ui.promptecho=True
web.address=localhost
web\.ipv6=(?:True|False) (re)
$ hg init t
$ cd t
Prepare a changeset:
$ echo a > a
$ hg add a
$ hg status
A a
Writes to stdio succeed and fail appropriately
#if devfull
$ hg status 2>/dev/full
A a
$ hg status >/dev/full
abort: No space left on device
[255]
$ hg status >/dev/full 2>&1
[1]
$ hg status ENOENT 2>/dev/full
[1]
#endif
$ hg commit -m test
This command is ancient:
$ hg history
changeset: 0:acb14030fe0a
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: test
Verify that updating to revision 0 via commands.update() works properly
$ cat <<EOF > update_to_rev0.py
> from mercurial import ui, hg, commands
> myui = ui.ui.load()
> repo = hg.repository(myui, path='.')
> commands.update(myui, repo, rev=0)
> EOF
$ hg up null
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ $PYTHON ./update_to_rev0.py
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg identify -n
0
Poke around at hashes:
$ hg manifest --debug
b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 644 a
$ hg cat a
a
Verify should succeed:
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
1 files, 1 changesets, 1 total revisions
At the end...
$ cd ..