Fossil SCM

Ported in 7 more json API doc pages. Time to go for a haircut.

stephan 2020-01-28 11:15 trunk
Commit 85967b7c46f0f09f1dc7eeb1bee138a7a23f93ae03fb311bd78ed6dd3a0d7177
--- a/www/json-api/api-checkout.md
+++ b/www/json-api/api-checkout.md
@@ -0,0 +1,45 @@
1
+# JSON API: /status
2
+([⬑JSON API Index](index.md))
3
+
4
+# Status of Local Checkout
5
+
6
+**Status:** implemented 20130223
7
+
8
+**Required permissions:** n/a (local access only)
9
+
10
+**Request:** `/json/status`
11
+
12
+This command requir local checkout and is the analog to the "fossil
13
+status" command.
14
+
15
+**Request Options:** currently none.
16
+
17
+Payload example:
18
+
19
+```json
20
+{
21
+"repository":"/home/stephan/cvs/fossil/fossil.fsl",
22
+"localRoot":"/home/stephan/cvs/fossil/fossil/",
23
+"checkout":{
24
+ "uuid":"b38bb4f9bd27d0347b62ecfac63c4b8f57b5c93b",
25
+ "tags":["trunk"],
26
+ "datetime":"2013-02-22 17:34:19 UTC",
27
+ "timestamp":1361554459
28
+ },
29
+/* "parent" info is currently missing. */
30
+"files":[
31
+ {"name":"src/checkin.c", "status":"edited"}
32
+ ...],
33
+"errorCount":0 /* see notes below */
34
+}
35
+```
36
+
37
+Notes:
38
+
39
+- The `checkout.tags` property follows the framework-wide convention
40
+ that the first tag in the list is the primary branch and any others
41
+ are secondary.
42
+- `errorCount` is +1 for each missing file. Conflicts are not treated as
43
+ errors because the CLI 'status' command does noeported in all cases.
44
+- TODO: Info for the parent version is currently missing.
45
+- TODO: "mer
--- a/www/json-api/api-checkout.md
+++ b/www/json-api/api-checkout.md
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--- a/www/json-api/api-checkout.md
+++ b/www/json-api/api-checkout.md
@@ -0,0 +1,45 @@
1 # JSON API: /status
2 ([⬑JSON API Index](index.md))
3
4 # Status of Local Checkout
5
6 **Status:** implemented 20130223
7
8 **Required permissions:** n/a (local access only)
9
10 **Request:** `/json/status`
11
12 This command requir local checkout and is the analog to the "fossil
13 status" command.
14
15 **Request Options:** currently none.
16
17 Payload example:
18
19 ```json
20 {
21 "repository":"/home/stephan/cvs/fossil/fossil.fsl",
22 "localRoot":"/home/stephan/cvs/fossil/fossil/",
23 "checkout":{
24 "uuid":"b38bb4f9bd27d0347b62ecfac63c4b8f57b5c93b",
25 "tags":["trunk"],
26 "datetime":"2013-02-22 17:34:19 UTC",
27 "timestamp":1361554459
28 },
29 /* "parent" info is currently missing. */
30 "files":[
31 {"name":"src/checkin.c", "status":"edited"}
32 ...],
33 "errorCount":0 /* see notes below */
34 }
35 ```
36
37 Notes:
38
39 - The `checkout.tags` property follows the framework-wide convention
40 that the first tag in the list is the primary branch and any others
41 are secondary.
42 - `errorCount` is +1 for each missing file. Conflicts are not treated as
43 errors because the CLI 'status' command does noeported in all cases.
44 - TODO: Info for the parent version is currently missing.
45 - TODO: "mer
--- a/www/json-api/api-diff.md
+++ b/www/json-api/api-diff.md
@@ -0,0 +1,46 @@
1
+# JSON API: /diff
2
+([⬑JSON API Index](index.md))
3
+
4
+# Diffs
5
+
6
+**Status:** implemented 20111007
7
+
8
+**Required permissions:** "o"
9
+
10
+**Request:** `/json/diff[/version1[/version2]]`
11
+
12
+**Request options:**
13
+
14
+- `v1=string` Is the "from" version. It may optionally be the first
15
+ positional parameter/path element after the command name.
16
+- `v2=string` Is the "to" version. It may optionally be the first
17
+ positional parameter/path element after the v1 part.
18
+- `context=integer` (default=unspecified) Defines the number of context
19
+ lines to display in the diff.\
20
+ CLI: `--context|-c`
21
+- `sbs=bool` (default=false) Generates "side-by-side" diffs, but their
22
+ utility in JSON mode is questionable.
23
+- `html=bool` (default=false) causes the output to be marked up with
24
+ HTML in the same manner as it is in the HTML interface.
25
+
26
+**Response payload example:**
27
+
28
+```json
29
+{
30
+"from":"7a83a5cbd0424cefa2cdc001de60153aede530f5",
31
+"to":"96920e7c04746c55ceed6e24fc82879886cb8197",
32
+"diff":"@@ -1,7 +1,7 @@\\n-C factored\\\\sout..."
33
+}
34
+```
35
+
36
+TODOs:
37
+
38
+- Unlike the standard diff command, which apparently requires commit
39
+ UUID requires a commit
40
+ hash,UUID is
41
+ provided, a diff of the manifests is returned. (That should be
42
+ considered a bug - we should return a combined diff in that case.)
43
+- If UUIDin that case.)
44
+- If hashes from two different types of artifacts are given, results
45
+ are unspecified. Garbage in, garbage out, and all that.
46
+- For file
--- a/www/json-api/api-diff.md
+++ b/www/json-api/api-diff.md
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--- a/www/json-api/api-diff.md
+++ b/www/json-api/api-diff.md
@@ -0,0 +1,46 @@
1 # JSON API: /diff
2 ([⬑JSON API Index](index.md))
3
4 # Diffs
5
6 **Status:** implemented 20111007
7
8 **Required permissions:** "o"
9
10 **Request:** `/json/diff[/version1[/version2]]`
11
12 **Request options:**
13
14 - `v1=string` Is the "from" version. It may optionally be the first
15 positional parameter/path element after the command name.
16 - `v2=string` Is the "to" version. It may optionally be the first
17 positional parameter/path element after the v1 part.
18 - `context=integer` (default=unspecified) Defines the number of context
19 lines to display in the diff.\
20 CLI: `--context|-c`
21 - `sbs=bool` (default=false) Generates "side-by-side" diffs, but their
22 utility in JSON mode is questionable.
23 - `html=bool` (default=false) causes the output to be marked up with
24 HTML in the same manner as it is in the HTML interface.
25
26 **Response payload example:**
27
28 ```json
29 {
30 "from":"7a83a5cbd0424cefa2cdc001de60153aede530f5",
31 "to":"96920e7c04746c55ceed6e24fc82879886cb8197",
32 "diff":"@@ -1,7 +1,7 @@\\n-C factored\\\\sout..."
33 }
34 ```
35
36 TODOs:
37
38 - Unlike the standard diff command, which apparently requires commit
39 UUID requires a commit
40 hash,UUID is
41 provided, a diff of the manifests is returned. (That should be
42 considered a bug - we should return a combined diff in that case.)
43 - If UUIDin that case.)
44 - If hashes from two different types of artifacts are given, results
45 are unspecified. Garbage in, garbage out, and all that.
46 - For file
--- a/www/json-api/api-dir.md
+++ b/www/json-api/api-dir.md
@@ -0,0 +1,53 @@
1
+# JSON API: /dir
2
+([⬑JSON API Index](index.md))
3
+
4
+# Directory Listing
5
+
6
+**Status:** implemented 20120316
7
+
8
+**Required privileges:** "o". Was "h" prior to 20120720, but the HTML
9
+version of /dir changed permissions and this API was modified to match
10
+it.
11
+
12
+**Request:** `/json/dir`
13
+
14
+Options:
15
+
16
+- `checkin=commit` (use "tip" for the latest). If checkin is not set
17
+ then all files from all versions of the tree are returned (but only
18
+ once per file - not with complete version info for each file in all
19
+ branches).\
20
+ CLI: `--checkin|-ci CHECKIN`
21
+- `name=subdirectory` name. To fetch the root directory, don't pass this
22
+ option, or use an empty value or "/".\
23
+ CLI: use `--name|-n NAME` or pass it as the first argument after
24
+ the `dir` subcommand.
25
+
26
+**Response payload example:**
27
+
28
+```json
29
+{
30
+ "name":"/", /* dir name */
31
+ "uuid":"ac6366218035ed62254c8d458f30801273e5d4fc",
32
+ "checkin":"tip",
33
+ "entries":[{
34
+ "name": "ajax", /* file name/dir name fragment */
35
+ "isDir": true, /* only set for directories */
36
+ /* The following properties are ONLY set if
37
+ the 'checkin' parameter is provided.
38
+ */
39
+ "uuid": "..." /*only for files, not dirs*/,
40
+ "size": number,
41
+ "timestamp": number
42
+ },...]
43
+}
44
+```
45
+
46
+The checkin property is only set if the request includes it. The
47
+entry-specific uuid and size properties (e.g. `entries[0].uuid`) are
48
+only set if the checkin request property is set and they refer to the
49
+latest version of that file for the given checkin. The `isDir` property is
50
+only set on directory entries.
51
+
52
+This command does not recurse into subdirectories, though it "should be"
53
+simple enough to add the option to do so.
--- a/www/json-api/api-dir.md
+++ b/www/json-api/api-dir.md
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--- a/www/json-api/api-dir.md
+++ b/www/json-api/api-dir.md
@@ -0,0 +1,53 @@
1 # JSON API: /dir
2 ([⬑JSON API Index](index.md))
3
4 # Directory Listing
5
6 **Status:** implemented 20120316
7
8 **Required privileges:** "o". Was "h" prior to 20120720, but the HTML
9 version of /dir changed permissions and this API was modified to match
10 it.
11
12 **Request:** `/json/dir`
13
14 Options:
15
16 - `checkin=commit` (use "tip" for the latest). If checkin is not set
17 then all files from all versions of the tree are returned (but only
18 once per file - not with complete version info for each file in all
19 branches).\
20 CLI: `--checkin|-ci CHECKIN`
21 - `name=subdirectory` name. To fetch the root directory, don't pass this
22 option, or use an empty value or "/".\
23 CLI: use `--name|-n NAME` or pass it as the first argument after
24 the `dir` subcommand.
25
26 **Response payload example:**
27
28 ```json
29 {
30 "name":"/", /* dir name */
31 "uuid":"ac6366218035ed62254c8d458f30801273e5d4fc",
32 "checkin":"tip",
33 "entries":[{
34 "name": "ajax", /* file name/dir name fragment */
35 "isDir": true, /* only set for directories */
36 /* The following properties are ONLY set if
37 the 'checkin' parameter is provided.
38 */
39 "uuid": "..." /*only for files, not dirs*/,
40 "size": number,
41 "timestamp": number
42 },...]
43 }
44 ```
45
46 The checkin property is only set if the request includes it. The
47 entry-specific uuid and size properties (e.g. `entries[0].uuid`) are
48 only set if the checkin request property is set and they refer to the
49 latest version of that file for the given checkin. The `isDir` property is
50 only set on directory entries.
51
52 This command does not recurse into subdirectories, though it "should be"
53 simple enough to add the option to do so.
--- a/www/json-api/api-finfo.md
+++ b/www/json-api/api-finfo.md
@@ -0,0 +1,53 @@
1
+# JSON API: /finfo
2
+([⬑JSON API Index](index.md))
3
+
4
+# File Information
5
+
6
+**Status:** implemented 2012-something, but output structure is likely
7
+to change.
8
+
9
+**Required privileges:** "o"
10
+
11
+**Request:** `/json/finfo?name=path/to/file`
12
+
13
+Options:
14
+
15
+- `name=string`. Required. Use the absolute name of the file, including
16
+ any directory parts, and without a leading slash. e.g.
17
+ `"path/to/my.c"`.\
18
+ CLI mode: `--name` or positional argument.
19
+- `checkin=string`. Only return info related to this specific checkin,
20
+ as opposed to listing all checkins. If set, neither "before" nor
21
+ "after" have any effect.\
22
+ CLI mode: `--checkin|-ci`
23
+- `before=DATETIME` only lists checkins from on or before this time.\
24
+ CLI mode: `--before|-b`
25
+- `after=DATETIME` onlybefores checkins from on or after this time.
26
+ Using this option swaps the sort order, to provide reasonable
27
+ behaviour in conjunction with the limit option.\
28
+ Only one of "before" and "after" may be specified, and if both are
29
+ specified then which one takes precedence is unspecified.\
30
+ CLI mode: `--after|-a`
31
+- `limit=integer` limits the output to (at most) the given number of
32
+ associated checkins.\
33
+ CLI mode: `--limit|-n`
34
+
35
+**Response payload example (very likely to change!):**
36
+
37
+```json
38
+{
39
+"name":"ajax/i-test/rhino-shell.js",
40
+"checkins":[{
41
+ "checkin":"6b7ddfefbfb871f793378d8f276fe829106ca49b",
42
+ "uuid":"2b735676d55e3d06d670ffbc643e5d3f748b95ea",
43
+ "timestamp":1329514170,
44
+ "user":"viriketo",
45
+ "comment":"<...snip...>",
46
+ "size":6293,
47
+ "state":"added|modified|removed"
48
+ },…]
49
+}
50
+```
51
+
52
+**FIXME:** there is a semantic discrepancy between `/json/artifact`'s
53
+`payload.checkins[N]
--- a/www/json-api/api-finfo.md
+++ b/www/json-api/api-finfo.md
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--- a/www/json-api/api-finfo.md
+++ b/www/json-api/api-finfo.md
@@ -0,0 +1,53 @@
1 # JSON API: /finfo
2 ([&#x2b11;JSON API Index](index.md))
3
4 # File Information
5
6 **Status:** implemented 2012-something, but output structure is likely
7 to change.
8
9 **Required privileges:** "o"
10
11 **Request:** `/json/finfo?name=path/to/file`
12
13 Options:
14
15 - `name=string`. Required. Use the absolute name of the file, including
16 any directory parts, and without a leading slash. e.g.
17 `"path/to/my.c"`.\
18 CLI mode: `--name` or positional argument.
19 - `checkin=string`. Only return info related to this specific checkin,
20 as opposed to listing all checkins. If set, neither "before" nor
21 "after" have any effect.\
22 CLI mode: `--checkin|-ci`
23 - `before=DATETIME` only lists checkins from on or before this time.\
24 CLI mode: `--before|-b`
25 - `after=DATETIME` onlybefores checkins from on or after this time.
26 Using this option swaps the sort order, to provide reasonable
27 behaviour in conjunction with the limit option.\
28 Only one of "before" and "after" may be specified, and if both are
29 specified then which one takes precedence is unspecified.\
30 CLI mode: `--after|-a`
31 - `limit=integer` limits the output to (at most) the given number of
32 associated checkins.\
33 CLI mode: `--limit|-n`
34
35 **Response payload example (very likely to change!):**
36
37 ```json
38 {
39 "name":"ajax/i-test/rhino-shell.js",
40 "checkins":[{
41 "checkin":"6b7ddfefbfb871f793378d8f276fe829106ca49b",
42 "uuid":"2b735676d55e3d06d670ffbc643e5d3f748b95ea",
43 "timestamp":1329514170,
44 "user":"viriketo",
45 "comment":"<...snip...>",
46 "size":6293,
47 "state":"added|modified|removed"
48 },…]
49 }
50 ```
51
52 **FIXME:** there is a semantic discrepancy between `/json/artifact`'s
53 `payload.checkins[N]
--- www/json-api/api-index.md
+++ www/json-api/api-index.md
@@ -14,17 +14,18 @@
1414
The APIs, alphabetically by category:
1515
1616
* [Artifact Info](api-artifact.md)
1717
* [Authentication](api-auth.md)
1818
* [Branches](api-branch.md)
19
+* [Checkout Status](api-checkout.md)
1920
* [Config](api-config.md)
20
-* TODO [Diffs](api-diffs.md)
21
-* TODO [Directory Listing](api-dir.md)
22
-* TODO [File Info](api-finfo.md)
23
-* TODO [SQL Query](api-query.md)
24
-* TODO [Stats](api-stats.md)
25
-* TODO [Tags](api-tags.md)
21
+* [Diffs](api-diff.md)
22
+* [Directory Listing](api-dir.md)
23
+* [File Info](api-finfo.md)
24
+* [Repository Stats](api-stat.md)
25
+* [SQL Query](api-query.md)
26
+* [Tags](api-tag.md)
2627
* TODO [Tickets](api-tickets.md)
2728
* TODO [Timeline](api-timeline.md)
2829
* TODO [User Management](api-users.md)
2930
* TODO [Version](api-version.md)
3031
* [Wiki](api-wiki.md)
3132
3233
ADDED www/json-api/api-query.md
3334
ADDED www/json-api/api-stat.md
3435
ADDED www/json-api/api-tag.md
--- www/json-api/api-index.md
+++ www/json-api/api-index.md
@@ -14,17 +14,18 @@
14 The APIs, alphabetically by category:
15
16 * [Artifact Info](api-artifact.md)
17 * [Authentication](api-auth.md)
18 * [Branches](api-branch.md)
 
19 * [Config](api-config.md)
20 * TODO [Diffs](api-diffs.md)
21 * TODO [Directory Listing](api-dir.md)
22 * TODO [File Info](api-finfo.md)
23 * TODO [SQL Query](api-query.md)
24 * TODO [Stats](api-stats.md)
25 * TODO [Tags](api-tags.md)
26 * TODO [Tickets](api-tickets.md)
27 * TODO [Timeline](api-timeline.md)
28 * TODO [User Management](api-users.md)
29 * TODO [Version](api-version.md)
30 * [Wiki](api-wiki.md)
31
32 DDED www/json-api/api-query.md
33 DDED www/json-api/api-stat.md
34 DDED www/json-api/api-tag.md
--- www/json-api/api-index.md
+++ www/json-api/api-index.md
@@ -14,17 +14,18 @@
14 The APIs, alphabetically by category:
15
16 * [Artifact Info](api-artifact.md)
17 * [Authentication](api-auth.md)
18 * [Branches](api-branch.md)
19 * [Checkout Status](api-checkout.md)
20 * [Config](api-config.md)
21 * [Diffs](api-diff.md)
22 * [Directory Listing](api-dir.md)
23 * [File Info](api-finfo.md)
24 * [Repository Stats](api-stat.md)
25 * [SQL Query](api-query.md)
26 * [Tags](api-tag.md)
27 * TODO [Tickets](api-tickets.md)
28 * TODO [Timeline](api-timeline.md)
29 * TODO [User Management](api-users.md)
30 * TODO [Version](api-version.md)
31 * [Wiki](api-wiki.md)
32
33 DDED www/json-api/api-query.md
34 DDED www/json-api/api-stat.md
35 DDED www/json-api/api-tag.md
--- a/www/json-api/api-query.md
+++ b/www/json-api/api-query.md
@@ -0,0 +1,22 @@
1
+# JSON API: /query
2
+([&#x2b11;JSON API Index](index.md))
3
+
4
+# SQL Query
5
+
6
+**Status:** implemented 20111008
7
+
8
+**Required privileges:** "a" or "s"
9
+
10
+**Request:** `/json/query`
11
+
12
+Potential FIXME: restrict this to queries which return results, as opposed
13
+to those which may modify data.
14
+
15
+Options:
16
+
17
+- `sql=string` The SQL code to run. It is expected that it be a SELECT
18
+ statement, but that is not enforced. This parameter may be set as a
19
+ POST.payload property, as the POST.payload itself, GET, or as a
20
+ positional parameter coming after the command name (CLI and HTTP
21
+ modes, though the escaping would be unsightly in HTTP mode).
22
+- `format=string` (default="o").
--- a/www/json-api/api-query.md
+++ b/www/json-api/api-query.md
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--- a/www/json-api/api-query.md
+++ b/www/json-api/api-query.md
@@ -0,0 +1,22 @@
1 # JSON API: /query
2 ([&#x2b11;JSON API Index](index.md))
3
4 # SQL Query
5
6 **Status:** implemented 20111008
7
8 **Required privileges:** "a" or "s"
9
10 **Request:** `/json/query`
11
12 Potential FIXME: restrict this to queries which return results, as opposed
13 to those which may modify data.
14
15 Options:
16
17 - `sql=string` The SQL code to run. It is expected that it be a SELECT
18 statement, but that is not enforced. This parameter may be set as a
19 POST.payload property, as the POST.payload itself, GET, or as a
20 positional parameter coming after the command name (CLI and HTTP
21 modes, though the escaping would be unsightly in HTTP mode).
22 - `format=string` (default="o").
--- a/www/json-api/api-stat.md
+++ b/www/json-api/api-stat.md
@@ -0,0 +1,59 @@
1
+# JSON API: /stat
2
+([&#x2b11;JSON API Index](index.md))
3
+
4
+# Repository Stats
5
+
6
+**Status:** implemented
7
+
8
+**Required privileges:** "o"
9
+
10
+**Request:** `/json/stat`
11
+
12
+**Response payload example:** (fields marked with `*` are omitted in
13
+"brief" mode)
14
+
15
+```json
16
+{
17
+"projectName":"Fossil",
18
+"projectDescription":"Fossil SCM", /* added 20120217 */
19
+"repositorySize":24464384,
20
+* "blobCount":13612,
21
+* "deltaCount":9348,
22
+* "uncompressedArtifactSize":589205834,
23
+* "averageArtifactSize":43292,
24
+* "maxArtifactSize":4620758,
25
+* "compressionRatio":"24:1",
26
+* "checkinCount":3150,
27
+* "fileCount":456,
28
+* "wikiPageCount":23,
29
+* "ticketCount":940,
30
+"ageDays":1512,
31
+"ageYears":4.139744,
32
+"projectCode":"25d3a4b83202c0d616a5ed17334f180dac4434dc",
33
+"compiler":"gcc-4.1.2 20080704 (Red Hat 4.1.2-50)",
34
+"sqlite":{
35
+ "version":"2011-09-04 01:27:00 [6b657ae750] (3.7.8)",
36
+ "pageCount":23891,
37
+ "pageSize":1024,
38
+ "freeList":2705,
39
+ "encoding":"UTF-8",
40
+ "journalMode":"delete"
41
+}
42
+}
43
+```
44
+
45
+**Options:**
46
+
47
+- "Full detail" mode:\
48
+ **HTTP/payload parameter:** full=bool\
49
+ **CLI MODE:** -f|--full with no value.\
50
+ If true then all properties are included, else certain properties
51
+ are omitted from the payload (because they take a relatively long
52
+ time to calculate).\
53
+ **TODO:** rename this to verbose, for consistency.\
54
+ **Default=false**. *This is in contrast to the HTML interface*,
55
+ which defaults to full detail mode. Testing shows stat to have a
56
+ relatively high per-call cost/run time, so it defaults
57
+ to "brief" mode by default. Full-detail mode can, on slow hardware,
58
+ take half a minute to respond, whereas non-full mode takes well
59
+ under one second.
--- a/www/json-api/api-stat.md
+++ b/www/json-api/api-stat.md
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--- a/www/json-api/api-stat.md
+++ b/www/json-api/api-stat.md
@@ -0,0 +1,59 @@
1 # JSON API: /stat
2 ([&#x2b11;JSON API Index](index.md))
3
4 # Repository Stats
5
6 **Status:** implemented
7
8 **Required privileges:** "o"
9
10 **Request:** `/json/stat`
11
12 **Response payload example:** (fields marked with `*` are omitted in
13 "brief" mode)
14
15 ```json
16 {
17 "projectName":"Fossil",
18 "projectDescription":"Fossil SCM", /* added 20120217 */
19 "repositorySize":24464384,
20 * "blobCount":13612,
21 * "deltaCount":9348,
22 * "uncompressedArtifactSize":589205834,
23 * "averageArtifactSize":43292,
24 * "maxArtifactSize":4620758,
25 * "compressionRatio":"24:1",
26 * "checkinCount":3150,
27 * "fileCount":456,
28 * "wikiPageCount":23,
29 * "ticketCount":940,
30 "ageDays":1512,
31 "ageYears":4.139744,
32 "projectCode":"25d3a4b83202c0d616a5ed17334f180dac4434dc",
33 "compiler":"gcc-4.1.2 20080704 (Red Hat 4.1.2-50)",
34 "sqlite":{
35 "version":"2011-09-04 01:27:00 [6b657ae750] (3.7.8)",
36 "pageCount":23891,
37 "pageSize":1024,
38 "freeList":2705,
39 "encoding":"UTF-8",
40 "journalMode":"delete"
41 }
42 }
43 ```
44
45 **Options:**
46
47 - "Full detail" mode:\
48 **HTTP/payload parameter:** full=bool\
49 **CLI MODE:** -f|--full with no value.\
50 If true then all properties are included, else certain properties
51 are omitted from the payload (because they take a relatively long
52 time to calculate).\
53 **TODO:** rename this to verbose, for consistency.\
54 **Default=false**. *This is in contrast to the HTML interface*,
55 which defaults to full detail mode. Testing shows stat to have a
56 relatively high per-call cost/run time, so it defaults
57 to "brief" mode by default. Full-detail mode can, on slow hardware,
58 take half a minute to respond, whereas non-full mode takes well
59 under one second.
--- a/www/json-api/api-tag.md
+++ b/www/json-api/api-tag.md
@@ -0,0 +1,8 @@
1
+# JSON API: /tag
2
+([&#x2b11;JSON API Index](index.md))
3
+
4
+Jump to:
5
+
6
+* [Add](#add)
7
+* [Cancel](#cancelappliedTo properUUID
8
+ strings, else
--- a/www/json-api/api-tag.md
+++ b/www/json-api/api-tag.md
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
--- a/www/json-api/api-tag.md
+++ b/www/json-api/api-tag.md
@@ -0,0 +1,8 @@
1 # JSON API: /tag
2 ([&#x2b11;JSON API Index](index.md))
3
4 Jump to:
5
6 * [Add](#add)
7 * [Cancel](#cancelappliedTo properUUID
8 strings, else

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button