##// END OF EJS Templates
json: implement {manifest} template...
Gregory Szorc -
r24589:30a737ae default
parent child Browse files
Show More
@@ -1,69 +1,89 b''
1 mimetype = 'application/json'
1 mimetype = 'application/json'
2 filerevision = '"not yet implemented"'
2 filerevision = '"not yet implemented"'
3 search = '"not yet implemented"'
3 search = '"not yet implemented"'
4 # changelog and shortlog are the same web API but with different
4 # changelog and shortlog are the same web API but with different
5 # number of entries.
5 # number of entries.
6 changelog = changelist.tmpl
6 changelog = changelist.tmpl
7 shortlog = changelist.tmpl
7 shortlog = changelist.tmpl
8 changelistentry = '\{
8 changelistentry = '\{
9 "node": {node|json},
9 "node": {node|json},
10 "date": {date|json},
10 "date": {date|json},
11 "desc": {desc|json},
11 "desc": {desc|json},
12 "bookmarks": [{join(bookmarks%changelistentryname, ", ")}],
12 "bookmarks": [{join(bookmarks%changelistentryname, ", ")}],
13 "tags": [{join(tags%changelistentryname, ", ")}],
13 "tags": [{join(tags%changelistentryname, ", ")}],
14 "user": {author|json}
14 "user": {author|json}
15 }'
15 }'
16 changelistentryname = '{name|json}'
16 changelistentryname = '{name|json}'
17 changeset = '\{
17 changeset = '\{
18 "node": {node|json},
18 "node": {node|json},
19 "date": {date|json},
19 "date": {date|json},
20 "desc": {desc|json},
20 "desc": {desc|json},
21 "branch": {if(branch, branch%changesetbranch, "default"|json)},
21 "branch": {if(branch, branch%changesetbranch, "default"|json)},
22 "bookmarks": [{join(changesetbookmark, ", ")}],
22 "bookmarks": [{join(changesetbookmark, ", ")}],
23 "tags": [{join(changesettag, ", ")}],
23 "tags": [{join(changesettag, ", ")}],
24 "user": {author|json},
24 "user": {author|json},
25 "parents": [{join(parent%changesetparent, ", ")}],
25 "parents": [{join(parent%changesetparent, ", ")}],
26 "phase": {phase|json}
26 "phase": {phase|json}
27 }'
27 }'
28 changesetbranch = '{name|json}'
28 changesetbranch = '{name|json}'
29 changesetbookmark = '{bookmark|json}'
29 changesetbookmark = '{bookmark|json}'
30 changesettag = '{tag|json}'
30 changesettag = '{tag|json}'
31 changesetparent = '{node|json}'
31 changesetparent = '{node|json}'
32 manifest = '"not yet implemented"'
32 manifest = '\{
33 "node": {node|json},
34 "abspath": {path|json},
35 "directories": [{join(dentries%direntry, ", ")}],
36 "files": [{join(fentries%fileentry, ", ")}],
37 "bookmarks": [{join(bookmarks%name, ", ")}],
38 "tags": [{join(tags%name, ", ")}]
39 }'
40 name = '{name|json}'
41 direntry = '\{
42 "abspath": {path|json},
43 "basename": {basename|json},
44 "emptydirs": {emptydirs|json}
45 }'
46 fileentry = '\{
47 "abspath": {file|json},
48 "basename": {basename|json},
49 "date": {date|json},
50 "size": {size|json},
51 "flags": {permissions|json}
52 }'
33 tags = '\{
53 tags = '\{
34 "node": {node|json},
54 "node": {node|json},
35 "tags": [{join(entriesnotip%tagentry, ", ")}]
55 "tags": [{join(entriesnotip%tagentry, ", ")}]
36 }'
56 }'
37 tagentry = '\{
57 tagentry = '\{
38 "tag": {tag|json},
58 "tag": {tag|json},
39 "node": {node|json},
59 "node": {node|json},
40 "date": {date|json}
60 "date": {date|json}
41 }'
61 }'
42 bookmarks = '\{
62 bookmarks = '\{
43 "node": {node|json},
63 "node": {node|json},
44 "bookmarks": [{join(entries%bookmarkentry, ", ")}]
64 "bookmarks": [{join(entries%bookmarkentry, ", ")}]
45 }'
65 }'
46 bookmarkentry = '\{
66 bookmarkentry = '\{
47 "bookmark": {bookmark|json},
67 "bookmark": {bookmark|json},
48 "node": {node|json},
68 "node": {node|json},
49 "date": {date|json}
69 "date": {date|json}
50 }'
70 }'
51 branches = '\{
71 branches = '\{
52 "branches": [{join(entries%branchentry, ", ")}]
72 "branches": [{join(entries%branchentry, ", ")}]
53 }'
73 }'
54 branchentry = '\{
74 branchentry = '\{
55 "branch": {branch|json},
75 "branch": {branch|json},
56 "node": {node|json},
76 "node": {node|json},
57 "date": {date|json},
77 "date": {date|json},
58 "status": {status|json}
78 "status": {status|json}
59 }'
79 }'
60 summary = '"not yet implemented"'
80 summary = '"not yet implemented"'
61 filediff = '"not yet implemented"'
81 filediff = '"not yet implemented"'
62 filecomparison = '"not yet implemented"'
82 filecomparison = '"not yet implemented"'
63 fileannotate = '"not yet implemented"'
83 fileannotate = '"not yet implemented"'
64 filelog = '"not yet implemented"'
84 filelog = '"not yet implemented"'
65 graph = '"not yet implemented"'
85 graph = '"not yet implemented"'
66 helptopics = '"not yet implemented"'
86 helptopics = '"not yet implemented"'
67 help = '"not yet implemented"'
87 help = '"not yet implemented"'
68 filenodelink = ''
88 filenodelink = ''
69 filenolink = ''
89 filenolink = ''
@@ -1,667 +1,727 b''
1 #require json
1 #require json
2 #require serve
2 #require serve
3
3
4 $ request() {
4 $ request() {
5 > $TESTDIR/get-with-headers.py --json localhost:$HGPORT "$1"
5 > $TESTDIR/get-with-headers.py --json localhost:$HGPORT "$1"
6 > }
6 > }
7
7
8 $ hg init test
8 $ hg init test
9 $ cd test
9 $ cd test
10 $ mkdir da
10 $ mkdir da
11 $ echo foo > da/foo
11 $ echo foo > da/foo
12 $ echo foo > foo
12 $ echo foo > foo
13 $ hg -q ci -A -m initial
13 $ hg -q ci -A -m initial
14 $ echo bar > foo
14 $ echo bar > foo
15 $ hg ci -m 'modify foo'
15 $ hg ci -m 'modify foo'
16 $ echo bar > da/foo
16 $ echo bar > da/foo
17 $ hg ci -m 'modify da/foo'
17 $ hg ci -m 'modify da/foo'
18 $ hg bookmark bookmark1
18 $ hg bookmark bookmark1
19 $ hg up default
19 $ hg up default
20 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
20 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
21 (leaving bookmark bookmark1)
21 (leaving bookmark bookmark1)
22 $ hg mv foo foo-new
22 $ hg mv foo foo-new
23 $ hg commit -m 'move foo'
23 $ hg commit -m 'move foo'
24 $ hg tag -m 'create tag' tag1
24 $ hg tag -m 'create tag' tag1
25 $ hg phase --public -r .
25 $ hg phase --public -r .
26 $ echo baz > da/foo
26 $ echo baz > da/foo
27 $ hg commit -m 'another commit to da/foo'
27 $ hg commit -m 'another commit to da/foo'
28 $ hg tag -m 'create tag2' tag2
28 $ hg tag -m 'create tag2' tag2
29 $ hg bookmark bookmark2
29 $ hg bookmark bookmark2
30 $ hg -q up -r 0
30 $ hg -q up -r 0
31 $ hg -q branch test-branch
31 $ hg -q branch test-branch
32 $ echo branch > foo
32 $ echo branch > foo
33 $ hg commit -m 'create test branch'
33 $ hg commit -m 'create test branch'
34 $ echo branch_commit_2 > foo
34 $ echo branch_commit_2 > foo
35 $ hg commit -m 'another commit in test-branch'
35 $ hg commit -m 'another commit in test-branch'
36 $ hg -q up default
36 $ hg -q up default
37 $ hg merge --tool :local test-branch
37 $ hg merge --tool :local test-branch
38 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
38 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
39 (branch merge, don't forget to commit)
39 (branch merge, don't forget to commit)
40 $ hg commit -m 'merge test-branch into default'
40 $ hg commit -m 'merge test-branch into default'
41
41
42 $ hg log -G
42 $ hg log -G
43 @ changeset: 9:cc725e08502a
43 @ changeset: 9:cc725e08502a
44 |\ tag: tip
44 |\ tag: tip
45 | | parent: 6:ceed296fe500
45 | | parent: 6:ceed296fe500
46 | | parent: 8:ed66c30e87eb
46 | | parent: 8:ed66c30e87eb
47 | | user: test
47 | | user: test
48 | | date: Thu Jan 01 00:00:00 1970 +0000
48 | | date: Thu Jan 01 00:00:00 1970 +0000
49 | | summary: merge test-branch into default
49 | | summary: merge test-branch into default
50 | |
50 | |
51 | o changeset: 8:ed66c30e87eb
51 | o changeset: 8:ed66c30e87eb
52 | | branch: test-branch
52 | | branch: test-branch
53 | | user: test
53 | | user: test
54 | | date: Thu Jan 01 00:00:00 1970 +0000
54 | | date: Thu Jan 01 00:00:00 1970 +0000
55 | | summary: another commit in test-branch
55 | | summary: another commit in test-branch
56 | |
56 | |
57 | o changeset: 7:6ab967a8ab34
57 | o changeset: 7:6ab967a8ab34
58 | | branch: test-branch
58 | | branch: test-branch
59 | | parent: 0:06e557f3edf6
59 | | parent: 0:06e557f3edf6
60 | | user: test
60 | | user: test
61 | | date: Thu Jan 01 00:00:00 1970 +0000
61 | | date: Thu Jan 01 00:00:00 1970 +0000
62 | | summary: create test branch
62 | | summary: create test branch
63 | |
63 | |
64 o | changeset: 6:ceed296fe500
64 o | changeset: 6:ceed296fe500
65 | | bookmark: bookmark2
65 | | bookmark: bookmark2
66 | | user: test
66 | | user: test
67 | | date: Thu Jan 01 00:00:00 1970 +0000
67 | | date: Thu Jan 01 00:00:00 1970 +0000
68 | | summary: create tag2
68 | | summary: create tag2
69 | |
69 | |
70 o | changeset: 5:f2890a05fea4
70 o | changeset: 5:f2890a05fea4
71 | | tag: tag2
71 | | tag: tag2
72 | | user: test
72 | | user: test
73 | | date: Thu Jan 01 00:00:00 1970 +0000
73 | | date: Thu Jan 01 00:00:00 1970 +0000
74 | | summary: another commit to da/foo
74 | | summary: another commit to da/foo
75 | |
75 | |
76 o | changeset: 4:93a8ce14f891
76 o | changeset: 4:93a8ce14f891
77 | | user: test
77 | | user: test
78 | | date: Thu Jan 01 00:00:00 1970 +0000
78 | | date: Thu Jan 01 00:00:00 1970 +0000
79 | | summary: create tag
79 | | summary: create tag
80 | |
80 | |
81 o | changeset: 3:78896eb0e102
81 o | changeset: 3:78896eb0e102
82 | | tag: tag1
82 | | tag: tag1
83 | | user: test
83 | | user: test
84 | | date: Thu Jan 01 00:00:00 1970 +0000
84 | | date: Thu Jan 01 00:00:00 1970 +0000
85 | | summary: move foo
85 | | summary: move foo
86 | |
86 | |
87 o | changeset: 2:8d7c456572ac
87 o | changeset: 2:8d7c456572ac
88 | | bookmark: bookmark1
88 | | bookmark: bookmark1
89 | | user: test
89 | | user: test
90 | | date: Thu Jan 01 00:00:00 1970 +0000
90 | | date: Thu Jan 01 00:00:00 1970 +0000
91 | | summary: modify da/foo
91 | | summary: modify da/foo
92 | |
92 | |
93 o | changeset: 1:f8bbb9024b10
93 o | changeset: 1:f8bbb9024b10
94 |/ user: test
94 |/ user: test
95 | date: Thu Jan 01 00:00:00 1970 +0000
95 | date: Thu Jan 01 00:00:00 1970 +0000
96 | summary: modify foo
96 | summary: modify foo
97 |
97 |
98 o changeset: 0:06e557f3edf6
98 o changeset: 0:06e557f3edf6
99 user: test
99 user: test
100 date: Thu Jan 01 00:00:00 1970 +0000
100 date: Thu Jan 01 00:00:00 1970 +0000
101 summary: initial
101 summary: initial
102
102
103
103
104 $ hg serve -p $HGPORT -d --pid-file=hg.pid -A access.log -E error.log
104 $ hg serve -p $HGPORT -d --pid-file=hg.pid -A access.log -E error.log
105 $ cat hg.pid >> $DAEMON_PIDS
105 $ cat hg.pid >> $DAEMON_PIDS
106
106
107 (Try to keep these in roughly the order they are defined in webcommands.py)
107 (Try to keep these in roughly the order they are defined in webcommands.py)
108
108
109 (log is handled by filelog/ and changelog/ - ignore it)
109 (log is handled by filelog/ and changelog/ - ignore it)
110
110
111 (rawfile/ doesn't use templating - nothing to test)
111 (rawfile/ doesn't use templating - nothing to test)
112
112
113 file/{revision}/{path} shows file revision
113 file/{revision}/{path} shows file revision
114
114
115 $ request json-file/06e557f3edf6/foo
115 $ request json-file/06e557f3edf6/foo
116 200 Script output follows
116 200 Script output follows
117
117
118 "not yet implemented"
118 "not yet implemented"
119
119
120 file/{revision} shows root directory info
120 file/{revision} shows root directory info
121
121
122 $ request json-file/06e557f3edf6
122 $ request json-file/cc725e08502a
123 200 Script output follows
123 200 Script output follows
124
124
125 "not yet implemented"
125 {
126 "abspath": "/",
127 "bookmarks": [],
128 "directories": [
129 {
130 "abspath": "/da",
131 "basename": "da",
132 "emptydirs": ""
133 }
134 ],
135 "files": [
136 {
137 "abspath": ".hgtags",
138 "basename": ".hgtags",
139 "date": [
140 0.0,
141 0
142 ],
143 "flags": "",
144 "size": 92
145 },
146 {
147 "abspath": "foo-new",
148 "basename": "foo-new",
149 "date": [
150 0.0,
151 0
152 ],
153 "flags": "",
154 "size": 4
155 }
156 ],
157 "node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7",
158 "tags": [
159 "tip"
160 ]
161 }
126
162
127 changelog/ shows information about several changesets
163 changelog/ shows information about several changesets
128
164
129 $ request json-changelog
165 $ request json-changelog
130 200 Script output follows
166 200 Script output follows
131
167
132 {
168 {
133 "changeset_count": 10,
169 "changeset_count": 10,
134 "changesets": [
170 "changesets": [
135 {
171 {
136 "bookmarks": [],
172 "bookmarks": [],
137 "date": [
173 "date": [
138 0.0,
174 0.0,
139 0
175 0
140 ],
176 ],
141 "desc": "merge test-branch into default",
177 "desc": "merge test-branch into default",
142 "node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7",
178 "node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7",
143 "tags": [
179 "tags": [
144 "tip"
180 "tip"
145 ],
181 ],
146 "user": "test"
182 "user": "test"
147 },
183 },
148 {
184 {
149 "bookmarks": [],
185 "bookmarks": [],
150 "date": [
186 "date": [
151 0.0,
187 0.0,
152 0
188 0
153 ],
189 ],
154 "desc": "another commit in test-branch",
190 "desc": "another commit in test-branch",
155 "node": "ed66c30e87eb65337c05a4229efaa5f1d5285a90",
191 "node": "ed66c30e87eb65337c05a4229efaa5f1d5285a90",
156 "tags": [],
192 "tags": [],
157 "user": "test"
193 "user": "test"
158 },
194 },
159 {
195 {
160 "bookmarks": [],
196 "bookmarks": [],
161 "date": [
197 "date": [
162 0.0,
198 0.0,
163 0
199 0
164 ],
200 ],
165 "desc": "create test branch",
201 "desc": "create test branch",
166 "node": "6ab967a8ab3489227a83f80e920faa039a71819f",
202 "node": "6ab967a8ab3489227a83f80e920faa039a71819f",
167 "tags": [],
203 "tags": [],
168 "user": "test"
204 "user": "test"
169 },
205 },
170 {
206 {
171 "bookmarks": [
207 "bookmarks": [
172 "bookmark2"
208 "bookmark2"
173 ],
209 ],
174 "date": [
210 "date": [
175 0.0,
211 0.0,
176 0
212 0
177 ],
213 ],
178 "desc": "create tag2",
214 "desc": "create tag2",
179 "node": "ceed296fe500c3fac9541e31dad860cb49c89e45",
215 "node": "ceed296fe500c3fac9541e31dad860cb49c89e45",
180 "tags": [],
216 "tags": [],
181 "user": "test"
217 "user": "test"
182 },
218 },
183 {
219 {
184 "bookmarks": [],
220 "bookmarks": [],
185 "date": [
221 "date": [
186 0.0,
222 0.0,
187 0
223 0
188 ],
224 ],
189 "desc": "another commit to da/foo",
225 "desc": "another commit to da/foo",
190 "node": "f2890a05fea49bfaf9fb27ed5490894eba32da78",
226 "node": "f2890a05fea49bfaf9fb27ed5490894eba32da78",
191 "tags": [
227 "tags": [
192 "tag2"
228 "tag2"
193 ],
229 ],
194 "user": "test"
230 "user": "test"
195 },
231 },
196 {
232 {
197 "bookmarks": [],
233 "bookmarks": [],
198 "date": [
234 "date": [
199 0.0,
235 0.0,
200 0
236 0
201 ],
237 ],
202 "desc": "create tag",
238 "desc": "create tag",
203 "node": "93a8ce14f89156426b7fa981af8042da53f03aa0",
239 "node": "93a8ce14f89156426b7fa981af8042da53f03aa0",
204 "tags": [],
240 "tags": [],
205 "user": "test"
241 "user": "test"
206 },
242 },
207 {
243 {
208 "bookmarks": [],
244 "bookmarks": [],
209 "date": [
245 "date": [
210 0.0,
246 0.0,
211 0
247 0
212 ],
248 ],
213 "desc": "move foo",
249 "desc": "move foo",
214 "node": "78896eb0e102174ce9278438a95e12543e4367a7",
250 "node": "78896eb0e102174ce9278438a95e12543e4367a7",
215 "tags": [
251 "tags": [
216 "tag1"
252 "tag1"
217 ],
253 ],
218 "user": "test"
254 "user": "test"
219 },
255 },
220 {
256 {
221 "bookmarks": [
257 "bookmarks": [
222 "bookmark1"
258 "bookmark1"
223 ],
259 ],
224 "date": [
260 "date": [
225 0.0,
261 0.0,
226 0
262 0
227 ],
263 ],
228 "desc": "modify da/foo",
264 "desc": "modify da/foo",
229 "node": "8d7c456572acf3557e8ed8a07286b10c408bcec5",
265 "node": "8d7c456572acf3557e8ed8a07286b10c408bcec5",
230 "tags": [],
266 "tags": [],
231 "user": "test"
267 "user": "test"
232 },
268 },
233 {
269 {
234 "bookmarks": [],
270 "bookmarks": [],
235 "date": [
271 "date": [
236 0.0,
272 0.0,
237 0
273 0
238 ],
274 ],
239 "desc": "modify foo",
275 "desc": "modify foo",
240 "node": "f8bbb9024b10f93cdbb8d940337398291d40dea8",
276 "node": "f8bbb9024b10f93cdbb8d940337398291d40dea8",
241 "tags": [],
277 "tags": [],
242 "user": "test"
278 "user": "test"
243 },
279 },
244 {
280 {
245 "bookmarks": [],
281 "bookmarks": [],
246 "date": [
282 "date": [
247 0.0,
283 0.0,
248 0
284 0
249 ],
285 ],
250 "desc": "initial",
286 "desc": "initial",
251 "node": "06e557f3edf66faa1ccaba5dd8c203c21cc79f1e",
287 "node": "06e557f3edf66faa1ccaba5dd8c203c21cc79f1e",
252 "tags": [],
288 "tags": [],
253 "user": "test"
289 "user": "test"
254 }
290 }
255 ],
291 ],
256 "node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7"
292 "node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7"
257 }
293 }
258
294
259 changelog/{revision} shows information starting at a specific changeset
295 changelog/{revision} shows information starting at a specific changeset
260
296
261 $ request json-changelog/f8bbb9024b10
297 $ request json-changelog/f8bbb9024b10
262 200 Script output follows
298 200 Script output follows
263
299
264 {
300 {
265 "changeset_count": 10,
301 "changeset_count": 10,
266 "changesets": [
302 "changesets": [
267 {
303 {
268 "bookmarks": [],
304 "bookmarks": [],
269 "date": [
305 "date": [
270 0.0,
306 0.0,
271 0
307 0
272 ],
308 ],
273 "desc": "modify foo",
309 "desc": "modify foo",
274 "node": "f8bbb9024b10f93cdbb8d940337398291d40dea8",
310 "node": "f8bbb9024b10f93cdbb8d940337398291d40dea8",
275 "tags": [],
311 "tags": [],
276 "user": "test"
312 "user": "test"
277 },
313 },
278 {
314 {
279 "bookmarks": [],
315 "bookmarks": [],
280 "date": [
316 "date": [
281 0.0,
317 0.0,
282 0
318 0
283 ],
319 ],
284 "desc": "initial",
320 "desc": "initial",
285 "node": "06e557f3edf66faa1ccaba5dd8c203c21cc79f1e",
321 "node": "06e557f3edf66faa1ccaba5dd8c203c21cc79f1e",
286 "tags": [],
322 "tags": [],
287 "user": "test"
323 "user": "test"
288 }
324 }
289 ],
325 ],
290 "node": "f8bbb9024b10f93cdbb8d940337398291d40dea8"
326 "node": "f8bbb9024b10f93cdbb8d940337398291d40dea8"
291 }
327 }
292
328
293 shortlog/ shows information about a set of changesets
329 shortlog/ shows information about a set of changesets
294
330
295 $ request json-shortlog
331 $ request json-shortlog
296 200 Script output follows
332 200 Script output follows
297
333
298 {
334 {
299 "changeset_count": 10,
335 "changeset_count": 10,
300 "changesets": [
336 "changesets": [
301 {
337 {
302 "bookmarks": [],
338 "bookmarks": [],
303 "date": [
339 "date": [
304 0.0,
340 0.0,
305 0
341 0
306 ],
342 ],
307 "desc": "merge test-branch into default",
343 "desc": "merge test-branch into default",
308 "node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7",
344 "node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7",
309 "tags": [
345 "tags": [
310 "tip"
346 "tip"
311 ],
347 ],
312 "user": "test"
348 "user": "test"
313 },
349 },
314 {
350 {
315 "bookmarks": [],
351 "bookmarks": [],
316 "date": [
352 "date": [
317 0.0,
353 0.0,
318 0
354 0
319 ],
355 ],
320 "desc": "another commit in test-branch",
356 "desc": "another commit in test-branch",
321 "node": "ed66c30e87eb65337c05a4229efaa5f1d5285a90",
357 "node": "ed66c30e87eb65337c05a4229efaa5f1d5285a90",
322 "tags": [],
358 "tags": [],
323 "user": "test"
359 "user": "test"
324 },
360 },
325 {
361 {
326 "bookmarks": [],
362 "bookmarks": [],
327 "date": [
363 "date": [
328 0.0,
364 0.0,
329 0
365 0
330 ],
366 ],
331 "desc": "create test branch",
367 "desc": "create test branch",
332 "node": "6ab967a8ab3489227a83f80e920faa039a71819f",
368 "node": "6ab967a8ab3489227a83f80e920faa039a71819f",
333 "tags": [],
369 "tags": [],
334 "user": "test"
370 "user": "test"
335 },
371 },
336 {
372 {
337 "bookmarks": [
373 "bookmarks": [
338 "bookmark2"
374 "bookmark2"
339 ],
375 ],
340 "date": [
376 "date": [
341 0.0,
377 0.0,
342 0
378 0
343 ],
379 ],
344 "desc": "create tag2",
380 "desc": "create tag2",
345 "node": "ceed296fe500c3fac9541e31dad860cb49c89e45",
381 "node": "ceed296fe500c3fac9541e31dad860cb49c89e45",
346 "tags": [],
382 "tags": [],
347 "user": "test"
383 "user": "test"
348 },
384 },
349 {
385 {
350 "bookmarks": [],
386 "bookmarks": [],
351 "date": [
387 "date": [
352 0.0,
388 0.0,
353 0
389 0
354 ],
390 ],
355 "desc": "another commit to da/foo",
391 "desc": "another commit to da/foo",
356 "node": "f2890a05fea49bfaf9fb27ed5490894eba32da78",
392 "node": "f2890a05fea49bfaf9fb27ed5490894eba32da78",
357 "tags": [
393 "tags": [
358 "tag2"
394 "tag2"
359 ],
395 ],
360 "user": "test"
396 "user": "test"
361 },
397 },
362 {
398 {
363 "bookmarks": [],
399 "bookmarks": [],
364 "date": [
400 "date": [
365 0.0,
401 0.0,
366 0
402 0
367 ],
403 ],
368 "desc": "create tag",
404 "desc": "create tag",
369 "node": "93a8ce14f89156426b7fa981af8042da53f03aa0",
405 "node": "93a8ce14f89156426b7fa981af8042da53f03aa0",
370 "tags": [],
406 "tags": [],
371 "user": "test"
407 "user": "test"
372 },
408 },
373 {
409 {
374 "bookmarks": [],
410 "bookmarks": [],
375 "date": [
411 "date": [
376 0.0,
412 0.0,
377 0
413 0
378 ],
414 ],
379 "desc": "move foo",
415 "desc": "move foo",
380 "node": "78896eb0e102174ce9278438a95e12543e4367a7",
416 "node": "78896eb0e102174ce9278438a95e12543e4367a7",
381 "tags": [
417 "tags": [
382 "tag1"
418 "tag1"
383 ],
419 ],
384 "user": "test"
420 "user": "test"
385 },
421 },
386 {
422 {
387 "bookmarks": [
423 "bookmarks": [
388 "bookmark1"
424 "bookmark1"
389 ],
425 ],
390 "date": [
426 "date": [
391 0.0,
427 0.0,
392 0
428 0
393 ],
429 ],
394 "desc": "modify da/foo",
430 "desc": "modify da/foo",
395 "node": "8d7c456572acf3557e8ed8a07286b10c408bcec5",
431 "node": "8d7c456572acf3557e8ed8a07286b10c408bcec5",
396 "tags": [],
432 "tags": [],
397 "user": "test"
433 "user": "test"
398 },
434 },
399 {
435 {
400 "bookmarks": [],
436 "bookmarks": [],
401 "date": [
437 "date": [
402 0.0,
438 0.0,
403 0
439 0
404 ],
440 ],
405 "desc": "modify foo",
441 "desc": "modify foo",
406 "node": "f8bbb9024b10f93cdbb8d940337398291d40dea8",
442 "node": "f8bbb9024b10f93cdbb8d940337398291d40dea8",
407 "tags": [],
443 "tags": [],
408 "user": "test"
444 "user": "test"
409 },
445 },
410 {
446 {
411 "bookmarks": [],
447 "bookmarks": [],
412 "date": [
448 "date": [
413 0.0,
449 0.0,
414 0
450 0
415 ],
451 ],
416 "desc": "initial",
452 "desc": "initial",
417 "node": "06e557f3edf66faa1ccaba5dd8c203c21cc79f1e",
453 "node": "06e557f3edf66faa1ccaba5dd8c203c21cc79f1e",
418 "tags": [],
454 "tags": [],
419 "user": "test"
455 "user": "test"
420 }
456 }
421 ],
457 ],
422 "node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7"
458 "node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7"
423 }
459 }
424
460
425 changeset/ renders the tip changeset
461 changeset/ renders the tip changeset
426
462
427 $ request json-rev
463 $ request json-rev
428 200 Script output follows
464 200 Script output follows
429
465
430 {
466 {
431 "bookmarks": [],
467 "bookmarks": [],
432 "branch": "default",
468 "branch": "default",
433 "date": [
469 "date": [
434 0.0,
470 0.0,
435 0
471 0
436 ],
472 ],
437 "desc": "merge test-branch into default",
473 "desc": "merge test-branch into default",
438 "node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7",
474 "node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7",
439 "parents": [
475 "parents": [
440 "ceed296fe500c3fac9541e31dad860cb49c89e45",
476 "ceed296fe500c3fac9541e31dad860cb49c89e45",
441 "ed66c30e87eb65337c05a4229efaa5f1d5285a90"
477 "ed66c30e87eb65337c05a4229efaa5f1d5285a90"
442 ],
478 ],
443 "phase": "draft",
479 "phase": "draft",
444 "tags": [
480 "tags": [
445 "tip"
481 "tip"
446 ],
482 ],
447 "user": "test"
483 "user": "test"
448 }
484 }
449
485
450 changeset/{revision} shows tags
486 changeset/{revision} shows tags
451
487
452 $ request json-rev/78896eb0e102
488 $ request json-rev/78896eb0e102
453 200 Script output follows
489 200 Script output follows
454
490
455 {
491 {
456 "bookmarks": [],
492 "bookmarks": [],
457 "branch": "default",
493 "branch": "default",
458 "date": [
494 "date": [
459 0.0,
495 0.0,
460 0
496 0
461 ],
497 ],
462 "desc": "move foo",
498 "desc": "move foo",
463 "node": "78896eb0e102174ce9278438a95e12543e4367a7",
499 "node": "78896eb0e102174ce9278438a95e12543e4367a7",
464 "parents": [
500 "parents": [
465 "8d7c456572acf3557e8ed8a07286b10c408bcec5"
501 "8d7c456572acf3557e8ed8a07286b10c408bcec5"
466 ],
502 ],
467 "phase": "public",
503 "phase": "public",
468 "tags": [
504 "tags": [
469 "tag1"
505 "tag1"
470 ],
506 ],
471 "user": "test"
507 "user": "test"
472 }
508 }
473
509
474 changeset/{revision} shows bookmarks
510 changeset/{revision} shows bookmarks
475
511
476 $ request json-rev/8d7c456572ac
512 $ request json-rev/8d7c456572ac
477 200 Script output follows
513 200 Script output follows
478
514
479 {
515 {
480 "bookmarks": [
516 "bookmarks": [
481 "bookmark1"
517 "bookmark1"
482 ],
518 ],
483 "branch": "default",
519 "branch": "default",
484 "date": [
520 "date": [
485 0.0,
521 0.0,
486 0
522 0
487 ],
523 ],
488 "desc": "modify da/foo",
524 "desc": "modify da/foo",
489 "node": "8d7c456572acf3557e8ed8a07286b10c408bcec5",
525 "node": "8d7c456572acf3557e8ed8a07286b10c408bcec5",
490 "parents": [
526 "parents": [
491 "f8bbb9024b10f93cdbb8d940337398291d40dea8"
527 "f8bbb9024b10f93cdbb8d940337398291d40dea8"
492 ],
528 ],
493 "phase": "public",
529 "phase": "public",
494 "tags": [],
530 "tags": [],
495 "user": "test"
531 "user": "test"
496 }
532 }
497
533
498 changeset/{revision} shows branches
534 changeset/{revision} shows branches
499
535
500 $ request json-rev/6ab967a8ab34
536 $ request json-rev/6ab967a8ab34
501 200 Script output follows
537 200 Script output follows
502
538
503 {
539 {
504 "bookmarks": [],
540 "bookmarks": [],
505 "branch": "test-branch",
541 "branch": "test-branch",
506 "date": [
542 "date": [
507 0.0,
543 0.0,
508 0
544 0
509 ],
545 ],
510 "desc": "create test branch",
546 "desc": "create test branch",
511 "node": "6ab967a8ab3489227a83f80e920faa039a71819f",
547 "node": "6ab967a8ab3489227a83f80e920faa039a71819f",
512 "parents": [
548 "parents": [
513 "06e557f3edf66faa1ccaba5dd8c203c21cc79f1e"
549 "06e557f3edf66faa1ccaba5dd8c203c21cc79f1e"
514 ],
550 ],
515 "phase": "draft",
551 "phase": "draft",
516 "tags": [],
552 "tags": [],
517 "user": "test"
553 "user": "test"
518 }
554 }
519
555
520 manifest/{revision}/{path} shows info about a directory at a revision
556 manifest/{revision}/{path} shows info about a directory at a revision
521
557
522 $ request json-manifest/06e557f3edf6/
558 $ request json-manifest/06e557f3edf6/
523 200 Script output follows
559 200 Script output follows
524
560
525 "not yet implemented"
561 {
562 "abspath": "/",
563 "bookmarks": [],
564 "directories": [
565 {
566 "abspath": "/da",
567 "basename": "da",
568 "emptydirs": ""
569 }
570 ],
571 "files": [
572 {
573 "abspath": "foo",
574 "basename": "foo",
575 "date": [
576 0.0,
577 0
578 ],
579 "flags": "",
580 "size": 4
581 }
582 ],
583 "node": "06e557f3edf66faa1ccaba5dd8c203c21cc79f1e",
584 "tags": []
585 }
526
586
527 tags/ shows tags info
587 tags/ shows tags info
528
588
529 $ request json-tags
589 $ request json-tags
530 200 Script output follows
590 200 Script output follows
531
591
532 {
592 {
533 "node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7",
593 "node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7",
534 "tags": [
594 "tags": [
535 {
595 {
536 "date": [
596 "date": [
537 0.0,
597 0.0,
538 0
598 0
539 ],
599 ],
540 "node": "f2890a05fea49bfaf9fb27ed5490894eba32da78",
600 "node": "f2890a05fea49bfaf9fb27ed5490894eba32da78",
541 "tag": "tag2"
601 "tag": "tag2"
542 },
602 },
543 {
603 {
544 "date": [
604 "date": [
545 0.0,
605 0.0,
546 0
606 0
547 ],
607 ],
548 "node": "78896eb0e102174ce9278438a95e12543e4367a7",
608 "node": "78896eb0e102174ce9278438a95e12543e4367a7",
549 "tag": "tag1"
609 "tag": "tag1"
550 }
610 }
551 ]
611 ]
552 }
612 }
553
613
554 bookmarks/ shows bookmarks info
614 bookmarks/ shows bookmarks info
555
615
556 $ request json-bookmarks
616 $ request json-bookmarks
557 200 Script output follows
617 200 Script output follows
558
618
559 {
619 {
560 "bookmarks": [
620 "bookmarks": [
561 {
621 {
562 "bookmark": "bookmark1",
622 "bookmark": "bookmark1",
563 "date": [
623 "date": [
564 0.0,
624 0.0,
565 0
625 0
566 ],
626 ],
567 "node": "8d7c456572acf3557e8ed8a07286b10c408bcec5"
627 "node": "8d7c456572acf3557e8ed8a07286b10c408bcec5"
568 },
628 },
569 {
629 {
570 "bookmark": "bookmark2",
630 "bookmark": "bookmark2",
571 "date": [
631 "date": [
572 0.0,
632 0.0,
573 0
633 0
574 ],
634 ],
575 "node": "ceed296fe500c3fac9541e31dad860cb49c89e45"
635 "node": "ceed296fe500c3fac9541e31dad860cb49c89e45"
576 }
636 }
577 ],
637 ],
578 "node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7"
638 "node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7"
579 }
639 }
580
640
581 branches/ shows branches info
641 branches/ shows branches info
582
642
583 $ request json-branches
643 $ request json-branches
584 200 Script output follows
644 200 Script output follows
585
645
586 {
646 {
587 "branches": [
647 "branches": [
588 {
648 {
589 "branch": "default",
649 "branch": "default",
590 "date": [
650 "date": [
591 0.0,
651 0.0,
592 0
652 0
593 ],
653 ],
594 "node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7",
654 "node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7",
595 "status": "open"
655 "status": "open"
596 },
656 },
597 {
657 {
598 "branch": "test-branch",
658 "branch": "test-branch",
599 "date": [
659 "date": [
600 0.0,
660 0.0,
601 0
661 0
602 ],
662 ],
603 "node": "ed66c30e87eb65337c05a4229efaa5f1d5285a90",
663 "node": "ed66c30e87eb65337c05a4229efaa5f1d5285a90",
604 "status": "inactive"
664 "status": "inactive"
605 }
665 }
606 ]
666 ]
607 }
667 }
608
668
609 summary/ shows a summary of repository state
669 summary/ shows a summary of repository state
610
670
611 $ request json-summary
671 $ request json-summary
612 200 Script output follows
672 200 Script output follows
613
673
614 "not yet implemented"
674 "not yet implemented"
615
675
616 filediff/{revision}/{path} shows changes to a file in a revision
676 filediff/{revision}/{path} shows changes to a file in a revision
617
677
618 $ request json-diff/f8bbb9024b10/foo
678 $ request json-diff/f8bbb9024b10/foo
619 200 Script output follows
679 200 Script output follows
620
680
621 "not yet implemented"
681 "not yet implemented"
622
682
623 comparison/{revision}/{path} shows information about before and after for a file
683 comparison/{revision}/{path} shows information about before and after for a file
624
684
625 $ request json-comparison/f8bbb9024b10/foo
685 $ request json-comparison/f8bbb9024b10/foo
626 200 Script output follows
686 200 Script output follows
627
687
628 "not yet implemented"
688 "not yet implemented"
629
689
630 annotate/{revision}/{path} shows annotations for each line
690 annotate/{revision}/{path} shows annotations for each line
631
691
632 $ request json-annotate/f8bbb9024b10/foo
692 $ request json-annotate/f8bbb9024b10/foo
633 200 Script output follows
693 200 Script output follows
634
694
635 "not yet implemented"
695 "not yet implemented"
636
696
637 filelog/{revision}/{path} shows history of a single file
697 filelog/{revision}/{path} shows history of a single file
638
698
639 $ request json-filelog/f8bbb9024b10/foo
699 $ request json-filelog/f8bbb9024b10/foo
640 200 Script output follows
700 200 Script output follows
641
701
642 "not yet implemented"
702 "not yet implemented"
643
703
644 (archive/ doesn't use templating, so ignore it)
704 (archive/ doesn't use templating, so ignore it)
645
705
646 (static/ doesn't use templating, so ignore it)
706 (static/ doesn't use templating, so ignore it)
647
707
648 graph/ shows information that can be used to render a graph of the DAG
708 graph/ shows information that can be used to render a graph of the DAG
649
709
650 $ request json-graph
710 $ request json-graph
651 200 Script output follows
711 200 Script output follows
652
712
653 "not yet implemented"
713 "not yet implemented"
654
714
655 help/ shows help topics
715 help/ shows help topics
656
716
657 $ request json-help
717 $ request json-help
658 200 Script output follows
718 200 Script output follows
659
719
660 "not yet implemented"
720 "not yet implemented"
661
721
662 help/{topic} shows an individual help topic
722 help/{topic} shows an individual help topic
663
723
664 $ request json-help/phases
724 $ request json-help/phases
665 200 Script output follows
725 200 Script output follows
666
726
667 "not yet implemented"
727 "not yet implemented"
General Comments 0
You need to be logged in to leave comments. Login now