test-hgweb-json.t
2228 lines
| 48.5 KiB
| text/troff
|
Tads3Lexer
/ tests / test-hgweb-json.t
Gregory Szorc
|
r24544 | #require serve | ||
$ request() { | ||||
Matt Mackall
|
r25472 | > get-with-headers.py --json localhost:$HGPORT "$1" | ||
Gregory Szorc
|
r24544 | > } | ||
$ hg init test | ||||
$ cd test | ||||
$ mkdir da | ||||
$ echo foo > da/foo | ||||
$ echo foo > foo | ||||
$ hg -q ci -A -m initial | ||||
$ echo bar > foo | ||||
$ hg ci -m 'modify foo' | ||||
$ echo bar > da/foo | ||||
$ hg ci -m 'modify da/foo' | ||||
$ hg bookmark bookmark1 | ||||
$ hg up default | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
(leaving bookmark bookmark1) | ||||
$ hg mv foo foo-new | ||||
$ hg commit -m 'move foo' | ||||
$ hg tag -m 'create tag' tag1 | ||||
Gregory Szorc
|
r24564 | $ hg phase --public -r . | ||
Gregory Szorc
|
r24544 | $ echo baz > da/foo | ||
$ hg commit -m 'another commit to da/foo' | ||||
$ hg tag -m 'create tag2' tag2 | ||||
$ hg bookmark bookmark2 | ||||
$ hg -q up -r 0 | ||||
$ hg -q branch test-branch | ||||
$ echo branch > foo | ||||
$ hg commit -m 'create test branch' | ||||
Gregory Szorc
|
r24563 | $ echo branch_commit_2 > foo | ||
$ hg commit -m 'another commit in test-branch' | ||||
$ hg -q up default | ||||
$ hg merge --tool :local test-branch | ||||
0 files updated, 1 files merged, 0 files removed, 0 files unresolved | ||||
(branch merge, don't forget to commit) | ||||
$ hg commit -m 'merge test-branch into default' | ||||
Gregory Szorc
|
r24544 | |||
$ hg log -G | ||||
Gregory Szorc
|
r24563 | @ changeset: 9:cc725e08502a | ||
|\ tag: tip | ||||
| | parent: 6:ceed296fe500 | ||||
| | parent: 8:ed66c30e87eb | ||||
| | user: test | ||||
| | date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| | summary: merge test-branch into default | ||||
| | | ||||
| o changeset: 8:ed66c30e87eb | ||||
| | branch: test-branch | ||||
| | user: test | ||||
| | date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| | summary: another commit in test-branch | ||||
| | | ||||
| o changeset: 7:6ab967a8ab34 | ||||
| | branch: test-branch | ||||
| | parent: 0:06e557f3edf6 | ||||
| | user: test | ||||
| | date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| | summary: create test branch | ||||
| | | ||||
o | changeset: 6:ceed296fe500 | ||||
Gregory Szorc
|
r24544 | | | bookmark: bookmark2 | ||
| | user: test | ||||
| | date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| | summary: create tag2 | ||||
| | | ||||
Gregory Szorc
|
r24563 | o | changeset: 5:f2890a05fea4 | ||
Gregory Szorc
|
r24544 | | | tag: tag2 | ||
| | user: test | ||||
| | date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| | summary: another commit to da/foo | ||||
| | | ||||
Gregory Szorc
|
r24563 | o | changeset: 4:93a8ce14f891 | ||
Gregory Szorc
|
r24544 | | | user: test | ||
| | date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| | summary: create tag | ||||
| | | ||||
Gregory Szorc
|
r24563 | o | changeset: 3:78896eb0e102 | ||
Gregory Szorc
|
r24544 | | | tag: tag1 | ||
| | user: test | ||||
| | date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| | summary: move foo | ||||
| | | ||||
Gregory Szorc
|
r24563 | o | changeset: 2:8d7c456572ac | ||
Gregory Szorc
|
r24544 | | | bookmark: bookmark1 | ||
| | user: test | ||||
| | date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| | summary: modify da/foo | ||||
| | | ||||
Gregory Szorc
|
r24563 | o | changeset: 1:f8bbb9024b10 | ||
Gregory Szorc
|
r24544 | |/ user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: modify foo | ||||
| | ||||
o changeset: 0:06e557f3edf6 | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: initial | ||||
r29457 | $ echo '[web]' >> .hg/hgrc | |||
David Demelier
|
r38215 | $ echo 'allow-archive = bz2' >> .hg/hgrc | ||
Gregory Szorc
|
r24544 | $ hg serve -p $HGPORT -d --pid-file=hg.pid -A access.log -E error.log | ||
$ cat hg.pid >> $DAEMON_PIDS | ||||
(Try to keep these in roughly the order they are defined in webcommands.py) | ||||
(log is handled by filelog/ and changelog/ - ignore it) | ||||
(rawfile/ doesn't use templating - nothing to test) | ||||
file/{revision}/{path} shows file revision | ||||
Laura Médioni
|
r29381 | $ request json-file/78896eb0e102/foo-new | ||
Gregory Szorc
|
r24544 | 200 Script output follows | ||
Laura Médioni
|
r29381 | { | ||
"bookmarks": [], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "move foo", | ||||
"lines": [ | ||||
{ | ||||
"line": "bar\n" | ||||
} | ||||
], | ||||
"node": "78896eb0e102174ce9278438a95e12543e4367a7", | ||||
"parents": [ | ||||
"f8bbb9024b10f93cdbb8d940337398291d40dea8" | ||||
], | ||||
"path": "foo-new", | ||||
"phase": "public", | ||||
"tags": [ | ||||
"tag1" | ||||
], | ||||
"user": "test" | ||||
} | ||||
Gregory Szorc
|
r24544 | |||
file/{revision} shows root directory info | ||||
Gregory Szorc
|
r24589 | $ request json-file/cc725e08502a | ||
Gregory Szorc
|
r24544 | 200 Script output follows | ||
Gregory Szorc
|
r24589 | { | ||
"abspath": "/", | ||||
"bookmarks": [], | ||||
"directories": [ | ||||
{ | ||||
"abspath": "/da", | ||||
"basename": "da", | ||||
"emptydirs": "" | ||||
} | ||||
], | ||||
"files": [ | ||||
{ | ||||
"abspath": ".hgtags", | ||||
"basename": ".hgtags", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"flags": "", | ||||
"size": 92 | ||||
}, | ||||
{ | ||||
"abspath": "foo-new", | ||||
"basename": "foo-new", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"flags": "", | ||||
"size": 4 | ||||
} | ||||
], | ||||
"node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7", | ||||
"tags": [ | ||||
"tip" | ||||
] | ||||
} | ||||
Gregory Szorc
|
r24544 | |||
changelog/ shows information about several changesets | ||||
$ request json-changelog | ||||
200 Script output follows | ||||
Gregory Szorc
|
r24588 | { | ||
"changeset_count": 10, | ||||
"changesets": [ | ||||
{ | ||||
"bookmarks": [], | ||||
Laura Médioni
|
r29380 | "branch": "default", | ||
Gregory Szorc
|
r24588 | "date": [ | ||
0.0, | ||||
0 | ||||
], | ||||
"desc": "merge test-branch into default", | ||||
"node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7", | ||||
r28709 | "parents": [ | |||
"ceed296fe500c3fac9541e31dad860cb49c89e45", | ||||
"ed66c30e87eb65337c05a4229efaa5f1d5285a90" | ||||
], | ||||
Laura Médioni
|
r29380 | "phase": "draft", | ||
Gregory Szorc
|
r24588 | "tags": [ | ||
"tip" | ||||
], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
Laura Médioni
|
r29380 | "branch": "test-branch", | ||
Gregory Szorc
|
r24588 | "date": [ | ||
0.0, | ||||
0 | ||||
], | ||||
"desc": "another commit in test-branch", | ||||
"node": "ed66c30e87eb65337c05a4229efaa5f1d5285a90", | ||||
r28709 | "parents": [ | |||
"6ab967a8ab3489227a83f80e920faa039a71819f" | ||||
], | ||||
Laura Médioni
|
r29380 | "phase": "draft", | ||
Gregory Szorc
|
r24588 | "tags": [], | ||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
Laura Médioni
|
r29380 | "branch": "test-branch", | ||
Gregory Szorc
|
r24588 | "date": [ | ||
0.0, | ||||
0 | ||||
], | ||||
"desc": "create test branch", | ||||
"node": "6ab967a8ab3489227a83f80e920faa039a71819f", | ||||
r28709 | "parents": [ | |||
"06e557f3edf66faa1ccaba5dd8c203c21cc79f1e" | ||||
], | ||||
Laura Médioni
|
r29380 | "phase": "draft", | ||
Gregory Szorc
|
r24588 | "tags": [], | ||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [ | ||||
"bookmark2" | ||||
], | ||||
Laura Médioni
|
r29380 | "branch": "default", | ||
Gregory Szorc
|
r24588 | "date": [ | ||
0.0, | ||||
0 | ||||
], | ||||
"desc": "create tag2", | ||||
"node": "ceed296fe500c3fac9541e31dad860cb49c89e45", | ||||
r28709 | "parents": [ | |||
"f2890a05fea49bfaf9fb27ed5490894eba32da78" | ||||
], | ||||
Laura Médioni
|
r29380 | "phase": "draft", | ||
Gregory Szorc
|
r24588 | "tags": [], | ||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
Laura Médioni
|
r29380 | "branch": "default", | ||
Gregory Szorc
|
r24588 | "date": [ | ||
0.0, | ||||
0 | ||||
], | ||||
"desc": "another commit to da/foo", | ||||
"node": "f2890a05fea49bfaf9fb27ed5490894eba32da78", | ||||
r28709 | "parents": [ | |||
"93a8ce14f89156426b7fa981af8042da53f03aa0" | ||||
], | ||||
Laura Médioni
|
r29380 | "phase": "draft", | ||
Gregory Szorc
|
r24588 | "tags": [ | ||
"tag2" | ||||
], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
Laura Médioni
|
r29380 | "branch": "default", | ||
Gregory Szorc
|
r24588 | "date": [ | ||
0.0, | ||||
0 | ||||
], | ||||
"desc": "create tag", | ||||
"node": "93a8ce14f89156426b7fa981af8042da53f03aa0", | ||||
r28709 | "parents": [ | |||
"78896eb0e102174ce9278438a95e12543e4367a7" | ||||
], | ||||
Laura Médioni
|
r29380 | "phase": "public", | ||
Gregory Szorc
|
r24588 | "tags": [], | ||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
Laura Médioni
|
r29380 | "branch": "default", | ||
Gregory Szorc
|
r24588 | "date": [ | ||
0.0, | ||||
0 | ||||
], | ||||
"desc": "move foo", | ||||
"node": "78896eb0e102174ce9278438a95e12543e4367a7", | ||||
r28709 | "parents": [ | |||
"8d7c456572acf3557e8ed8a07286b10c408bcec5" | ||||
], | ||||
Laura Médioni
|
r29380 | "phase": "public", | ||
Gregory Szorc
|
r24588 | "tags": [ | ||
"tag1" | ||||
], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [ | ||||
"bookmark1" | ||||
], | ||||
Laura Médioni
|
r29380 | "branch": "default", | ||
Gregory Szorc
|
r24588 | "date": [ | ||
0.0, | ||||
0 | ||||
], | ||||
"desc": "modify da/foo", | ||||
"node": "8d7c456572acf3557e8ed8a07286b10c408bcec5", | ||||
r28709 | "parents": [ | |||
"f8bbb9024b10f93cdbb8d940337398291d40dea8" | ||||
], | ||||
Laura Médioni
|
r29380 | "phase": "public", | ||
Gregory Szorc
|
r24588 | "tags": [], | ||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
Laura Médioni
|
r29380 | "branch": "default", | ||
Gregory Szorc
|
r24588 | "date": [ | ||
0.0, | ||||
0 | ||||
], | ||||
"desc": "modify foo", | ||||
"node": "f8bbb9024b10f93cdbb8d940337398291d40dea8", | ||||
r28709 | "parents": [ | |||
"06e557f3edf66faa1ccaba5dd8c203c21cc79f1e" | ||||
], | ||||
Laura Médioni
|
r29380 | "phase": "public", | ||
Gregory Szorc
|
r24588 | "tags": [], | ||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
Laura Médioni
|
r29380 | "branch": "default", | ||
Gregory Szorc
|
r24588 | "date": [ | ||
0.0, | ||||
0 | ||||
], | ||||
"desc": "initial", | ||||
"node": "06e557f3edf66faa1ccaba5dd8c203c21cc79f1e", | ||||
r28709 | "parents": [], | |||
Laura Médioni
|
r29380 | "phase": "public", | ||
Gregory Szorc
|
r24588 | "tags": [], | ||
"user": "test" | ||||
} | ||||
], | ||||
"node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7" | ||||
} | ||||
Gregory Szorc
|
r24544 | |||
Gregory Szorc
|
r24588 | changelog/{revision} shows information starting at a specific changeset | ||
Gregory Szorc
|
r24544 | |||
Gregory Szorc
|
r24588 | $ request json-changelog/f8bbb9024b10 | ||
Gregory Szorc
|
r24544 | 200 Script output follows | ||
Gregory Szorc
|
r24588 | { | ||
"changeset_count": 10, | ||||
"changesets": [ | ||||
{ | ||||
"bookmarks": [], | ||||
Laura Médioni
|
r29380 | "branch": "default", | ||
Gregory Szorc
|
r24588 | "date": [ | ||
0.0, | ||||
0 | ||||
], | ||||
"desc": "modify foo", | ||||
"node": "f8bbb9024b10f93cdbb8d940337398291d40dea8", | ||||
r28709 | "parents": [ | |||
"06e557f3edf66faa1ccaba5dd8c203c21cc79f1e" | ||||
], | ||||
Laura Médioni
|
r29380 | "phase": "public", | ||
Gregory Szorc
|
r24588 | "tags": [], | ||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
Laura Médioni
|
r29380 | "branch": "default", | ||
Gregory Szorc
|
r24588 | "date": [ | ||
0.0, | ||||
0 | ||||
], | ||||
"desc": "initial", | ||||
"node": "06e557f3edf66faa1ccaba5dd8c203c21cc79f1e", | ||||
r28709 | "parents": [], | |||
Laura Médioni
|
r29380 | "phase": "public", | ||
Gregory Szorc
|
r24588 | "tags": [], | ||
"user": "test" | ||||
} | ||||
], | ||||
"node": "f8bbb9024b10f93cdbb8d940337398291d40dea8" | ||||
} | ||||
Gregory Szorc
|
r24544 | |||
shortlog/ shows information about a set of changesets | ||||
$ request json-shortlog | ||||
200 Script output follows | ||||
Gregory Szorc
|
r24588 | { | ||
"changeset_count": 10, | ||||
"changesets": [ | ||||
{ | ||||
"bookmarks": [], | ||||
Laura Médioni
|
r29380 | "branch": "default", | ||
Gregory Szorc
|
r24588 | "date": [ | ||
0.0, | ||||
0 | ||||
], | ||||
"desc": "merge test-branch into default", | ||||
"node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7", | ||||
r28709 | "parents": [ | |||
"ceed296fe500c3fac9541e31dad860cb49c89e45", | ||||
"ed66c30e87eb65337c05a4229efaa5f1d5285a90" | ||||
], | ||||
Laura Médioni
|
r29380 | "phase": "draft", | ||
Gregory Szorc
|
r24588 | "tags": [ | ||
"tip" | ||||
], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
Laura Médioni
|
r29380 | "branch": "test-branch", | ||
Gregory Szorc
|
r24588 | "date": [ | ||
0.0, | ||||
0 | ||||
], | ||||
"desc": "another commit in test-branch", | ||||
"node": "ed66c30e87eb65337c05a4229efaa5f1d5285a90", | ||||
r28709 | "parents": [ | |||
"6ab967a8ab3489227a83f80e920faa039a71819f" | ||||
], | ||||
Laura Médioni
|
r29380 | "phase": "draft", | ||
Gregory Szorc
|
r24588 | "tags": [], | ||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
Laura Médioni
|
r29380 | "branch": "test-branch", | ||
Gregory Szorc
|
r24588 | "date": [ | ||
0.0, | ||||
0 | ||||
], | ||||
"desc": "create test branch", | ||||
"node": "6ab967a8ab3489227a83f80e920faa039a71819f", | ||||
r28709 | "parents": [ | |||
"06e557f3edf66faa1ccaba5dd8c203c21cc79f1e" | ||||
], | ||||
Laura Médioni
|
r29380 | "phase": "draft", | ||
Gregory Szorc
|
r24588 | "tags": [], | ||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [ | ||||
"bookmark2" | ||||
], | ||||
Laura Médioni
|
r29380 | "branch": "default", | ||
Gregory Szorc
|
r24588 | "date": [ | ||
0.0, | ||||
0 | ||||
], | ||||
"desc": "create tag2", | ||||
"node": "ceed296fe500c3fac9541e31dad860cb49c89e45", | ||||
r28709 | "parents": [ | |||
"f2890a05fea49bfaf9fb27ed5490894eba32da78" | ||||
], | ||||
Laura Médioni
|
r29380 | "phase": "draft", | ||
Gregory Szorc
|
r24588 | "tags": [], | ||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
Laura Médioni
|
r29380 | "branch": "default", | ||
Gregory Szorc
|
r24588 | "date": [ | ||
0.0, | ||||
0 | ||||
], | ||||
"desc": "another commit to da/foo", | ||||
"node": "f2890a05fea49bfaf9fb27ed5490894eba32da78", | ||||
r28709 | "parents": [ | |||
"93a8ce14f89156426b7fa981af8042da53f03aa0" | ||||
], | ||||
Laura Médioni
|
r29380 | "phase": "draft", | ||
Gregory Szorc
|
r24588 | "tags": [ | ||
"tag2" | ||||
], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
Laura Médioni
|
r29380 | "branch": "default", | ||
Gregory Szorc
|
r24588 | "date": [ | ||
0.0, | ||||
0 | ||||
], | ||||
"desc": "create tag", | ||||
"node": "93a8ce14f89156426b7fa981af8042da53f03aa0", | ||||
r28709 | "parents": [ | |||
"78896eb0e102174ce9278438a95e12543e4367a7" | ||||
], | ||||
Laura Médioni
|
r29380 | "phase": "public", | ||
Gregory Szorc
|
r24588 | "tags": [], | ||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
Laura Médioni
|
r29380 | "branch": "default", | ||
Gregory Szorc
|
r24588 | "date": [ | ||
0.0, | ||||
0 | ||||
], | ||||
"desc": "move foo", | ||||
"node": "78896eb0e102174ce9278438a95e12543e4367a7", | ||||
r28709 | "parents": [ | |||
"8d7c456572acf3557e8ed8a07286b10c408bcec5" | ||||
], | ||||
Laura Médioni
|
r29380 | "phase": "public", | ||
Gregory Szorc
|
r24588 | "tags": [ | ||
"tag1" | ||||
], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [ | ||||
"bookmark1" | ||||
], | ||||
Laura Médioni
|
r29380 | "branch": "default", | ||
Gregory Szorc
|
r24588 | "date": [ | ||
0.0, | ||||
0 | ||||
], | ||||
"desc": "modify da/foo", | ||||
"node": "8d7c456572acf3557e8ed8a07286b10c408bcec5", | ||||
r28709 | "parents": [ | |||
"f8bbb9024b10f93cdbb8d940337398291d40dea8" | ||||
], | ||||
Laura Médioni
|
r29380 | "phase": "public", | ||
Gregory Szorc
|
r24588 | "tags": [], | ||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
Laura Médioni
|
r29380 | "branch": "default", | ||
Gregory Szorc
|
r24588 | "date": [ | ||
0.0, | ||||
0 | ||||
], | ||||
"desc": "modify foo", | ||||
"node": "f8bbb9024b10f93cdbb8d940337398291d40dea8", | ||||
r28709 | "parents": [ | |||
"06e557f3edf66faa1ccaba5dd8c203c21cc79f1e" | ||||
], | ||||
Laura Médioni
|
r29380 | "phase": "public", | ||
Gregory Szorc
|
r24588 | "tags": [], | ||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
Laura Médioni
|
r29380 | "branch": "default", | ||
Gregory Szorc
|
r24588 | "date": [ | ||
0.0, | ||||
0 | ||||
], | ||||
"desc": "initial", | ||||
"node": "06e557f3edf66faa1ccaba5dd8c203c21cc79f1e", | ||||
r28709 | "parents": [], | |||
Laura Médioni
|
r29380 | "phase": "public", | ||
Gregory Szorc
|
r24588 | "tags": [], | ||
"user": "test" | ||||
} | ||||
], | ||||
"node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7" | ||||
} | ||||
Gregory Szorc
|
r24544 | |||
Yuya Nishihara
|
r39504 | shortlog is displayed by default (issue5978) | ||
$ request '?style=json' | ||||
200 Script output follows | ||||
{ | ||||
"changeset_count": 10, | ||||
"changesets": [ | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "merge test-branch into default", | ||||
"node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7", | ||||
"parents": [ | ||||
"ceed296fe500c3fac9541e31dad860cb49c89e45", | ||||
"ed66c30e87eb65337c05a4229efaa5f1d5285a90" | ||||
], | ||||
"phase": "draft", | ||||
"tags": [ | ||||
"tip" | ||||
], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "test-branch", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "another commit in test-branch", | ||||
"node": "ed66c30e87eb65337c05a4229efaa5f1d5285a90", | ||||
"parents": [ | ||||
"6ab967a8ab3489227a83f80e920faa039a71819f" | ||||
], | ||||
"phase": "draft", | ||||
"tags": [], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "test-branch", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "create test branch", | ||||
"node": "6ab967a8ab3489227a83f80e920faa039a71819f", | ||||
"parents": [ | ||||
"06e557f3edf66faa1ccaba5dd8c203c21cc79f1e" | ||||
], | ||||
"phase": "draft", | ||||
"tags": [], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [ | ||||
"bookmark2" | ||||
], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "create tag2", | ||||
"node": "ceed296fe500c3fac9541e31dad860cb49c89e45", | ||||
"parents": [ | ||||
"f2890a05fea49bfaf9fb27ed5490894eba32da78" | ||||
], | ||||
"phase": "draft", | ||||
"tags": [], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "another commit to da/foo", | ||||
"node": "f2890a05fea49bfaf9fb27ed5490894eba32da78", | ||||
"parents": [ | ||||
"93a8ce14f89156426b7fa981af8042da53f03aa0" | ||||
], | ||||
"phase": "draft", | ||||
"tags": [ | ||||
"tag2" | ||||
], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "create tag", | ||||
"node": "93a8ce14f89156426b7fa981af8042da53f03aa0", | ||||
"parents": [ | ||||
"78896eb0e102174ce9278438a95e12543e4367a7" | ||||
], | ||||
"phase": "public", | ||||
"tags": [], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "move foo", | ||||
"node": "78896eb0e102174ce9278438a95e12543e4367a7", | ||||
"parents": [ | ||||
"8d7c456572acf3557e8ed8a07286b10c408bcec5" | ||||
], | ||||
"phase": "public", | ||||
"tags": [ | ||||
"tag1" | ||||
], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [ | ||||
"bookmark1" | ||||
], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "modify da/foo", | ||||
"node": "8d7c456572acf3557e8ed8a07286b10c408bcec5", | ||||
"parents": [ | ||||
"f8bbb9024b10f93cdbb8d940337398291d40dea8" | ||||
], | ||||
"phase": "public", | ||||
"tags": [], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "modify foo", | ||||
"node": "f8bbb9024b10f93cdbb8d940337398291d40dea8", | ||||
"parents": [ | ||||
"06e557f3edf66faa1ccaba5dd8c203c21cc79f1e" | ||||
], | ||||
"phase": "public", | ||||
"tags": [], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "initial", | ||||
"node": "06e557f3edf66faa1ccaba5dd8c203c21cc79f1e", | ||||
"parents": [], | ||||
"phase": "public", | ||||
"tags": [], | ||||
"user": "test" | ||||
} | ||||
], | ||||
"node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7" | ||||
} | ||||
Gregory Szorc
|
r24544 | changeset/ renders the tip changeset | ||
$ request json-rev | ||||
200 Script output follows | ||||
Gregory Szorc
|
r24563 | { | ||
"bookmarks": [], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "merge test-branch into default", | ||||
"node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7", | ||||
"parents": [ | ||||
"ceed296fe500c3fac9541e31dad860cb49c89e45", | ||||
"ed66c30e87eb65337c05a4229efaa5f1d5285a90" | ||||
], | ||||
Gregory Szorc
|
r24564 | "phase": "draft", | ||
Gregory Szorc
|
r24563 | "tags": [ | ||
"tip" | ||||
], | ||||
"user": "test" | ||||
} | ||||
Gregory Szorc
|
r24544 | |||
changeset/{revision} shows tags | ||||
$ request json-rev/78896eb0e102 | ||||
200 Script output follows | ||||
Gregory Szorc
|
r24563 | { | ||
"bookmarks": [], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "move foo", | ||||
"node": "78896eb0e102174ce9278438a95e12543e4367a7", | ||||
"parents": [ | ||||
"8d7c456572acf3557e8ed8a07286b10c408bcec5" | ||||
], | ||||
Gregory Szorc
|
r24564 | "phase": "public", | ||
Gregory Szorc
|
r24563 | "tags": [ | ||
"tag1" | ||||
], | ||||
"user": "test" | ||||
} | ||||
Gregory Szorc
|
r24544 | |||
changeset/{revision} shows bookmarks | ||||
$ request json-rev/8d7c456572ac | ||||
200 Script output follows | ||||
Gregory Szorc
|
r24563 | { | ||
"bookmarks": [ | ||||
"bookmark1" | ||||
], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "modify da/foo", | ||||
"node": "8d7c456572acf3557e8ed8a07286b10c408bcec5", | ||||
"parents": [ | ||||
"f8bbb9024b10f93cdbb8d940337398291d40dea8" | ||||
], | ||||
Gregory Szorc
|
r24564 | "phase": "public", | ||
Gregory Szorc
|
r24563 | "tags": [], | ||
"user": "test" | ||||
} | ||||
Gregory Szorc
|
r24544 | |||
changeset/{revision} shows branches | ||||
$ request json-rev/6ab967a8ab34 | ||||
200 Script output follows | ||||
Gregory Szorc
|
r24563 | { | ||
"bookmarks": [], | ||||
"branch": "test-branch", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "create test branch", | ||||
"node": "6ab967a8ab3489227a83f80e920faa039a71819f", | ||||
"parents": [ | ||||
"06e557f3edf66faa1ccaba5dd8c203c21cc79f1e" | ||||
], | ||||
Gregory Szorc
|
r24564 | "phase": "draft", | ||
Gregory Szorc
|
r24563 | "tags": [], | ||
"user": "test" | ||||
} | ||||
Gregory Szorc
|
r24544 | |||
manifest/{revision}/{path} shows info about a directory at a revision | ||||
$ request json-manifest/06e557f3edf6/ | ||||
200 Script output follows | ||||
Gregory Szorc
|
r24589 | { | ||
"abspath": "/", | ||||
"bookmarks": [], | ||||
"directories": [ | ||||
{ | ||||
"abspath": "/da", | ||||
"basename": "da", | ||||
"emptydirs": "" | ||||
} | ||||
], | ||||
"files": [ | ||||
{ | ||||
"abspath": "foo", | ||||
"basename": "foo", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"flags": "", | ||||
"size": 4 | ||||
} | ||||
], | ||||
"node": "06e557f3edf66faa1ccaba5dd8c203c21cc79f1e", | ||||
"tags": [] | ||||
} | ||||
Gregory Szorc
|
r24544 | |||
tags/ shows tags info | ||||
$ request json-tags | ||||
200 Script output follows | ||||
Gregory Szorc
|
r24545 | { | ||
Gregory Szorc
|
r24563 | "node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7", | ||
Gregory Szorc
|
r24545 | "tags": [ | ||
{ | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"node": "f2890a05fea49bfaf9fb27ed5490894eba32da78", | ||||
"tag": "tag2" | ||||
}, | ||||
{ | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"node": "78896eb0e102174ce9278438a95e12543e4367a7", | ||||
"tag": "tag1" | ||||
} | ||||
] | ||||
} | ||||
Gregory Szorc
|
r24544 | |||
bookmarks/ shows bookmarks info | ||||
$ request json-bookmarks | ||||
200 Script output follows | ||||
Gregory Szorc
|
r24546 | { | ||
"bookmarks": [ | ||||
{ | ||||
r28711 | "bookmark": "bookmark2", | |||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"node": "ceed296fe500c3fac9541e31dad860cb49c89e45" | ||||
}, | ||||
{ | ||||
Gregory Szorc
|
r24546 | "bookmark": "bookmark1", | ||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"node": "8d7c456572acf3557e8ed8a07286b10c408bcec5" | ||||
} | ||||
], | ||||
Gregory Szorc
|
r24563 | "node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7" | ||
Gregory Szorc
|
r24546 | } | ||
Gregory Szorc
|
r24544 | |||
branches/ shows branches info | ||||
$ request json-branches | ||||
200 Script output follows | ||||
Gregory Szorc
|
r24547 | { | ||
"branches": [ | ||||
{ | ||||
Gregory Szorc
|
r24563 | "branch": "default", | ||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7", | ||||
"status": "open" | ||||
}, | ||||
{ | ||||
Gregory Szorc
|
r24547 | "branch": "test-branch", | ||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
Gregory Szorc
|
r24563 | "node": "ed66c30e87eb65337c05a4229efaa5f1d5285a90", | ||
"status": "inactive" | ||||
Gregory Szorc
|
r24547 | } | ||
] | ||||
} | ||||
Gregory Szorc
|
r24544 | |||
summary/ shows a summary of repository state | ||||
$ request json-summary | ||||
200 Script output follows | ||||
Laura Médioni
|
r29382 | { | ||
r29457 | "archives": [ | |||
{ | ||||
"extension": ".tar.bz2", | ||||
"node": "tip", | ||||
r29458 | "type": "bz2", | |||
"url": "http://*:$HGPORT/archive/tip.tar.bz2" (glob) | ||||
r29457 | } | |||
], | ||||
Laura Médioni
|
r29382 | "bookmarks": [ | ||
{ | ||||
"bookmark": "bookmark2", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"node": "ceed296fe500c3fac9541e31dad860cb49c89e45" | ||||
}, | ||||
{ | ||||
"bookmark": "bookmark1", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"node": "8d7c456572acf3557e8ed8a07286b10c408bcec5" | ||||
} | ||||
], | ||||
"branches": [ | ||||
{ | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7", | ||||
"status": "open" | ||||
}, | ||||
{ | ||||
"branch": "test-branch", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"node": "ed66c30e87eb65337c05a4229efaa5f1d5285a90", | ||||
"status": "inactive" | ||||
} | ||||
], | ||||
Gregory Szorc
|
r29471 | "labels": [], | ||
Laura Médioni
|
r29382 | "lastchange": [ | ||
0.0, | ||||
0 | ||||
], | ||||
"node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7", | ||||
"shortlog": [ | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "merge test-branch into default", | ||||
"node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7", | ||||
"parents": [ | ||||
"ceed296fe500c3fac9541e31dad860cb49c89e45", | ||||
"ed66c30e87eb65337c05a4229efaa5f1d5285a90" | ||||
], | ||||
"phase": "draft", | ||||
"tags": [ | ||||
"tip" | ||||
], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "test-branch", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "another commit in test-branch", | ||||
"node": "ed66c30e87eb65337c05a4229efaa5f1d5285a90", | ||||
"parents": [ | ||||
"6ab967a8ab3489227a83f80e920faa039a71819f" | ||||
], | ||||
"phase": "draft", | ||||
"tags": [], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "test-branch", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "create test branch", | ||||
"node": "6ab967a8ab3489227a83f80e920faa039a71819f", | ||||
"parents": [ | ||||
"06e557f3edf66faa1ccaba5dd8c203c21cc79f1e" | ||||
], | ||||
"phase": "draft", | ||||
"tags": [], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [ | ||||
"bookmark2" | ||||
], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "create tag2", | ||||
"node": "ceed296fe500c3fac9541e31dad860cb49c89e45", | ||||
"parents": [ | ||||
"f2890a05fea49bfaf9fb27ed5490894eba32da78" | ||||
], | ||||
"phase": "draft", | ||||
"tags": [], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "another commit to da/foo", | ||||
"node": "f2890a05fea49bfaf9fb27ed5490894eba32da78", | ||||
"parents": [ | ||||
"93a8ce14f89156426b7fa981af8042da53f03aa0" | ||||
], | ||||
"phase": "draft", | ||||
"tags": [ | ||||
"tag2" | ||||
], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "create tag", | ||||
"node": "93a8ce14f89156426b7fa981af8042da53f03aa0", | ||||
"parents": [ | ||||
"78896eb0e102174ce9278438a95e12543e4367a7" | ||||
], | ||||
"phase": "public", | ||||
"tags": [], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "move foo", | ||||
"node": "78896eb0e102174ce9278438a95e12543e4367a7", | ||||
"parents": [ | ||||
"8d7c456572acf3557e8ed8a07286b10c408bcec5" | ||||
], | ||||
"phase": "public", | ||||
"tags": [ | ||||
"tag1" | ||||
], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [ | ||||
"bookmark1" | ||||
], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "modify da/foo", | ||||
"node": "8d7c456572acf3557e8ed8a07286b10c408bcec5", | ||||
"parents": [ | ||||
"f8bbb9024b10f93cdbb8d940337398291d40dea8" | ||||
], | ||||
"phase": "public", | ||||
"tags": [], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "modify foo", | ||||
"node": "f8bbb9024b10f93cdbb8d940337398291d40dea8", | ||||
"parents": [ | ||||
"06e557f3edf66faa1ccaba5dd8c203c21cc79f1e" | ||||
], | ||||
"phase": "public", | ||||
"tags": [], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "initial", | ||||
"node": "06e557f3edf66faa1ccaba5dd8c203c21cc79f1e", | ||||
"parents": [], | ||||
"phase": "public", | ||||
"tags": [], | ||||
"user": "test" | ||||
} | ||||
], | ||||
"tags": [ | ||||
{ | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"node": "f2890a05fea49bfaf9fb27ed5490894eba32da78", | ||||
"tag": "tag2" | ||||
}, | ||||
{ | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"node": "78896eb0e102174ce9278438a95e12543e4367a7", | ||||
"tag": "tag1" | ||||
} | ||||
] | ||||
} | ||||
Gregory Szorc
|
r24544 | |||
Laura Médioni
|
r29383 | $ request json-changelog?rev=create | ||
200 Script output follows | ||||
{ | ||||
"entries": [ | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "test-branch", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "create test branch", | ||||
"node": "6ab967a8ab3489227a83f80e920faa039a71819f", | ||||
"parents": [ | ||||
"06e557f3edf66faa1ccaba5dd8c203c21cc79f1e" | ||||
], | ||||
"phase": "draft", | ||||
"tags": [], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [ | ||||
"bookmark2" | ||||
], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "create tag2", | ||||
"node": "ceed296fe500c3fac9541e31dad860cb49c89e45", | ||||
"parents": [ | ||||
"f2890a05fea49bfaf9fb27ed5490894eba32da78" | ||||
], | ||||
"phase": "draft", | ||||
"tags": [], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "create tag", | ||||
"node": "93a8ce14f89156426b7fa981af8042da53f03aa0", | ||||
"parents": [ | ||||
"78896eb0e102174ce9278438a95e12543e4367a7" | ||||
], | ||||
"phase": "public", | ||||
"tags": [], | ||||
"user": "test" | ||||
} | ||||
], | ||||
"node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7", | ||||
"query": "create" | ||||
} | ||||
Gregory Szorc
|
r24544 | filediff/{revision}/{path} shows changes to a file in a revision | ||
$ request json-diff/f8bbb9024b10/foo | ||||
200 Script output follows | ||||
Gregory Szorc
|
r24713 | { | ||
"author": "test", | ||||
"children": [], | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "modify foo", | ||||
"diff": [ | ||||
{ | ||||
"blockno": 1, | ||||
"lines": [ | ||||
{ | ||||
"l": "--- a/foo\tThu Jan 01 00:00:00 1970 +0000\n", | ||||
"n": 1, | ||||
"t": "-" | ||||
}, | ||||
{ | ||||
"l": "+++ b/foo\tThu Jan 01 00:00:00 1970 +0000\n", | ||||
"n": 2, | ||||
"t": "+" | ||||
}, | ||||
{ | ||||
"l": "@@ -1,1 +1,1 @@\n", | ||||
"n": 3, | ||||
"t": "@" | ||||
}, | ||||
{ | ||||
"l": "-foo\n", | ||||
"n": 4, | ||||
"t": "-" | ||||
}, | ||||
{ | ||||
"l": "+bar\n", | ||||
"n": 5, | ||||
"t": "+" | ||||
} | ||||
] | ||||
} | ||||
], | ||||
"node": "f8bbb9024b10f93cdbb8d940337398291d40dea8", | ||||
"parents": [ | ||||
"06e557f3edf66faa1ccaba5dd8c203c21cc79f1e" | ||||
], | ||||
"path": "foo" | ||||
} | ||||
Gregory Szorc
|
r24544 | |||
comparison/{revision}/{path} shows information about before and after for a file | ||||
$ request json-comparison/f8bbb9024b10/foo | ||||
200 Script output follows | ||||
Gregory Szorc
|
r24714 | { | ||
"author": "test", | ||||
"children": [], | ||||
"comparison": [ | ||||
{ | ||||
"lines": [ | ||||
{ | ||||
"ll": "foo", | ||||
"ln": 1, | ||||
"rl": "bar", | ||||
"rn": 1, | ||||
"t": "replace" | ||||
} | ||||
] | ||||
} | ||||
], | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "modify foo", | ||||
"leftnode": "06e557f3edf66faa1ccaba5dd8c203c21cc79f1e", | ||||
"node": "f8bbb9024b10f93cdbb8d940337398291d40dea8", | ||||
"parents": [ | ||||
"06e557f3edf66faa1ccaba5dd8c203c21cc79f1e" | ||||
], | ||||
"path": "foo", | ||||
"rightnode": "f8bbb9024b10f93cdbb8d940337398291d40dea8" | ||||
} | ||||
Gregory Szorc
|
r24544 | |||
annotate/{revision}/{path} shows annotations for each line | ||||
$ request json-annotate/f8bbb9024b10/foo | ||||
200 Script output follows | ||||
Gregory Szorc
|
r24715 | { | ||
"abspath": "foo", | ||||
"annotate": [ | ||||
{ | ||||
"abspath": "foo", | ||||
"author": "test", | ||||
"desc": "modify foo", | ||||
"line": "bar\n", | ||||
"lineno": 1, | ||||
"node": "f8bbb9024b10f93cdbb8d940337398291d40dea8", | ||||
"revdate": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"targetline": 1 | ||||
} | ||||
], | ||||
"author": "test", | ||||
"children": [], | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "modify foo", | ||||
"node": "f8bbb9024b10f93cdbb8d940337398291d40dea8", | ||||
"parents": [ | ||||
"06e557f3edf66faa1ccaba5dd8c203c21cc79f1e" | ||||
], | ||||
"permissions": "" | ||||
} | ||||
Gregory Szorc
|
r24544 | |||
filelog/{revision}/{path} shows history of a single file | ||||
$ request json-filelog/f8bbb9024b10/foo | ||||
200 Script output follows | ||||
Laura Médioni
|
r29380 | { | ||
"entries": [ | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "modify foo", | ||||
"node": "f8bbb9024b10f93cdbb8d940337398291d40dea8", | ||||
"parents": [ | ||||
"06e557f3edf66faa1ccaba5dd8c203c21cc79f1e" | ||||
], | ||||
"phase": "public", | ||||
"tags": [], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "initial", | ||||
"node": "06e557f3edf66faa1ccaba5dd8c203c21cc79f1e", | ||||
"parents": [], | ||||
"phase": "public", | ||||
"tags": [], | ||||
"user": "test" | ||||
} | ||||
] | ||||
} | ||||
$ request json-filelog/cc725e08502a/da/foo | ||||
200 Script output follows | ||||
{ | ||||
"entries": [ | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "another commit to da/foo", | ||||
"node": "f2890a05fea49bfaf9fb27ed5490894eba32da78", | ||||
"parents": [ | ||||
"8d7c456572acf3557e8ed8a07286b10c408bcec5" | ||||
], | ||||
"phase": "draft", | ||||
"tags": [ | ||||
"tag2" | ||||
], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [ | ||||
"bookmark1" | ||||
], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "modify da/foo", | ||||
"node": "8d7c456572acf3557e8ed8a07286b10c408bcec5", | ||||
"parents": [ | ||||
"06e557f3edf66faa1ccaba5dd8c203c21cc79f1e" | ||||
], | ||||
"phase": "public", | ||||
"tags": [], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "default", | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "initial", | ||||
"node": "06e557f3edf66faa1ccaba5dd8c203c21cc79f1e", | ||||
"parents": [], | ||||
"phase": "public", | ||||
"tags": [], | ||||
"user": "test" | ||||
} | ||||
] | ||||
} | ||||
Gregory Szorc
|
r24544 | |||
(archive/ doesn't use templating, so ignore it) | ||||
(static/ doesn't use templating, so ignore it) | ||||
graph/ shows information that can be used to render a graph of the DAG | ||||
$ request json-graph | ||||
200 Script output follows | ||||
r35390 | { | |||
"changeset_count": 10, | ||||
"changesets": [ | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "default", | ||||
"col": 0, | ||||
"color": 1, | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "merge test-branch into default", | ||||
"edges": [ | ||||
{ | ||||
"bcolor": "", | ||||
"col": 0, | ||||
"color": 1, | ||||
"nextcol": 0, | ||||
"width": -1 | ||||
}, | ||||
{ | ||||
"bcolor": "", | ||||
"col": 0, | ||||
"color": 1, | ||||
"nextcol": 1, | ||||
"width": -1 | ||||
} | ||||
], | ||||
"node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7", | ||||
"parents": [ | ||||
"ceed296fe500c3fac9541e31dad860cb49c89e45", | ||||
"ed66c30e87eb65337c05a4229efaa5f1d5285a90" | ||||
], | ||||
"phase": "draft", | ||||
"row": 0, | ||||
"tags": [ | ||||
"tip" | ||||
], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "test-branch", | ||||
"col": 1, | ||||
"color": 2, | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "another commit in test-branch", | ||||
"edges": [ | ||||
{ | ||||
"bcolor": "", | ||||
"col": 0, | ||||
"color": 1, | ||||
"nextcol": 0, | ||||
"width": -1 | ||||
}, | ||||
{ | ||||
"bcolor": "", | ||||
"col": 1, | ||||
"color": 2, | ||||
"nextcol": 1, | ||||
"width": -1 | ||||
} | ||||
], | ||||
"node": "ed66c30e87eb65337c05a4229efaa5f1d5285a90", | ||||
"parents": [ | ||||
"6ab967a8ab3489227a83f80e920faa039a71819f" | ||||
], | ||||
"phase": "draft", | ||||
"row": 1, | ||||
"tags": [], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "test-branch", | ||||
"col": 1, | ||||
"color": 2, | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "create test branch", | ||||
"edges": [ | ||||
{ | ||||
"bcolor": "", | ||||
"col": 0, | ||||
"color": 1, | ||||
"nextcol": 0, | ||||
"width": -1 | ||||
}, | ||||
{ | ||||
"bcolor": "", | ||||
"col": 1, | ||||
"color": 2, | ||||
"nextcol": 1, | ||||
"width": -1 | ||||
} | ||||
], | ||||
"node": "6ab967a8ab3489227a83f80e920faa039a71819f", | ||||
"parents": [ | ||||
"06e557f3edf66faa1ccaba5dd8c203c21cc79f1e" | ||||
], | ||||
"phase": "draft", | ||||
"row": 2, | ||||
"tags": [], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [ | ||||
"bookmark2" | ||||
], | ||||
"branch": "default", | ||||
"col": 0, | ||||
"color": 1, | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "create tag2", | ||||
"edges": [ | ||||
{ | ||||
"bcolor": "", | ||||
"col": 0, | ||||
"color": 1, | ||||
"nextcol": 0, | ||||
"width": -1 | ||||
}, | ||||
{ | ||||
"bcolor": "", | ||||
"col": 1, | ||||
"color": 2, | ||||
"nextcol": 1, | ||||
"width": -1 | ||||
} | ||||
], | ||||
"node": "ceed296fe500c3fac9541e31dad860cb49c89e45", | ||||
"parents": [ | ||||
"f2890a05fea49bfaf9fb27ed5490894eba32da78" | ||||
], | ||||
"phase": "draft", | ||||
"row": 3, | ||||
"tags": [], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "default", | ||||
"col": 0, | ||||
"color": 1, | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "another commit to da/foo", | ||||
"edges": [ | ||||
{ | ||||
"bcolor": "", | ||||
"col": 0, | ||||
"color": 1, | ||||
"nextcol": 0, | ||||
"width": -1 | ||||
}, | ||||
{ | ||||
"bcolor": "", | ||||
"col": 1, | ||||
"color": 2, | ||||
"nextcol": 1, | ||||
"width": -1 | ||||
} | ||||
], | ||||
"node": "f2890a05fea49bfaf9fb27ed5490894eba32da78", | ||||
"parents": [ | ||||
"93a8ce14f89156426b7fa981af8042da53f03aa0" | ||||
], | ||||
"phase": "draft", | ||||
"row": 4, | ||||
"tags": [ | ||||
"tag2" | ||||
], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "default", | ||||
"col": 0, | ||||
"color": 1, | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "create tag", | ||||
"edges": [ | ||||
{ | ||||
"bcolor": "", | ||||
"col": 0, | ||||
"color": 1, | ||||
"nextcol": 0, | ||||
"width": -1 | ||||
}, | ||||
{ | ||||
"bcolor": "", | ||||
"col": 1, | ||||
"color": 2, | ||||
"nextcol": 1, | ||||
"width": -1 | ||||
} | ||||
], | ||||
"node": "93a8ce14f89156426b7fa981af8042da53f03aa0", | ||||
"parents": [ | ||||
"78896eb0e102174ce9278438a95e12543e4367a7" | ||||
], | ||||
"phase": "public", | ||||
"row": 5, | ||||
"tags": [], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "default", | ||||
"col": 0, | ||||
"color": 1, | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "move foo", | ||||
"edges": [ | ||||
{ | ||||
"bcolor": "", | ||||
"col": 0, | ||||
"color": 1, | ||||
"nextcol": 0, | ||||
"width": -1 | ||||
}, | ||||
{ | ||||
"bcolor": "", | ||||
"col": 1, | ||||
"color": 2, | ||||
"nextcol": 1, | ||||
"width": -1 | ||||
} | ||||
], | ||||
"node": "78896eb0e102174ce9278438a95e12543e4367a7", | ||||
"parents": [ | ||||
"8d7c456572acf3557e8ed8a07286b10c408bcec5" | ||||
], | ||||
"phase": "public", | ||||
"row": 6, | ||||
"tags": [ | ||||
"tag1" | ||||
], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [ | ||||
"bookmark1" | ||||
], | ||||
"branch": "default", | ||||
"col": 0, | ||||
"color": 1, | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "modify da/foo", | ||||
"edges": [ | ||||
{ | ||||
"bcolor": "", | ||||
"col": 0, | ||||
"color": 1, | ||||
"nextcol": 0, | ||||
"width": -1 | ||||
}, | ||||
{ | ||||
"bcolor": "", | ||||
"col": 1, | ||||
"color": 2, | ||||
"nextcol": 1, | ||||
"width": -1 | ||||
} | ||||
], | ||||
"node": "8d7c456572acf3557e8ed8a07286b10c408bcec5", | ||||
"parents": [ | ||||
"f8bbb9024b10f93cdbb8d940337398291d40dea8" | ||||
], | ||||
"phase": "public", | ||||
"row": 7, | ||||
"tags": [], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "default", | ||||
"col": 0, | ||||
"color": 1, | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "modify foo", | ||||
"edges": [ | ||||
{ | ||||
"bcolor": "", | ||||
"col": 0, | ||||
"color": 1, | ||||
"nextcol": 0, | ||||
"width": -1 | ||||
}, | ||||
{ | ||||
"bcolor": "", | ||||
"col": 1, | ||||
"color": 2, | ||||
"nextcol": 0, | ||||
"width": -1 | ||||
} | ||||
], | ||||
"node": "f8bbb9024b10f93cdbb8d940337398291d40dea8", | ||||
"parents": [ | ||||
"06e557f3edf66faa1ccaba5dd8c203c21cc79f1e" | ||||
], | ||||
"phase": "public", | ||||
"row": 8, | ||||
"tags": [], | ||||
"user": "test" | ||||
}, | ||||
{ | ||||
"bookmarks": [], | ||||
"branch": "default", | ||||
"col": 0, | ||||
"color": 2, | ||||
"date": [ | ||||
0.0, | ||||
0 | ||||
], | ||||
"desc": "initial", | ||||
"edges": [], | ||||
"node": "06e557f3edf66faa1ccaba5dd8c203c21cc79f1e", | ||||
"parents": [], | ||||
"phase": "public", | ||||
"row": 9, | ||||
"tags": [], | ||||
"user": "test" | ||||
} | ||||
], | ||||
"node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7" | ||||
} | ||||
Gregory Szorc
|
r24544 | |||
help/ shows help topics | ||||
$ request json-help | ||||
200 Script output follows | ||||
Gregory Szorc
|
r24590 | { | ||
"earlycommands": [ | ||||
{ | ||||
"summary": "add the specified files on the next commit", | ||||
"topic": "add" | ||||
}, | ||||
{ | ||||
"summary": "show changeset information by line for each file", | ||||
"topic": "annotate" | ||||
}, | ||||
{ | ||||
"summary": "make a copy of an existing repository", | ||||
"topic": "clone" | ||||
}, | ||||
{ | ||||
"summary": "commit the specified files or all outstanding changes", | ||||
"topic": "commit" | ||||
}, | ||||
{ | ||||
"summary": "diff repository (or selected files)", | ||||
"topic": "diff" | ||||
}, | ||||
{ | ||||
"summary": "dump the header and diffs for one or more changesets", | ||||
"topic": "export" | ||||
}, | ||||
{ | ||||
"summary": "forget the specified files on the next commit", | ||||
"topic": "forget" | ||||
}, | ||||
{ | ||||
"summary": "create a new repository in the given directory", | ||||
"topic": "init" | ||||
}, | ||||
{ | ||||
"summary": "show revision history of entire repository or files", | ||||
"topic": "log" | ||||
}, | ||||
{ | ||||
"summary": "merge another revision into working directory", | ||||
"topic": "merge" | ||||
}, | ||||
{ | ||||
"summary": "pull changes from the specified source", | ||||
"topic": "pull" | ||||
}, | ||||
{ | ||||
"summary": "push changes to the specified destination", | ||||
"topic": "push" | ||||
}, | ||||
{ | ||||
"summary": "remove the specified files on the next commit", | ||||
"topic": "remove" | ||||
}, | ||||
{ | ||||
"summary": "start stand-alone webserver", | ||||
"topic": "serve" | ||||
}, | ||||
{ | ||||
"summary": "show changed files in the working directory", | ||||
"topic": "status" | ||||
}, | ||||
{ | ||||
"summary": "summarize working directory state", | ||||
"topic": "summary" | ||||
}, | ||||
{ | ||||
"summary": "update working directory (or switch revisions)", | ||||
"topic": "update" | ||||
} | ||||
], | ||||
"othercommands": [ | ||||
{ | ||||
"summary": "add all new files, delete all missing files", | ||||
"topic": "addremove" | ||||
}, | ||||
{ | ||||
"summary": "create an unversioned archive of a repository revision", | ||||
"topic": "archive" | ||||
}, | ||||
{ | ||||
"summary": "reverse effect of earlier changeset", | ||||
"topic": "backout" | ||||
}, | ||||
{ | ||||
"summary": "subdivision search of changesets", | ||||
"topic": "bisect" | ||||
}, | ||||
{ | ||||
"summary": "create a new bookmark or list existing bookmarks", | ||||
"topic": "bookmarks" | ||||
}, | ||||
{ | ||||
"summary": "set or show the current branch name", | ||||
"topic": "branch" | ||||
}, | ||||
{ | ||||
"summary": "list repository named branches", | ||||
"topic": "branches" | ||||
}, | ||||
{ | ||||
Gregory Szorc
|
r31794 | "summary": "create a bundle file", | ||
Gregory Szorc
|
r24590 | "topic": "bundle" | ||
}, | ||||
{ | ||||
"summary": "output the current or given revision of files", | ||||
"topic": "cat" | ||||
}, | ||||
{ | ||||
"summary": "show combined config settings from all hgrc files", | ||||
"topic": "config" | ||||
}, | ||||
{ | ||||
"summary": "mark files as copied for the next commit", | ||||
"topic": "copy" | ||||
}, | ||||
{ | ||||
"summary": "list tracked files", | ||||
"topic": "files" | ||||
}, | ||||
{ | ||||
"summary": "copy changes from other branches onto the current branch", | ||||
"topic": "graft" | ||||
}, | ||||
{ | ||||
Kevin Bullock
|
r30009 | "summary": "search revision history for a pattern in specified files", | ||
Gregory Szorc
|
r24590 | "topic": "grep" | ||
}, | ||||
{ | ||||
"summary": "show branch heads", | ||||
"topic": "heads" | ||||
}, | ||||
{ | ||||
"summary": "show help for a given topic or a help overview", | ||||
"topic": "help" | ||||
}, | ||||
{ | ||||
"summary": "identify the working directory or specified revision", | ||||
"topic": "identify" | ||||
}, | ||||
{ | ||||
"summary": "import an ordered set of patches", | ||||
"topic": "import" | ||||
}, | ||||
{ | ||||
"summary": "show new changesets found in source", | ||||
"topic": "incoming" | ||||
}, | ||||
{ | ||||
"summary": "output the current or given revision of the project manifest", | ||||
"topic": "manifest" | ||||
}, | ||||
{ | ||||
"summary": "show changesets not found in the destination", | ||||
"topic": "outgoing" | ||||
}, | ||||
{ | ||||
"summary": "show aliases for remote repositories", | ||||
"topic": "paths" | ||||
}, | ||||
{ | ||||
"summary": "set or show the current phase name", | ||||
"topic": "phase" | ||||
}, | ||||
{ | ||||
"summary": "roll back an interrupted transaction", | ||||
"topic": "recover" | ||||
}, | ||||
{ | ||||
"summary": "rename files; equivalent of copy + remove", | ||||
"topic": "rename" | ||||
}, | ||||
{ | ||||
"summary": "redo merges or set/view the merge status of files", | ||||
"topic": "resolve" | ||||
}, | ||||
{ | ||||
"summary": "restore files to their checkout state", | ||||
"topic": "revert" | ||||
}, | ||||
{ | ||||
"summary": "print the root (top) of the current working directory", | ||||
"topic": "root" | ||||
}, | ||||
{ | ||||
Navaneeth Suresh
|
r42744 | "summary": "save and set aside changes from the working directory", | ||
"topic": "shelve" | ||||
}, | ||||
{ | ||||
Gregory Szorc
|
r24590 | "summary": "add one or more tags for the current or given revision", | ||
"topic": "tag" | ||||
}, | ||||
{ | ||||
"summary": "list repository tags", | ||||
"topic": "tags" | ||||
}, | ||||
{ | ||||
Gregory Szorc
|
r31795 | "summary": "apply one or more bundle files", | ||
Gregory Szorc
|
r24590 | "topic": "unbundle" | ||
}, | ||||
{ | ||||
Navaneeth Suresh
|
r42744 | "summary": "restore a shelved change to the working directory", | ||
"topic": "unshelve" | ||||
}, | ||||
{ | ||||
Gregory Szorc
|
r24590 | "summary": "verify the integrity of the repository", | ||
"topic": "verify" | ||||
}, | ||||
{ | ||||
"summary": "output version and copyright information", | ||||
"topic": "version" | ||||
} | ||||
], | ||||
"topics": [ | ||||
{ | ||||
Gregory Szorc
|
r31793 | "summary": "Bundle File Formats", | ||
"topic": "bundlespec" | ||||
}, | ||||
{ | ||||
Pierre-Yves David
|
r31129 | "summary": "Colorizing Outputs", | ||
"topic": "color" | ||||
}, | ||||
{ | ||||
Gregory Szorc
|
r24590 | "summary": "Configuration Files", | ||
"topic": "config" | ||||
}, | ||||
{ | ||||
"summary": "Date Formats", | ||||
"topic": "dates" | ||||
}, | ||||
{ | ||||
David Demelier
|
r38019 | "summary": "Deprecated Features", | ||
"topic": "deprecated" | ||||
}, | ||||
{ | ||||
Gregory Szorc
|
r24590 | "summary": "Diff Formats", | ||
"topic": "diffs" | ||||
}, | ||||
{ | ||||
"summary": "Environment Variables", | ||||
"topic": "environment" | ||||
}, | ||||
{ | ||||
"summary": "Using Additional Features", | ||||
"topic": "extensions" | ||||
}, | ||||
{ | ||||
"summary": "Specifying File Sets", | ||||
"topic": "filesets" | ||||
}, | ||||
{ | ||||
Rodrigo Damazio Bovendorp
|
r35036 | "summary": "Command-line flags", | ||
"topic": "flags" | ||||
}, | ||||
{ | ||||
Gregory Szorc
|
r24590 | "summary": "Glossary", | ||
"topic": "glossary" | ||||
}, | ||||
{ | ||||
"summary": "Syntax for Mercurial Ignore Files", | ||||
"topic": "hgignore" | ||||
}, | ||||
{ | ||||
"summary": "Configuring hgweb", | ||||
"topic": "hgweb" | ||||
}, | ||||
{ | ||||
Gregory Szorc
|
r27376 | "summary": "Technical implementation topics", | ||
"topic": "internals" | ||||
}, | ||||
{ | ||||
Gregory Szorc
|
r24590 | "summary": "Merge Tools", | ||
"topic": "merge-tools" | ||||
}, | ||||
{ | ||||
Augie Fackler
|
r31061 | "summary": "Pager Support", | ||
"topic": "pager" | ||||
}, | ||||
{ | ||||
Gregory Szorc
|
r24590 | "summary": "File Name Patterns", | ||
"topic": "patterns" | ||||
}, | ||||
{ | ||||
"summary": "Working with Phases", | ||||
"topic": "phases" | ||||
}, | ||||
{ | ||||
Martin von Zweigbergk
|
r30769 | "summary": "Specifying Revisions", | ||
Gregory Szorc
|
r24590 | "topic": "revisions" | ||
}, | ||||
{ | ||||
Gregory Szorc
|
r25881 | "summary": "Using Mercurial from scripts and automation", | ||
"topic": "scripting" | ||||
}, | ||||
{ | ||||
Gregory Szorc
|
r24590 | "summary": "Subrepositories", | ||
"topic": "subrepos" | ||||
}, | ||||
{ | ||||
"summary": "Template Usage", | ||||
"topic": "templating" | ||||
}, | ||||
{ | ||||
"summary": "URL Paths", | ||||
"topic": "urls" | ||||
} | ||||
] | ||||
} | ||||
Gregory Szorc
|
r24544 | |||
help/{topic} shows an individual help topic | ||||
$ request json-help/phases | ||||
200 Script output follows | ||||
Gregory Szorc
|
r24591 | { | ||
"rawdoc": "Working with Phases\n*", (glob) | ||||
"topic": "phases" | ||||
} | ||||
r35149 | ||||
Yuya Nishihara
|
r39505 | Error page shouldn't crash | ||
$ request json-changeset/deadbeef | ||||
404 Not Found | ||||
{ | ||||
"error": "unknown revision 'deadbeef'" | ||||
} | ||||
[1] | ||||
r35149 | Commit message with Japanese Kanji 'Noh', which ends with '\x5c' | |||
$ echo foo >> da/foo | ||||
Gregory Szorc
|
r41602 | >>> open('msg', 'wb').write(b'\x94\x5c\x0a') and None | ||
$ HGENCODING=cp932 hg ci -l msg | ||||
r35149 | ||||
Commit message with null character | ||||
$ echo foo >> da/foo | ||||
Gregory Szorc
|
r40193 | >>> open('msg', 'wb').write(b'commit with null character: \0\n') and None | ||
r35149 | $ hg ci -l msg | |||
$ rm msg | ||||
Stop and restart with HGENCODING=cp932 | ||||
$ killdaemons.py | ||||
$ HGENCODING=cp932 hg serve -p $HGPORT -d --pid-file=hg.pid \ | ||||
> -A access.log -E error.log | ||||
$ cat hg.pid >> $DAEMON_PIDS | ||||
Test json escape of multibyte characters | ||||
$ request json-filelog/tip/da/foo?revcount=2 | grep '"desc":' | ||||
"desc": "commit with null character: \u0000", | ||||
"desc": "\u80fd", | ||||