Next: RCS, Previous: Database, Up: Command Reference
This section contains subcommands of the mtn automate command,
used for scripting monotone. All give output on stdout
; they may
also give useful chatter on stderr
, including warnings and error
messages.
1.2
28ce076c69eadb9b1ca7bdf9d40ce95fe2f29b61 75156724e0e2e3245838f356ec373c50fa469f1f
28ce076c69eadb9b1ca7bdf9d40ce95fe2f29b61 75156724e0e2e3245838f356ec373c50fa469f1f
The output does not include rev1, rev2, etc., except if
rev2 is itself an ancestor of rev1, then rev2 will be
included in the output.
28ce076c69eadb9b1ca7bdf9d40ce95fe2f29b61 75156724e0e2e3245838f356ec373c50fa469f1f
The output will include one of the argument revisions only if that revision is
an ancestor of all other revisions given as arguments.
28ce076c69eadb9b1ca7bdf9d40ce95fe2f29b61 75156724e0e2e3245838f356ec373c50fa469f1f
28ce076c69eadb9b1ca7bdf9d40ce95fe2f29b61 75156724e0e2e3245838f356ec373c50fa469f1f
The output does not include rev1, rev2, etc., except that if
rev2 is itself a descendant of rev1, then rev2 will be
included in the output.
28ce076c69eadb9b1ca7bdf9d40ce95fe2f29b61 75156724e0e2e3245838f356ec373c50fa469f1f
0c05e8ec9c6af4224672c7cc4c9ef05ae8bdb794 27ebcae50e1814e35274cb89b5031a423c29f95a 5830984dec5c41d994bcadfeab4bf1bf67747b89 4e284617c80bec7da03925062a84f715c1b042bd 27ebcae50e1814e35274cb89b5031a423c29f95a 657c756d24fb65213d59f4ae07e117d830dcc95b
The output as a whole is alphabetically sorted by line; additionally,
the parents within each line are alphabetically sorted.
28ce076c69eadb9b1ca7bdf9d40ce95fe2f29b61 75156724e0e2e3245838f356ec373c50fa469f1f
28ce076c69eadb9b1ca7bdf9d40ce95fe2f29b61 75156724e0e2e3245838f356ec373c50fa469f1f
28ce076c69eadb9b1ca7bdf9d40ce95fe2f29b61 75156724e0e2e3245838f356ec373c50fa469f1f
28ce076c69eadb9b1ca7bdf9d40ce95fe2f29b61 75156724e0e2e3245838f356ec373c50fa469f1f
ignore_branch
.
net.venge.monotone net.venge.monotone.win32
If a branch name is ignored by means of the Lua hook
ignore_branch
, it is neither printed, nor can it be matched by
a pattern.
format_version "1" tag "monotree-0.3" revision [35cff8e8ba14155f5f7ddf7965073f514fd60f61] signer "njs@pobox.com" branches "net.venge.monotone.contrib.monotree" tag "monotree-0.2" revision [5d288b39b49613b0d9dca8ece6b9a42c3773f35b] signer "njs@pobox.com" branches "net.venge.monotone.contrib.monotree" tag "monotree-0.1" revision [8a121346ce2920b6f85df68b3b620de96bd14a8d] signer "njs@pobox.com" branches "net.venge.monotone.contrib" "net.venge.monotone.contrib.monotree" tag "monotree-0.4" revision [f1afc520474f83c58262896ede027ef77226046e] signer "njs@pobox.com" branches "net.venge.monotone.contrib.monotree"
All stanzas are formatted by basic_io. Stanzas are separated by a blank line. Values will be escaped, '\' to '\\' and '"' to '\"'.
Each stanza has exactly the following four entries:
Stanzas are printed in arbitrary order.
28ce076c69eadb9b1ca7bdf9d40ce95fe2f29b61 75156724e0e2e3245838f356ec373c50fa469f1f
M 0 0 missing AP 0 0 added D 0 0 dropped R 1 0 renamed-from-this R 0 1 renamed-to-this P 0 0 patched 0 0 unchanged U 0 0 unknown I 0 0 ignored
Two files swapped:
RR 1 2 unchanged RR 2 1 original
Recorded with monotone that two files were swapped, but they were not actually swapped in the filesystem. Thus they both appear as patched:
RRP 1 2 unchanged RRP 2 1 original
Rename foo to bar; add new file foo:
RAP 1 0 foo R 0 1 bar
Rotated files foo -> bar -> baz -> foo:
RR 1 3 foo RR 2 1 bar RR 3 2 baz
Recorded the rotation of files foo -> bar -> baz -> foo, but the actual files in the workspace were not moved, so monotone interprets all files as having been patched:
RRP 1 3 foo RRP 2 1 bar RRP 3 2 baz
Dropped but not removed and thus unknown:
D U 0 0 dropped
Added a non-existent file which is thus missing:
AM 0 0 added
Recorded a rename, but not moved in the filesystem, and thus unknown source and missing target:
R U 1 0 original RM 0 1 renamed
Moved in the filesystem but no rename recorded, and thus missing source and unknown target:
M 0 0 original U 0 0 renamed
Renamed and patched:
R 1 0 original RP 0 1 renamed
The three status characters are as follows.
column 1 pre-state ' ' the path was unchanged in the pre-state 'D' the path was deleted from the pre-state 'R' the path was renamed from the pre-state name column 2 post-state ' ' the path was unchanged in the post-state 'R' the path was renamed to the post-state name 'A' the path was added to the post-state column 3 file-state ' ' the file is known and unchanged from the current manifest version 'P' the file is patched to a new version 'U' the file is unknown and not included in the current manifest 'I' the file is ignored and not included in the current manifest 'M' the file is missing but is included in the current manifest
Note that there are 45 possible status code combinations, some of which are not valid, detailed below.
' ' unchanged ' P' patched (contents changed) ' U' unknown (exists on the filesystem but not tracked) ' I' ignored (exists on the filesystem but excluded by Lua hook) ' M' missing (exists in the manifest but not on the filesystem) ' A ' added (invalid, add should have associated patch) ' AP' added and patched ' AU' added but unknown (invalid) ' AI' added but ignored (seems invalid, but may be possible?) ' AM' added but missing from the filesystem ' R ' rename target ' RP' rename target and patched ' RU' rename target but unknown (invalid) ' RI' rename target but ignored (seems invalid, but may be possible?) ' RM' rename target but missing from the filesystem 'D ' dropped 'D P' dropped and patched (invalid) 'D U' dropped and unknown (still exists on the filesystem) 'D I' dropped and ignored (seems invalid, but may be possible?) 'D M' dropped and missing (invalid) 'DA ' dropped and added (invalid, add should have associated patch) 'DAP' dropped and added and patched 'DAU' dropped and added but unknown (invalid) 'DAI' dropped and added but ignored (seems invalid, but may be possible?) 'DAM' dropped and added but missing from the filesystem 'DR ' dropped and rename target 'DRP' dropped and rename target and patched 'DRU' dropped and rename target but unknown (invalid) 'DRI' dropped and rename target but ignored (invalid) 'DRM' dropped and rename target but missing from the filesystem 'R ' rename source 'R P' rename source and patched (invalid) 'R U' rename source and unknown (still exists on the filesystem) 'R I' rename source and ignored (seems invalid, but may be possible?) 'R M' rename source and missing (invalid) 'RA ' rename source and added (invalid, add should have associated patch) 'RAP' rename source and added and patched 'RAU' rename source and added but unknown (invalid) 'RAI' rename source and added but ignored (seems invalid, but may be possible?) 'RAM' rename source and added but missing from the filesystem 'RR ' rename source and target 'RRP' rename source and target and target patched 'RRU' rename source and target and target unknown (invalid) 'RRI' rename source and target and target ignored (seems invalid, but may be possible?) 'RRM' rename source and target and target missing
The two numbers are used to match up the pre-state and post-state of a rename. Imagine a situation where there are two renames. automate inventory will print something like:
R 1 0 a R 2 0 b R 0 2 c R 0 1 d
Here the status characters tell us that a and b were renamed, and we can tell that one was renamed to c and one was renamed to d, but we can't tell which was renamed to which. To do that, we have to refer to the numbers. The numbers do not themselves mean anything; their only purpose is to let you match up the two “ends” of a rename. The 1 in the left column by a means that a was the source of a rename, and the 1 in the right column by d means that d was the target of that same rename. Similarly, the two 2's tell us that b was renamed to c.
There are two columns of numbers because the same file can simultaneously be the target and source of a rename. The number '0' is used as a meaningless placeholder in all cases where a file is not a source or target of a rename. Any non-zero number that occurs at all will occur exactly once in the first column and exactly once in the second column.
Full support for versioned directories is not yet complete and the
inventory will only list entries for renamed or dropped
directories.
'key' a string indicating the key used to sign this certificate. 'signature' a string indicating the status of the signature. Possible values of this string are: 'ok' : the signature is correct 'bad' : the signature is invalid 'unknown' : signature was made with an unknown key 'name' the name of this certificate 'value' the value of this certificate 'trust' is this certificate trusted by the defined trust metric? Possible values of this string are: 'trusted' : this certificate is trusted 'untrusted' : this certificate is not trusted
key "emile@alumni.reed.edu" signature "ok" name "author" value "emile@alumni.reed.edu" trust "trusted" key "emile@alumni.reed.edu" signature "ok" name "branch" value "net.venge.monotone" trust "trusted" key "emile@alumni.reed.edu" signature "ok" name "changelog" value "propagate from branch 'net.venge.monotone.annotate' (head 76a886ef7c8ae12a4bba5fc2bd252557bf863aff) to branch 'net.venge.monotone' (head 2490479a4e4e99243fead6d627d78291fde592f0) " trust "trusted" key "emile@alumni.reed.edu" signature "ok" name "date" value "2005-05-20T20:19:25" trust "trusted"
l6:leavese l7:parents40:0e3171212f34839c2e3263e7282cdeea22fc5378e o6:author7:Timothye l6:commite
[ 'o' <string> <string> [ <string> <string> [ ... ] ] 'e' ] 'l' <string> [ <string> [ ... ] ] 'e'
The input is a series of commands. The command name plus arguments are provided as 'l' <string> [<string> ...] 'e', where <string> = <size> colon <data> . This may optionally be preceded by a set of key=value pairs (command options) as 'o' <string> <string> [<string> <string> ...] 'e', where strings come in pairs, key followed by value.
The space between the ending 'e' of one group of strings and the beginning
'l' or 'o' of the next is reserved. Any characters other than whitespace
will cause an error.
0:0:l:205:0e3171212f34839c2e3263e7282cdeea22fc5378 1f4ef73c3e056883c6a5ff66728dd764557db5e6 2133c52680aa2492b18ed902bdef7e083464c0b8 23501f8afd1f9ee037019765309b0f8428567f8a 2c295fcf5fe20301557b9b3a5b4d437b5ab8ec8c 1:0:l:41:7706a422ccad41621c958affa999b1a1dd644e79
<command number>:<err code>:<last?>:<size>:<output>
<command number> is a decimal number specifying which command this output is from. It is 0 for the first command, and increases by one each time.
<err code> is 0 for success, 1 for a syntax error, and 2 for any other error.
<last?> is 'l' if this is the last piece of output for this command, and 'm' if there is more output to come.
<size> is the number of bytes in the output.
<output> is a piece of the output of the command.
All but the last packet for a given command will have the
<last?> field set to 'm'.
format_version "1" new_manifest [bfe2df785c07bebeb369e537116ab9bb7a4b5e19] old_revision [429fea55e9e819a046843f618d90674486695745] patch "ChangeLog" from [7dc21d3a46c6ecd94685ab21e67b131b32002f12] to [234513e3838d423b24d5d6c98f70ce995c8bab6e] patch "std_hooks.lua" from [0408707bb6b97eae7f8da61af7b35364dbd5a189] to [d7bd0756c48ace573926197709e53eb24dae5f5f]
All stanzas are formatted by basic_io. Stanzas are separated by a blank line. Values will be escaped, '\' to '\\' and '"' to '\"'.
Possible values of this first value are along with an ordered list of basic_io formatted stanzas that will be provided are:
'format_version' used in case this format ever needs to change. format: ('format_version', the string "1") occurs: exactly once 'new_manifest' represents the new manifest associated with the revision. format: ('new_manifest', manifest id) occurs: exactly one 'old_revision' represents a parent revision. format: ('old_revision', revision id) occurs: either one or two times 'delete represents a file or directory that was deleted. format: ('delete', path) occurs: zero or more times 'rename' represents a file or directory that was renamed. format: ('rename, old filename), ('to', new filename) occurs: zero or more times 'add_dir' represents a directory that was added. format: ('add_dir, path) occurs: zero or more times 'add_file' represents a file that was added. format: ('add_file', path), ('content', file id) occurs: zero or more times 'patch' represents a file that was modified. format: ('patch', filename), ('from', file id), ('to', file id) occurs: zero or more times 'clear' represents an attr that was removed. format: ('clear', filename), ('attr', attr name) occurs: zero or more times 'set' represents an attr whose value was changed. format: ('set', filename), ('attr', attr name), ('value', attr value) occurs: zero or more times
These stanzas will always occur in the order listed here; stanzas of
the same type will be sorted by the filename they refer to. The 'delete'
and following stanzas will be grouped under the corresponding 'old_revision'
one.
28ce076c69eadb9b1ca7bdf9d40ce95fe2f29b61
28ce076c69eadb9b1ca7bdf9d40ce95fe2f29b61
format_version "1" dir "" file ".htaccess" content [e3915658cb464d05f21332e03d30dca5d94fe776] file "AUTHORS" content [80d8f3f75c9b517ec462233e155f7dfb93379f67] file "ChangeLog" content [fc74a48c7f73eedcbe1ea709755fbe819b29736c] file "LICENSE" content [dfac199a7539a404407098a2541b9482279f690d] file "README" content [440eec971e7bb61ccbb61634deb2729bb25931cd] file "TODO" content [e0ea26c666b37c5f98ccf80cb933d021ee55c593] file "branch.psp" content [b28ece354969314ce996f3030569215d685973d6] file "common.py" content [1fdb62e05fb2a9338d2c72ddc58de3ab2b3976fe] file "config.py.example" content [64cb5898e3a026b4782c343ca4386585e0c3c275] file "error.psp" content [7152c3ff110418aca5d23c374ea9fb92a0e98379] file "fileinbranch.psp" content [5d8536100fdf51d505b6f20bc9c16aa78d4e86a8] file "headofbranch.psp" content [981df124a0b5655a9f78c42504cfa8c6f02b267a] file "help.psp" content [a43d0588a69e622b2afc681678c2a5c3b3b1f342] file "html.py" content [18a8bffc8729d7bfd71d2e0cb35a1aed1854fa74] file "index.psp" content [c621827db187839e1a7c6e51d5f1a7f6e0aa560c] file "monotone.py" content [708b61436dce59f47bd07397ce96a1cfabe81970] file "revision.psp" content [a02b1c161006840ea8685e461fd07f0e9bb145a3] file "rss_feed.gif" content [027515fd4558abf317d54c437b83ec6bc76e3dd8] file "tags.psp" content [638140d6823eee5844de37d985773be75707fa25] file "tarofbranch.psp" content [be83f459a152ffd49d89d69555f870291bc85311] file "test.py" content [e65aace9237833ec775253cfde97f59a0af5bc3d] attr "mtn:execute" "true" file "utility.py" content [fb51955563d64e628e0e67e4acca1a1abc4cd989] file "viewmtn.css" content [8d04b3fc352a860b0e3240dcb539c1193705398f] file "viewmtn.py" content [7cb5c6b1b1710bf2c0fa41e9631ae43b03424a35] file "wrapper.py" content [530290467a99ca65f87b74f653bf462b28c6cda9]
All stanzas are formatted by basic_io. Stanzas are separated by a blank line. Values will be escaped, '\' to '\\' and '"' to '\"'.
Possible values of this first value are along with an ordered list of basic_io formatted stanzas that will be provided are:
'format_version' used in case this format ever needs to change. format: ('format_version', the string "1") occurs: exactly once 'dir': represents a directory. The path "" (the empty string) is used to represent the root of the tree. format: ('dir', pathname) occurs: one or more times 'file': represents a file. format: ('file', pathname), ('content', file id) occurs: zero or more times
In addition, 'dir' and 'file' stanzas may have attr information included. These are appended to the stanza below the basic dir/file information, with one line describing each attr. These lines take the form ('attr', attr name, attr value).
Stanzas are sorted by the path string.
format_version "1" attr "foo" "bar" state "added" attr "baz" "bat" state "dropped" attr "foobar" "foobat" state "unchanged"
All stanzas are formatted by basic_io. Stanzas are separated by a blank line and ordered by attribute name. Values will be escaped, '\' to '\\' and '"' to '\"'.
Each attribute stanza also contains another entry which tells the status of attribute. This entry can have one of the following four values:
The status 'changed' can come up if an attribute foo has been dropped and added afterwards with another value, like
$ mtn attr drop file.txt foo ; mtn attr set file.txt foo baz
If an attribute has been dropped, the output will still return the previously set value of the dropped attribute for convenience (obviously this is no longer recorded in the current workspace).
The complete format:
'format_version' used in case this format ever needs to change. format: ('format_version', the string "1") occurs: exactly once 'attr': represents an attribute. format: ('attr', key, value), ('state', [unchanged|changed|added|dropped]) occurs: zero or more times
If zero or more revisions are given, the command behaves as follows:
============================================================ --- guitone/res/i18n/guitone_de.ts 9857927823e1d6a0339b531c120dcaadd22d25e9 +++ guitone/res/i18n/guitone_de.ts 0b4715dc296b1955b0707923d45d79ca7769dd3f @@ -1,6 +1,14 @@ <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TS><TS version="1.1"> <context> + <name>AncestryGraph</name> + <message> [...]
If you've downloaded a release, see INSTALL for installation instructions. If you've checked this out, the generated files are not included, and you must use "autoreconf --install" to create them. "make html" for docs, or read the .info file and / or man page.
If a revision id is given, the file's contents in that specific revision
are printed. If no revision is given, the workspace's revision is used.
If you've downloaded a release, see INSTALL for installation instructions. If you've checked this out, the generated files are not included, and you must use "autoreconf --install" to create them. "make html" for docs, or read the .info file and / or man page.
net.venge.monotone
name "tbrownaw@gmail.com" public_hash [475055ec71ad48f5dfaf875b0fea597b5cbbee64] private_hash [7f76dae3f91bb48f80f1871856d9d519770b7f8a] public_location "database" "keystore" private_location "keystore" name "tomfa@debian.org" public_hash [3ac4afcd86af28413b0a23b7d22b9401e15027fc] public_location "database" name "underwater@fishtank.net" public_hash [115fdc73d87a5e9901d018462b21a1f53eca33a1] private_hash [b520d2cfe7d30e4ea1725fc4f34646fc5469b13d] public_location "keystore" private_location "keystore"
[rdata bdf3b10b5df0f17cc6c1b4b3351d84701bda59ed] H4sIAAAAAAAA/0XQS27DMAwE0L1PIfgArb4kte62NzACg5SoJEBsF7aRurev0UVzgJl5mLas E+/jU9ftvsymd33Xzfo9Tjzfm267GSgGwVarz6Valx0KtFYwii9VqUFCqJQ5X7puedRx1ef9 r2rwHlSbi+BUSrF4xn1p0RInkmxTbmwREp/BL97LzfQfN56v+rlc+860dZnMED01jhILkURJ Ul0KPpGN1ueUwDHyiXF66Ywx+2IGD+0Uqg8aCzikAEzZNRXPmJKlkhMxSHuNzrofx/uq2/J4 6njV/bZsu/zMPOlbOY4XJSD5KOrwXGdwpDGdfotZayQHKTAi5fRPqUWKcAMMIQfAjOK0nkfm 6tFacjYgBPV46X4BtlpiNYUBAAA= [end]
[rcert bdf3b10b5df0f17cc6c1b4b3351d84701bda59ed branch njs@pobox.com bmV0LnZlbmdlLm1vbm90b25l] K90i1XHHmaMEMuwbPifFweLThJl0m7jigh2Qq6Z7TBwNJ6IMOjXWCizv73cacZ1CtzxFDVwQ SlqhNWiPQWxdcMp+Uuo+V8IFMKmvxVSTuVDukLMuNAQqpGL5S+a+tEj68NMq+KLKuL8kAAPc RoFD7GQlTS35S3RHWA4cnvqn+8U= [end] [rcert bdf3b10b5df0f17cc6c1b4b3351d84701bda59ed date njs@pobox.com MjAwNi0wNC0wOFQxMTo1MDowMA==] araz9A8x6AlK6m6UhwnhUhk7cdyxeE2nvzj2gwaDvkaBxOq4SN23/wnaPqUXx1Ddn8smzyRY HN08xloYc0yNChp3wjbqx20REcsTg3XE4rN/sgCbqqw5hVT22a5ZhqkfkDeoeJvan0R0UBax ngKYo9eLuABNlmFX2onca75JW1E= [end] [rcert bdf3b10b5df0f17cc6c1b4b3351d84701bda59ed author njs@pobox.com bmpzQHBvYm94LmNvbQ==] BLPOYhgLsAN+w7CwOsv9GfXnG3u7RNF1DTrWdn0AnYE1e+ptgTeMVWUI18H4OGL0B7wm08rv Pxk/hvsb8fBn1Kf5HDDO2pbjJ0xVzI9+p+TR0y5jJNZlVSTj+nvtPgvK9NzsdooYWnwlWmJv bOkAzQcZb8NMh8pbQkdHbR5uzMo= [end] [rcert bdf3b10b5df0f17cc6c1b4b3351d84701bda59ed changelog njs@pobox.com MjAwNi0wNC0wOCAgTmF0aGFuaWVsIFNtaXRoICA8bmpzQHBvYm94LmNvbT4KCgkqIG5ldHh4 L3Jlc29sdmVfZ2V0aG9zdGJ5bmFtZS5jeHggKHJlc29sdmVfaG9zdG5hbWUpOiAjaWZkZWYg b3V0CglXaW4zMi1pbmNvbXBhdGlibGUgZXJyb3IgcmVwb3J0aW5nIGNhbGwuCg==] Ncl4L/oEPctzVQixTKA6FrLceeHnLiXfeyeFDNmtUFYg9BMUcjWkeyKmaWknLvOcHortxjto K6pQ9E8S7zI+TpzFAhssg5a///rFL0+2GJU3t6pcHs6LC0Q4tbqzwKd/5+8GwT1gphbM1wm7 KuzKthwqD3pp49GbgTrp8iWMTr0= [end]
[fdata 229c7f621b65f7e4970ae5aaec993812b9daa1d4] H4sIAAAAAAAA/z2OO27DMBBEe51ioMaNrJzBpQAjTXKBBTW0CJPcgFw6yO1DCkG62Q/em83j R9vlRez6naPKzh2CwkipXFBJbO8fn7f7HV4LQq4mMYoFzdMYSnMj1xXY/lnuoHt2kB2hQpst PREPZhaxvvchskIKkdU6xsXWvQsk76MOUquGVolZmmmh0+xxvf7JZ5jCFXbU4KZ1muYkT+Kw FOez5q6uLuh9+9eoQawhez3Fp+VtHJNkfMmDHfALzWYfcAgBAAA= [end]
[fdelta 597049a62d0a2e6af7df0b19f4945ec7d6458727 229c7f621b65f7e4970ae5aaec993812b9daa1d4] H4sIAAAAAAAA/0WOy0oEMRBF9/mKS2/c9LQg4t5lw+BGf6BIKtNhkpSkKop/b9II7m49OOfu eHp5dnvEj/SHL0aQ75qFAgcQGmcm5RXKjP3t/eP1ekWUhlTVKGeyJNXNoXU/s27AP8sf7O8D ZEdSSLd1JMaNKzeysY8ps4Iao4oNjM99eFdQDbMOSldDV8ZC3aSxlxpxufzJF5jANx6oyS2b c0uhO+OwkpezZhCvK0bf8TVrMLZUo5zi0/I4j4UqPunGA+B+AfHvKEIPAQAA [end]
content_mark [276264b0b3f1e70fc1835a700e6e61bdbe4c3f2f]
The complete format:
'content_mark' the hexadecimal id of the revision the content mark is attached to
file "foo"
The complete format:
'file' the file name corresponding to "file name" (arg 2) in the target revision