# # # patch "INSTALL" # from [4ba6492c71bd99721aff0612f1650ad0f70338f5] # to [83edc001e560d3122afd0e58dfe34b5682c7ee57] # # patch "NEWS" # from [5bc9ffb18ca66a50a8d76f8ab99defa364312977] # to [0dee337ea44af422a00dfacf962d088d5a5cb0c0] # # patch "UPGRADE" # from [d3d8c42e486ef104458fe758de268902a00ceae2] # to [dd53acd07dfebc6c40834f89af70696a6e6656a2] # # patch "docs/Additional-Lua-Functions.html" # from [003fcf003b671e91216a3e434b7b596c7600723a] # to [285e2b1228c364b9a93ae04192664a18fe95a8e7] # # patch "docs/Automation.html" # from [d79b6712901286af8b60661a8dfe33739c13ab1e] # to [aeef8408071b1a6a89c6030e08903f40fddfe1c9] # # patch "docs/General-Index.html" # from [ae33147ed4ebffbd2190121130bbf6cf7a5df848] # to [a11b038433091e40b0854bbaa127d19b76348dc8] # # patch "docs/Hooks.html" # from [49e2c1e72d3df417b91ed33ac673a2c054078544] # to [ea0cfac9c17a82b5e6c81c581b1fca4175e8c79f] # # patch "docs/RCS.html" # from [46f560f5bdc36fb04bef303611306f87e34f99b0] # to [eb5d2079dc0b1773126a6ba6af83107711b64d00] # # patch "docs/Rebuilding-ancestry.html" # from [6424f9076b7d8ea298d9d616b003948e024624f4] # to [9da65a984054c62eca74ebb2a49b4da5108e77c8] # # patch "docs/Versions-of-files.html" # from [ef657adad28e050daad568c6a40e338c8e7c2049] # to [4f859f5d77dce0db8caa488ed73f3e2d8bc473a3] # # patch "monotone.html" # from [42926ec93201942e790fdd706b7e5af4c92a9f3f] # to [187fc9e45bca3a1388b1854fb98036c92cd2b109] # # patch "monotone.pdf" # from [c3716597bf0fbe8178e49a457e9a3e130c7c5857] # to [76db467cd3e846e2f84fca406c3285c313bd032d] # ============================================================ --- INSTALL 4ba6492c71bd99721aff0612f1650ad0f70338f5 +++ INSTALL 83edc001e560d3122afd0e58dfe34b5682c7ee57 @@ -12,23 +12,37 @@ 1. prerequisites: * software prerequisites: + - autoconf. + - automake. + - gettext. - a supported C++ compiler: g++ 3.2 or later. - - an installed copy of boost 1.32.0 or later. + - an installed copy of boost 1.33.0 or later. - zlib 1.1.4 or later. + - libiconv if the iconv() function is missing. on debian: - apt-get install libboost-filesystem-dev + apt-get install autoconf + apt-get install automake + apt-get install gettext apt-get install libboost-regex-dev - apt-get install libboost-test-dev apt-get install libboost-dev + apt-get install libz-dev apt-get install g++ on fedora: + apt-get install autoconf + apt-get install automake + apt-get install gettext apt-get install boost-devel + apt-get install libz-devel apt-get install g++ + on Windows (incomplete): + + libiconv (http://gnuwin32.sourceforge.net/packages/libiconv.htm) + on other systems: check your system package repository, you may need to @@ -153,6 +167,10 @@ 4. testing monotone confirm monotone's functionality on your system. Do not run "make check" as root (Unix)! Doing so will cause the failure of some of the tests! + Also, make sure your testing process has enough memory. Experience + has shown that some tests may fail "mysteriously" when there is too + little memory. A possible hint is that 128MB was too little on + FreeBSD 6 on x86 while 256MB was enough. You might also like to try fetching monotone's sources from our monotone server. this process will transfer the complete development @@ -162,7 +180,7 @@ 4. testing monotone mtn --db=mt.mtn db init - mtn --db=mt.mtn pull venge.net "net.venge.monotone*" + mtn --db=mt.mtn pull monotone.ca "net.venge.monotone*" mtn --db=mt.mtn --branch=net.venge.monotone checkout monotone-sources ============================================================ --- NEWS 5bc9ffb18ca66a50a8d76f8ab99defa364312977 +++ NEWS 0dee337ea44af422a00dfacf962d088d5a5cb0c0 @@ -1,3 +1,104 @@ +Fri Aug 3 06:08:36 UTC 2007 + + 0.36 release. + + Changes + + - The help command is now able to show documentation on subcommands + (such as 'attr set'). + + - The help command now shows a brief abstract of each command, + instead of only listing their names. + + - The command `list changed` now outputs the new path of any + renamed item making it easier to copy and paste these paths + for external program usage. + + - `automate attributes` has been renamed to `automate get_attributes`, + also a bug has been fixed there so resurrected attributes are now + properly outputted as "new" and not "changed". + + New features + + - Two new commands to set and drop attributes over automate: + `automate set_attribute` and `automate drop_attribute` + + - There is a new function available to the lua hooks, + 'server_request_sync(what, address, include, exclude)', which will + initate a netsync connection to the server at "address", with the + given include and exclude patterns, and will sync, push, or pull, + as given in the "what" argument. If called from a monotone instance + which is not acting as a server, this function will do nothing. + + - There is a new hook available, + 'get_netsync_key(server, include, exclude)', which is called to + determine which key to use for netsync operations. Note that the + server calls this once at startup with the address it is listening + on, "*", and "" as arguments, rather than for each connection. + + Other + + - Giving the --confdir argument will automatically set the key store + directory to keys/ under that directory, unless --keydir is also + given. This is a bugfix. + + - Fixed a regression in 0.35 that resulted in some databases + becoming significantly larger when storing new revisions. Existing + databases with this problem can be fixed by pulling into a fresh + database using 0.36. + + - contrib/lua-mode.el, a Lua mode for GNU emacs. + + - contrib/monotone-buildbot-notification.lua, a netsync hook to have a + server notify a buildbot when new changes have arrived. Useful for + anyone who uses a buildbot with monotone as source. + + - contrib/monotone-cluster-push.lua, a netsync hook script to have + arriving changes be forwarded to other servers automatically. It + uses the new internal lua function 'server_request_sync'. + + - contrib/mtn_makepermissions, a simple script to create + read-permissions and write-permissions from files in the directories + read-permissions.d and write-permissions.d, Debian style. + + - contrib/Monotone.pm, a first attempt to write a Perl module to + interface with 'monotone automate stdio'. + + - contrib/monotone-import.pl has been removed since monotone now has + an internal import command. + + Internal + + - Commands are now defined as a tree of commands instead of a + plain list, which allows the help system to look up information + of a command at an level in the tree. + + - The command class, the automate class and all the associated + macros have been cleaned up. + + - All C++ files now depend on base.hh, which includes the few things + that are used virtually everywhere. 'make distcheck' will check for + the presence of base.hh in all source files and will protest if + it's not there. This is explained further in HACKING. + + - Update the internal SQLite to version 3.4.0. + + - Updated Visual C building system, which now also builds the test + programs. The script visualc/runtests.bat can be used to run the + tests. + + - Monotone can now be built successfully with Boost 1.34. Older + versions of monotone would sometimes seem to work depending on + the compiler used, but would have bugs in path normalization. + + - Monotone now requires Boost 1.33 or later. + + - The Boost filesystem library is no longer required. + + - The Boost unit test system is no longer required. + + + Mon May 7 14:08:44 UTC 2007 0.35 release. ============================================================ --- UPGRADE d3d8c42e486ef104458fe758de268902a00ceae2 +++ UPGRADE dd53acd07dfebc6c40834f89af70696a6e6656a2 @@ -1,4 +1,4 @@ -upgrading monotone to 0.35 +upgrading monotone to 0.36 ========================== How to read this file: ============================================================ --- docs/Additional-Lua-Functions.html 003fcf003b671e91216a3e434b7b596c7600723a +++ docs/Additional-Lua-Functions.html 285e2b1228c364b9a93ae04192664a18fe95a8e7 @@ -36,7 +36,7 @@ hook writers. hook writers.
-
existonpath(possible_command)
+
existonpath(possible_command)
This function receives a string containing the name of an external program and returns 0 if it exists on path and is executable, -1 otherwise. @@ -46,56 +46,56 @@ for “xxdiff.exe”. program name. In the previous example, existonpath would search for “xxdiff.exe”. -
get_confdir()
+
get_confdir()
Returns the path to the configuration directory, either implied or given with --confdir. -
get_ostype()
+
get_ostype()
Returns the operating system flavor as a string. -
guess_binary_file_contents(filespec)
+
guess_binary_file_contents(filespec)
Returns true if the file appears to be binary, i.e. contains one or more of the following characters:
          0x00 thru 0x06
           0x0E thru 0x1a
           0x1c thru 0x1f
      
-
include(scriptfile)
+
include(scriptfile)
This function tries to load and execute the script contained into scriptfile. It returns true for success and false if there is an error. -
includedir(scriptpath)
+
includedir(scriptpath)
This function loads and executes in alphabetical order all the scripts contained into the directory scriptpath. If one of the scripts has an error, the functions doesn't process the remaining scripts and immediately returns false. -
includedirpattern(scriptpath, pattern)
+
includedirpattern(scriptpath, pattern)
This function loads and executes in alphabetical order all the scripts contained into the directory scriptpath that match the given pattern. If one of the scripts has an error, the functions doesn't process the remaining scripts and immediately returns false. -
is_executable(filespec)
+
is_executable(filespec)
This function returns true if the file is executable, false otherwise. On Windows this function returns always false. -
kill(pid [, signal])
+
kill(pid [, signal])
This function calls the kill() C library function on POSIX systems and TerminateProcess on Win32 (in that case pid is the process handle). If the optional signal parameter is missing, SIGTERM will be used. Returns 0 on success, -1 on error. -
make_executable(filespec)
+
make_executable(filespec)
This function marks the named file as executable. On Windows has no effect. -
match(glob, string)
+
match(glob, string)
Returns true if glob matches str, return false otherwise. -
mkstemp(template)
+
mkstemp(template)
Like its C library counterpart, mkstemp creates a unique name and returns a file descriptor for the newly created file. The value of template should be a pointer to a character buffer loaded @@ -117,7 +117,7 @@ For the definition of temp_file()< file in the standard TMP/TEMP directories. For the definition of temp_file(), see Default hooks. -
parse_basic_io(data)
+
parse_basic_io(data)
Parse the string data, which should be in basic_io format. It returns nil if it can't parse the string; otherwise it returns a table. This will be a list of all statements, with each entry being a table having a "name" element that is @@ -139,14 +139,22 @@ the arguments. 4 = { name = "frob", args = { 1 = "oops" } } } -
regex.search(regexp, string)
+
regex.search(regexp, string)
Returns true if a match for regexp is found in str, return false otherwise. -
sleep(seconds)
+
server_request_sync(what, address, include, exclude)
+Initiate a netsync connection to the server at address, with the +given include and exclude patterns, of type sync, push, +or pull, as given by the what argument. + +

When called by a monotone instance which is not running the serve +command, this function has no effect. + +

sleep(seconds)
Makes the calling process sleep for the specified number of seconds. -
spawn(executable [, args ...])
+
spawn(executable [, args ...])
Starts the named executable with the given arguments. Returns the process PID on POSIX systems, the process handle on Win32 or -1 if there was an error. @@ -158,17 +166,17 @@ in a standardized way. option. execute() builds on spawn() and wait() in a standardized way. -
spawn_pipe(executable [, args ...])
+
spawn_pipe(executable [, args ...])
Like spawn(), but returns three values, where the first two are the subprocess' standard input and standard output, and the last is the process PID on POSIX systems, the process handle on Win32 or -1 if there was an error. -
spawn_redirected(infile, outfile, errfile, executable [, args ...])
+
spawn_redirected(infile, outfile, errfile, executable [, args ...])
Like spawn(), but with standard input, standard output and standard error redirected to the given files. -
wait(pid)
+
wait(pid)
Wait until the process with given PID (process handle on Win32) exits. Returns two values: a result value and the exit code of the waited-for process. ============================================================ --- docs/Automation.html d79b6712901286af8b60661a8dfe33739c13ab1e +++ docs/Automation.html aeef8408071b1a6a89c6030e08903f40fddfe1c9 @@ -1275,14 +1275,17 @@ message to stderr and exits with status
-
mtn automate attributes file
+
mtn automate get_attributes path
Arguments:
-The argument file determines which file's attributes should be printed. +The argument path determines which path's attributes should be printed.
Added in:
3.0 +
Renamed from attributes to get_attributes in:
+5.0 +
Purpose:
Prints all attributes of the given file and the attribute states. @@ -1342,14 +1345,60 @@ recorded in the current workspace).
Error conditions:
-If the file specified is unknown to the current workspace prints an error +If the path specified is unknown in the new workspace revision, prints an error message to stderr and exits with status 1.
-
mtn automate content_diff [--revision=id1 [--revision=id2]] [files ...]
+
mtn automate set_attribute path key value
Arguments:
+A path, an attribute key and an attribute value. + +
Added in:
+5.0 + +
Purpose:
+Edits the current workspace revision and inserts the given attribute key and +value for the specified path. Note that this change is not committed and +therefor behaves exactly like mtn attr set key value. + +
Output format:
+This command does not print out anything if successful. + +
Error conditions:
+If the path specified is unknown in the new workspace revision, prints an error +message to stderr and exits with status 1. + +
+ +
mtn automate drop_attribute path [key]
+
+
Arguments:
+A path and an attribute key (optional). + +
Added in:
+5.0 + +
Purpose:
+Removes an attribute from the current workspace revision for the specified path. +If no attribute key is given, all attributes of this path are removed. Note that +this change is not committed and therefor behaves exactly like +mtn attr drop path [key]. + +
Output format:
+This command does not print out anything if successful. + +
Error conditions:
+If the path specified is unknown in the new workspace revision or the attribute +key is not found for this path, prints an error message to stderr and exits with +status 1. + +
+ +
mtn automate content_diff [--revision=id1 [--revision=id2]] [files ...]
+
+
Arguments:
One or more file arguments restrict the diff output to these files, otherwise all changed files in the given revision(s) and/or current workspace are considered. @@ -1400,7 +1449,7 @@ restrictions can't be applied, the comma
-
mtn automate get_file id
+
mtn automate get_file id
Arguments:
The id argument specifies the file hash of the file to be output. @@ -1429,7 +1478,7 @@ to stderr and exits with status 1.
-
mtn automate get_file_of filename [--revision=id]
+
mtn automate get_file_of filename [--revision=id]
Arguments:
The filename argument specifies the filename of the file to be output. @@ -1462,7 +1511,7 @@ with status 1.
-
mtn automate get_option option
+
mtn automate get_option option
Arguments:
The option argument specifies the option name of the option to be output. @@ -1487,7 +1536,7 @@ with status 1.
-
mtn automate keys
+
mtn automate keys
Arguments:
None. @@ -1529,7 +1578,7 @@ None.
-
mtn automate packet_for_rdata id
+
mtn automate packet_for_rdata id
Arguments:
The id specifies the revision to output an rdata packet for. @@ -1561,7 +1610,7 @@ and exits with status 1.
-
mtn automate packet_for_certs id
+
mtn automate packet_for_certs id
Arguments:
The id specifies the revision to output cert packets for. @@ -1619,7 +1668,7 @@ and exits with status 1.
-
mtn automate packet_for_fdata id
+
mtn automate packet_for_fdata id
Arguments:
The id specifies the file to output an fdata packet for. @@ -1649,7 +1698,7 @@ and exits with status 1.
-
mtn automate packet_for_fdelta from-id to-id
+
mtn automate packet_for_fdelta from-id to-id
Arguments:
The from-id specifies the file to use as the base of the delta, @@ -1681,7 +1730,7 @@ message to stderr and exits with status
-
mtn automate get_content_changed id file
+
mtn automate get_content_changed id file
Arguments:
The id specifies a revision ID, from which content change calculations will be based. @@ -1713,7 +1762,7 @@ message to stderr and exits with status
-
mtn automate get_corresponding_path source_id file target_id
+
mtn automate get_corresponding_path source_id file target_id
Arguments:
The source_id specifies a revision ID in which file is current extant. @@ -1751,7 +1800,7 @@ 1. Note that file not existin
-
mtn automate db_get domain name
+
mtn automate db_get domain name
Arguments:
The domain and name specify the database variable @@ -1778,7 +1827,7 @@ status 1.
-
mtn automate db_put domain name value
+
mtn automate db_put domain name value
Arguments:
The domain and name specify the database variable @@ -1803,7 +1852,7 @@ None.
-
mtn automate put_file [base-id] contents
+
mtn automate put_file [base-id] contents
Arguments:
The optional base-id specifies a file-id on which the contents are @@ -1832,7 +1881,7 @@ exits with status 1.
-
mtn automate put_revision revision-data
+
mtn automate put_revision revision-data
Arguments:
revision-data is the new revision. See example below. Note that @@ -1879,7 +1928,7 @@ this fact, but otherwise works as normal
-
mtn automate cert revision name value
+
mtn automate cert revision name value
Arguments:
revision is an existing revision, name is the certificate name ============================================================ --- docs/General-Index.html ae33147ed4ebffbd2190121130bbf6cf7a5df848 +++ docs/General-Index.html a11b038433091e40b0854bbaa127d19b76348dc8 @@ -32,38 +32,39 @@ Up: General Index ============================================================ --- docs/Hooks.html 49e2c1e72d3df417b91ed33ac673a2c054078544 +++ docs/Hooks.html ea0cfac9c17a82b5e6c81c581b1fca4175e8c79f @@ -46,7 +46,7 @@ are taken. are taken.
-
note_commit (new_id, revision, certs)
+
note_commit (new_id, revision, certs)
Called by monotone after the version new_id is committed. The second parameter, revision is the text of the revision, what would be given by mtn automate get_revision new_id. The third @@ -61,7 +61,7 @@ should not perform any security-critical commit-notification systems such as mailing lists or news services. It should not perform any security-critical operations. -
note_netsync_start (session_id, my_role, sync_type,
remote_host, remote_keyname, includes, excludes) +
note_netsync_start (session_id, my_role, sync_type,
remote_host, remote_keyname, includes, excludes)

Called by monotone before any other of the netsync notification hooks are called. The session_id helps keep track of the current netsync @@ -92,7 +92,7 @@ The include and exclude patterns used by

-
note_netsync_revision_received (new_id, revision, certs, session_id)
+
note_netsync_revision_received (new_id, revision, certs, session_id)
Called by monotone after the revision new_id is received through netsync. revision is the text of the revision, what would be given by mtn automate get_revision new_id. certs is a @@ -104,7 +104,7 @@ tracking, you can ignore that variable e note_netsync_end. If you're not interested in that type of tracking, you can ignore that variable entirely. -
note_netsync_cert_received (rev_id, key, name, value, session_id)
+
note_netsync_cert_received (rev_id, key, name, value, session_id)
Called by monotone after a cert is received through netsync, if the revision that the cert is attached to was not also received in the same netsync operation. rev_id is the revision id that the cert is attached to, @@ -115,14 +115,14 @@ tracking, you can ignore that variable e note_netsync_end. If you're not interested in that type of tracking, you can ignore that variable entirely. -
note_netsync_pubkey_received (keyname, session_id)
+
note_netsync_pubkey_received (keyname, session_id)
Called by monotone after a pubkey is received through netsync. keyname is the name of the key received. There is no default definition for this hook. session_id is used together with note_netsync_start and note_netsync_end. If you're not interested in that type of tracking, you can ignore that variable entirely. -
note_netsync_end (session_id, status,
bytes_in, bytes_out, certs_in, certs_out, +
note_netsync_end (session_id, status,
bytes_in, bytes_out, certs_in, certs_out, revs_in, revs_out, keys_in, keys_out)

Called by monotone after all other the netsync notification hooks have @@ -170,15 +170,23 @@ data was transferred. have been transferred, xx2 means no data was transferred, and xx0 means all data was transferred. -

note_mtn_startup (...)
+
note_mtn_startup (...)
Called by monotone when it is first started, this hook was added so that usage of monotone could be monitored for user interface testing. Note that by default, no monitoring occurs. The arguments to the hook function are the arguments to monotone, without the initial mtn command. They can be accessed through the lua arg -variable which contains the variable list of arguments. +variable as in this example: -
+
          function note_mtn_startup(...)
+              print("Beginning note_mtn_startup")
+              for i = 1,arg.n do
+                  print(arg[i])
+              end
+              print("Ending note_mtn_startup")
+          end
+     
+

6.1.2 User Defaults

@@ -187,7 +195,7 @@ prompted for. prompted for.
-
get_branch_key (branchname)
+
get_branch_key (branchname)
Returns a string which is the name of an rsa private key used to sign certificates in a particular branch branchname. There is no default definition for this hook. The command-line option @@ -197,7 +205,17 @@ to use the unique private key. --key=keyname option; monotone will guess that you want to use the unique private key. -
get_passphrase (keypair_id)
+
get_netsync_key(server, include, exclude)
+Returns a string which is the name of the key to use to authenticate +the given netsync connection. When called by the serve command, +server is the address monotone is listening on, include is +"*", and exclude is "". + +

There is no default definition of this hook. The command-line option +--key=keyname overrides any value returned from this +hook function. + +

get_passphrase (keypair_id)
Returns a string which is the passphrase used to encrypt the private half of keypair_id in your database, using the arc4 symmetric cipher. keypair_id is a Lua string containing the label that you @@ -206,7 +224,7 @@ a passphrase each time it needs to use a this hook is not defined or returns false, monotone will prompt you for a passphrase each time it needs to use a private key. -
get_author (branchname, keypair_id)
+
get_author (branchname, keypair_id)
Returns a string which is used as a value for automatically generated author certificates when you commit changes to branchname with the keypair identity keypair_id. Generally @@ -232,7 +250,7 @@ definitions might be: return keypair_id end -
edit_comment (commentary, user_log_message)
+
edit_comment (commentary, user_log_message)
Returns a log entry for a given set of changes, described in commentary. The commentary is identical to the output of mtn status. This hook is intended to interface with @@ -249,7 +267,7 @@ the system up for another edit/commit cy

For the default definition of this hook, see Default hooks. -

persist_phrase_ok ()
+
persist_phrase_ok ()
Returns true if you want monotone to remember the passphrase of a private key for the duration of a single command, or false if you want monotone to prompt you for a passphrase for each certificate @@ -262,7 +280,7 @@ probably want this hook to return return true end -
use_inodeprints ()
+
use_inodeprints ()
Returns true if you want monotone to automatically enable Inodeprints support in all workspaces. Only affects working copies created after you modify the hook. @@ -272,7 +290,7 @@ copies created after you modify the hook return false end -
ignore_file (filename)
+
ignore_file (filename)
Returns true if filename should be ignored while adding, dropping, or moving files. Otherwise returns false. This is most important when performing recursive actions on directories, which @@ -285,7 +303,7 @@ default definition of this hook, see Default hooks. -
ignore_branch (branchname)
+
ignore_branch (branchname)
Returns true if branchname should be ignored while listing branches. Otherwise returns false. This hook has no default definition, therefore the default behavior is to list all branches. @@ -302,7 +320,7 @@ changed. changed.
-
get_netsync_read_permitted (branch, identity)
+
get_netsync_read_permitted (branch, identity)
Returns true if a peer authenticated as key identity should be allowed to read from your database certs, revisions, manifests, and files associated with branch; otherwise false. @@ -344,7 +362,7 @@ key fingerprints of each key in your dat key fingerprints of each key in your database, as key ID strings are “convenience names”, not security tokens. -
get_netsync_write_permitted (identity)
+
get_netsync_write_permitted (identity)
Returns true if a peer authenticated as key identity should be allowed to write into your database certs, revisions, manifests, and files; otherwise false. The default definition of this hook reads a file @@ -383,7 +401,7 @@ a TCP socket. a TCP socket.
-
get_netsync_connect_command (uri, args)
+
get_netsync_connect_command (uri, args)
Returns a table describing a command to run to connect to the specified host. The uri argument is a table containing between 0 and 7 components: @@ -462,7 +480,7 @@ components: return argv end -
use_transport_auth (uri)
+
use_transport_auth (uri)
Returns a boolean indicating whether monotone should use transport authentication mechanisms when communicating with uri. If this hook fails, the return value is assumed to be true. The form of @@ -488,7 +506,7 @@ authentication assumptions. end end -
get_mtn_command(host)
+
get_mtn_command(host)
Returns a string containing the monotone command to be executed on host when communicating over ssh. The host argument is a string containing the name of the host to which @@ -520,7 +538,7 @@ valid revisions, according to their own valid revisions, according to their own preferences and purposes.
-
get_revision_cert_trust (signers, id, name, val)
+
get_revision_cert_trust (signers, id, name, val)
Returns whether or not you trust the assertion name=value on a given revision id, given a valid signature from all the keys in signers. The signers @@ -566,7 +584,7 @@ the revision has been approved by an ext the revision has been approved by an extra “reviewer” who used the approve command. -
accept_testresult_change (old_results, new_results)
+
accept_testresult_change (old_results, new_results)
This hook is used by the update algorithm to determine whether a change in test results between update source and update target is acceptable. The hook is called with two tables, each of which maps a @@ -604,7 +622,7 @@ customisation of the way file difference customisation of the way file differences are shown.
-
get_encloser_pattern (file_path)
+
get_encloser_pattern (file_path)
Called for each file when diff is given the --show-encloser option (and not the --external option). file_path is the pathname of the @@ -619,7 +637,7 @@ make it to the default for that language hook; and if you send it to the monotone developers, we will likely make it to the default for that language. -
external_diff (file_path, old_data, new_data, is_binary,
diff_args, old_rev, new_rev) +
external_diff (file_path, old_data, new_data, is_binary,
diff_args, old_rev, new_rev)

Called for each file when diff is given the --external option. file_path is the pathname of the @@ -654,7 +672,7 @@ you have a tool specific to certain file

-
merge3 (ancestor_path, left_path, right_path, merged_path, ancestor_text, left_text, right_text)
+
merge3 (ancestor_path, left_path, right_path, merged_path, ancestor_text, left_text, right_text)
This hook is called to resolve merges that monotone could not resolve automatically. The actual ancestor, left, and right contents of the file are passed in the ancestor_text, left_text, and @@ -677,7 +695,7 @@ local system. For details, see the code local system. For details, see the code in Default hooks.

-

get_preferred_merge3_command(tbl)
+
get_preferred_merge3_command(tbl)
Returns the results of running an external merge on three strings. tbl wraps up the various arguments for each merge command and is always provided by merge3. If there is a particular editor @@ -697,7 +715,7 @@ expand them to their full form.

For more detail on the use of selectors, see Selectors.

-
expand_selector (str)
+
expand_selector (str)
Attempts to expand str as a selector. Expansion generally means providing a type prefix for the selector, such as a: for authors or d: for dates. This hook is called once for each element of a @@ -705,7 +723,7 @@ evaluation of the selector. For the defa evaluation of the selector. For the default definition of this hook, see Default hooks. -
expand_date (str)
+
expand_date (str)
Attempts to expand str as a date expression. Expansion means recognizing and interpreting special words such as yesterday or 6 months ago and converting them into well formed date @@ -728,7 +746,7 @@ according to its attributes when the wor according to its attributes when the workspace is changed.
-
attr_functions [attribute] (filename, value)
+
attr_functions [attribute] (filename, value)
This is not a hook function, but a table of hook functions. Each entry in the table attr_functions, at table entry attribute, is a function taking a file name filename @@ -751,7 +769,7 @@ attribute. Its definition is: end end -
attr_init_functions [attribute] (filename)
+
attr_init_functions [attribute] (filename)
This is not a hook function, but a table of hook functions. Each entry in the table attr_init_functions, at table entry attribute, is a function taking a file (or @@ -791,7 +809,7 @@ allow a client to validate or reject cer allow a client to validate or reject certain behaviors.
-
validate_commit_message (message, revision_text, branchname)
+
validate_commit_message (message, revision_text, branchname)
This hook is called after the user has entered his/her commit message. message is the commit message that the user has entered and revision_text is the full text of the changes for this revision, ============================================================ --- docs/RCS.html 46f560f5bdc36fb04bef303611306f87e34f99b0 +++ docs/RCS.html eb5d2079dc0b1773126a6ba6af83107711b64d00 @@ -33,14 +33,14 @@ Up: 5.10 RCS
-
mtn rcs_import filename...
+
mtn rcs_import filename...
This command imports all the file versions in each RCS file listed in filename.... These files should be raw RCS files, ending in ,v. Monotone parses them directly and inserts them into your database. Note that this does not do any revision reconstruction, and is only useful for debugging. -
mtn cvs_import pathname
+
mtn cvs_import pathname
This command imports all the file versions in each RCS file found in the tree of files starting at pathname, then reconstructs the tree-wide history of logical changes by comparing RCS time stamps and ============================================================ --- docs/Rebuilding-ancestry.html 6424f9076b7d8ea298d9d616b003948e024624f4 +++ docs/Rebuilding-ancestry.html 9da65a984054c62eca74ebb2a49b4da5108e77c8 @@ -154,7 +154,7 @@ never happen at all. But this way we're

-

Fotnoter

[1] Regardless of who originally +

Footnotes

[1] Regardless of who originally signed the certs, after the rebuild they will be signed by you. This means you should be somewhat careful when rebuilding, but it is unavoidable — if you could sign with other people's keys, that would ============================================================ --- docs/Versions-of-files.html ef657adad28e050daad568c6a40e338c8e7c2049 +++ docs/Versions-of-files.html 4f859f5d77dce0db8caa488ed73f3e2d8bc473a3 @@ -94,7 +94,7 @@ document.


-

Fotnoter

[1] We +

Footnotes

[1] We say sha1 values are “unique” here, when in fact there is a small probability of two different versions having the same sha1 value. This probability is very small, so we discount it.

============================================================ --- monotone.html 42926ec93201942e790fdd706b7e5af4c92a9f3f +++ monotone.html 187fc9e45bca3a1388b1854fb98036c92cd2b109 @@ -5595,14 +5595,17 @@ message to stderr and exits with status
-
mtn automate attributes file
+
mtn automate get_attributes path
Arguments:
-The argument file determines which file's attributes should be printed. +The argument path determines which path's attributes should be printed.
Added in:
3.0 +
Renamed from attributes to get_attributes in:
+5.0 +
Purpose:
Prints all attributes of the given file and the attribute states. @@ -5662,14 +5665,60 @@ recorded in the current workspace).
Error conditions:
-If the file specified is unknown to the current workspace prints an error +If the path specified is unknown in the new workspace revision, prints an error message to stderr and exits with status 1.
-
mtn automate content_diff [--revision=id1 [--revision=id2]] [files ...]
+
mtn automate set_attribute path key value
Arguments:
+A path, an attribute key and an attribute value. + +
Added in:
+5.0 + +
Purpose:
+Edits the current workspace revision and inserts the given attribute key and +value for the specified path. Note that this change is not committed and +therefor behaves exactly like mtn attr set key value. + +
Output format:
+This command does not print out anything if successful. + +
Error conditions:
+If the path specified is unknown in the new workspace revision, prints an error +message to stderr and exits with status 1. + +
+ +
mtn automate drop_attribute path [key]
+
+
Arguments:
+A path and an attribute key (optional). + +
Added in:
+5.0 + +
Purpose:
+Removes an attribute from the current workspace revision for the specified path. +If no attribute key is given, all attributes of this path are removed. Note that +this change is not committed and therefor behaves exactly like +mtn attr drop path [key]. + +
Output format:
+This command does not print out anything if successful. + +
Error conditions:
+If the path specified is unknown in the new workspace revision or the attribute +key is not found for this path, prints an error message to stderr and exits with +status 1. + +
+ +
mtn automate content_diff [--revision=id1 [--revision=id2]] [files ...]
+
+
Arguments:
One or more file arguments restrict the diff output to these files, otherwise all changed files in the given revision(s) and/or current workspace are considered. @@ -5720,7 +5769,7 @@ restrictions can't be applied, the comma
-
mtn automate get_file id
+
mtn automate get_file id
Arguments:
The id argument specifies the file hash of the file to be output. @@ -5749,7 +5798,7 @@ to stderr and exits with status 1.
-
mtn automate get_file_of filename [--revision=id]
+
mtn automate get_file_of filename [--revision=id]
Arguments:
The filename argument specifies the filename of the file to be output. @@ -5782,7 +5831,7 @@ with status 1.
-
mtn automate get_option option
+
mtn automate get_option option
Arguments:
The option argument specifies the option name of the option to be output. @@ -5807,7 +5856,7 @@ with status 1.
-
mtn automate keys
+
mtn automate keys
Arguments:
None. @@ -5849,7 +5898,7 @@ None.
-
mtn automate packet_for_rdata id
+
mtn automate packet_for_rdata id
Arguments:
The id specifies the revision to output an rdata packet for. @@ -5881,7 +5930,7 @@ and exits with status 1.
-
mtn automate packet_for_certs id
+
mtn automate packet_for_certs id
Arguments:
The id specifies the revision to output cert packets for. @@ -5939,7 +5988,7 @@ and exits with status 1.
-
mtn automate packet_for_fdata id
+
mtn automate packet_for_fdata id
Arguments:
The id specifies the file to output an fdata packet for. @@ -5969,7 +6018,7 @@ and exits with status 1.
-
mtn automate packet_for_fdelta from-id to-id
+
mtn automate packet_for_fdelta from-id to-id
Arguments:
The from-id specifies the file to use as the base of the delta, @@ -6001,7 +6050,7 @@ message to stderr and exits with status
-
mtn automate get_content_changed id file
+
mtn automate get_content_changed id file
Arguments:
The id specifies a revision ID, from which content change calculations will be based. @@ -6033,7 +6082,7 @@ message to stderr and exits with status
-
mtn automate get_corresponding_path source_id file target_id
+
mtn automate get_corresponding_path source_id file target_id
Arguments:
The source_id specifies a revision ID in which file is current extant. @@ -6071,7 +6120,7 @@ 1. Note that file not existin
-
mtn automate db_get domain name
+
mtn automate db_get domain name
Arguments:
The domain and name specify the database variable @@ -6098,7 +6147,7 @@ status 1.
-
mtn automate db_put domain name value
+
mtn automate db_put domain name value
Arguments:
The domain and name specify the database variable @@ -6123,7 +6172,7 @@ None.
-
mtn automate put_file [base-id] contents
+
mtn automate put_file [base-id] contents
Arguments:
The optional base-id specifies a file-id on which the contents are @@ -6152,7 +6201,7 @@ exits with status 1.
-
mtn automate put_revision revision-data
+
mtn automate put_revision revision-data
Arguments:
revision-data is the new revision. See example below. Note that @@ -6199,7 +6248,7 @@ this fact, but otherwise works as normal
-
mtn automate cert revision name value
+
mtn automate cert revision name value
Arguments:
revision is an existing revision, name is the certificate name @@ -6233,14 +6282,14 @@ exits with status 1.

5.10 RCS

-
mtn rcs_import filename...
+
mtn rcs_import filename...
This command imports all the file versions in each RCS file listed in filename.... These files should be raw RCS files, ending in ,v. Monotone parses them directly and inserts them into your database. Note that this does not do any revision reconstruction, and is only useful for debugging. -
mtn cvs_import pathname
+
mtn cvs_import pathname
This command imports all the file versions in each RCS file found in the tree of files starting at pathname, then reconstructs the tree-wide history of logical changes by comparing RCS time stamps and @@ -6319,7 +6368,7 @@ are taken. are taken.
-
note_commit (new_id, revision, certs)
+
note_commit (new_id, revision, certs)
Called by monotone after the version new_id is committed. The second parameter, revision is the text of the revision, what would be given by mtn automate get_revision new_id. The third @@ -6334,7 +6383,7 @@ should not perform any security-critical commit-notification systems such as mailing lists or news services. It should not perform any security-critical operations. -
note_netsync_start (session_id, my_role, sync_type,
remote_host, remote_keyname, includes, excludes) +
note_netsync_start (session_id, my_role, sync_type,
remote_host, remote_keyname, includes, excludes)

Called by monotone before any other of the netsync notification hooks are called. The session_id helps keep track of the current netsync @@ -6365,7 +6414,7 @@ The include and exclude patterns used by

-
note_netsync_revision_received (new_id, revision, certs, session_id)
+
note_netsync_revision_received (new_id, revision, certs, session_id)
Called by monotone after the revision new_id is received through netsync. revision is the text of the revision, what would be given by mtn automate get_revision new_id. certs is a @@ -6377,7 +6426,7 @@ tracking, you can ignore that variable e note_netsync_end. If you're not interested in that type of tracking, you can ignore that variable entirely. -
note_netsync_cert_received (rev_id, key, name, value, session_id)
+
note_netsync_cert_received (rev_id, key, name, value, session_id)
Called by monotone after a cert is received through netsync, if the revision that the cert is attached to was not also received in the same netsync operation. rev_id is the revision id that the cert is attached to, @@ -6388,14 +6437,14 @@ tracking, you can ignore that variable e note_netsync_end. If you're not interested in that type of tracking, you can ignore that variable entirely. -
note_netsync_pubkey_received (keyname, session_id)
+
note_netsync_pubkey_received (keyname, session_id)
Called by monotone after a pubkey is received through netsync. keyname is the name of the key received. There is no default definition for this hook. session_id is used together with note_netsync_start and note_netsync_end. If you're not interested in that type of tracking, you can ignore that variable entirely. -
note_netsync_end (session_id, status,
bytes_in, bytes_out, certs_in, certs_out, +
note_netsync_end (session_id, status,
bytes_in, bytes_out, certs_in, certs_out, revs_in, revs_out, keys_in, keys_out)

Called by monotone after all other the netsync notification hooks have @@ -6443,15 +6492,23 @@ data was transferred. have been transferred, xx2 means no data was transferred, and xx0 means all data was transferred. -

note_mtn_startup (...)
+
note_mtn_startup (...)
Called by monotone when it is first started, this hook was added so that usage of monotone could be monitored for user interface testing. Note that by default, no monitoring occurs. The arguments to the hook function are the arguments to monotone, without the initial mtn command. They can be accessed through the lua arg -variable which contains the variable list of arguments. +variable as in this example: -
+
          function note_mtn_startup(...)
+              print("Beginning note_mtn_startup")
+              for i = 1,arg.n do
+                  print(arg[i])
+              end
+              print("Ending note_mtn_startup")
+          end
+     
+

6.1.2 User Defaults

@@ -6460,7 +6517,7 @@ prompted for. prompted for.
-
get_branch_key (branchname)
+
get_branch_key (branchname)
Returns a string which is the name of an rsa private key used to sign certificates in a particular branch branchname. There is no default definition for this hook. The command-line option @@ -6470,7 +6527,17 @@ to use the unique private key. --key=keyname option; monotone will guess that you want to use the unique private key. -
get_passphrase (keypair_id)
+
get_netsync_key(server, include, exclude)
+Returns a string which is the name of the key to use to authenticate +the given netsync connection. When called by the serve command, +server is the address monotone is listening on, include is +"*", and exclude is "". + +

There is no default definition of this hook. The command-line option +--key=keyname overrides any value returned from this +hook function. + +

get_passphrase (keypair_id)
Returns a string which is the passphrase used to encrypt the private half of keypair_id in your database, using the arc4 symmetric cipher. keypair_id is a Lua string containing the label that you @@ -6479,7 +6546,7 @@ a passphrase each time it needs to use a this hook is not defined or returns false, monotone will prompt you for a passphrase each time it needs to use a private key. -
get_author (branchname, keypair_id)
+
get_author (branchname, keypair_id)
Returns a string which is used as a value for automatically generated author certificates when you commit changes to branchname with the keypair identity keypair_id. Generally @@ -6505,7 +6572,7 @@ definitions might be: return keypair_id end -
edit_comment (commentary, user_log_message)
+
edit_comment (commentary, user_log_message)
Returns a log entry for a given set of changes, described in commentary. The commentary is identical to the output of mtn status. This hook is intended to interface with @@ -6522,7 +6589,7 @@ the system up for another edit/commit cy

For the default definition of this hook, see Default hooks. -

persist_phrase_ok ()
+
persist_phrase_ok ()
Returns true if you want monotone to remember the passphrase of a private key for the duration of a single command, or false if you want monotone to prompt you for a passphrase for each certificate @@ -6535,7 +6602,7 @@ probably want this hook to return return true end -
use_inodeprints ()
+
use_inodeprints ()
Returns true if you want monotone to automatically enable Inodeprints support in all workspaces. Only affects working copies created after you modify the hook. @@ -6545,7 +6612,7 @@ copies created after you modify the hook return false end -
ignore_file (filename)
+
ignore_file (filename)
Returns true if filename should be ignored while adding, dropping, or moving files. Otherwise returns false. This is most important when performing recursive actions on directories, which @@ -6558,7 +6625,7 @@ default definition of this hook, see Default hooks. -
ignore_branch (branchname)
+
ignore_branch (branchname)
Returns true if branchname should be ignored while listing branches. Otherwise returns false. This hook has no default definition, therefore the default behavior is to list all branches. @@ -6575,7 +6642,7 @@ changed. changed.
-
get_netsync_read_permitted (branch, identity)
+
get_netsync_read_permitted (branch, identity)
Returns true if a peer authenticated as key identity should be allowed to read from your database certs, revisions, manifests, and files associated with branch; otherwise false. @@ -6617,7 +6684,7 @@ key fingerprints of each key in your dat key fingerprints of each key in your database, as key ID strings are “convenience names”, not security tokens. -
get_netsync_write_permitted (identity)
+
get_netsync_write_permitted (identity)
Returns true if a peer authenticated as key identity should be allowed to write into your database certs, revisions, manifests, and files; otherwise false. The default definition of this hook reads a file @@ -6656,7 +6723,7 @@ a TCP socket. a TCP socket.
-
get_netsync_connect_command (uri, args)
+
get_netsync_connect_command (uri, args)
Returns a table describing a command to run to connect to the specified host. The uri argument is a table containing between 0 and 7 components: @@ -6735,7 +6802,7 @@ components: return argv end -
use_transport_auth (uri)
+
use_transport_auth (uri)
Returns a boolean indicating whether monotone should use transport authentication mechanisms when communicating with uri. If this hook fails, the return value is assumed to be true. The form of @@ -6761,7 +6828,7 @@ authentication assumptions. end end -
get_mtn_command(host)
+
get_mtn_command(host)
Returns a string containing the monotone command to be executed on host when communicating over ssh. The host argument is a string containing the name of the host to which @@ -6793,7 +6860,7 @@ valid revisions, according to their own valid revisions, according to their own preferences and purposes.
-
get_revision_cert_trust (signers, id, name, val)
+
get_revision_cert_trust (signers, id, name, val)
Returns whether or not you trust the assertion name=value on a given revision id, given a valid signature from all the keys in signers. The signers @@ -6839,7 +6906,7 @@ the revision has been approved by an ext the revision has been approved by an extra “reviewer” who used the approve command. -
accept_testresult_change (old_results, new_results)
+
accept_testresult_change (old_results, new_results)
This hook is used by the update algorithm to determine whether a change in test results between update source and update target is acceptable. The hook is called with two tables, each of which maps a @@ -6877,7 +6944,7 @@ customisation of the way file difference customisation of the way file differences are shown.
-
get_encloser_pattern (file_path)
+
get_encloser_pattern (file_path)
Called for each file when diff is given the --show-encloser option (and not the --external option). file_path is the pathname of the @@ -6892,7 +6959,7 @@ make it to the default for that language hook; and if you send it to the monotone developers, we will likely make it to the default for that language. -
external_diff (file_path, old_data, new_data, is_binary,
diff_args, old_rev, new_rev) +
external_diff (file_path, old_data, new_data, is_binary,
diff_args, old_rev, new_rev)

Called for each file when diff is given the --external option. file_path is the pathname of the @@ -6927,7 +6994,7 @@ you have a tool specific to certain file

-
merge3 (ancestor_path, left_path, right_path, merged_path, ancestor_text, left_text, right_text)
+
merge3 (ancestor_path, left_path, right_path, merged_path, ancestor_text, left_text, right_text)
This hook is called to resolve merges that monotone could not resolve automatically. The actual ancestor, left, and right contents of the file are passed in the ancestor_text, left_text, and @@ -6950,7 +7017,7 @@ local system. For details, see the code local system. For details, see the code in Default hooks.

-

get_preferred_merge3_command(tbl)
+
get_preferred_merge3_command(tbl)
Returns the results of running an external merge on three strings. tbl wraps up the various arguments for each merge command and is always provided by merge3. If there is a particular editor @@ -6970,7 +7037,7 @@ expand them to their full form.

For more detail on the use of selectors, see Selectors.

-
expand_selector (str)
+
expand_selector (str)
Attempts to expand str as a selector. Expansion generally means providing a type prefix for the selector, such as a: for authors or d: for dates. This hook is called once for each element of a @@ -6978,7 +7045,7 @@ evaluation of the selector. For the defa evaluation of the selector. For the default definition of this hook, see Default hooks. -
expand_date (str)
+
expand_date (str)
Attempts to expand str as a date expression. Expansion means recognizing and interpreting special words such as yesterday or 6 months ago and converting them into well formed date @@ -7001,7 +7068,7 @@ according to its attributes when the wor according to its attributes when the workspace is changed.
-
attr_functions [attribute] (filename, value)
+
attr_functions [attribute] (filename, value)
This is not a hook function, but a table of hook functions. Each entry in the table attr_functions, at table entry attribute, is a function taking a file name filename @@ -7024,7 +7091,7 @@ attribute. Its definition is: end end -
attr_init_functions [attribute] (filename)
+
attr_init_functions [attribute] (filename)
This is not a hook function, but a table of hook functions. Each entry in the table attr_init_functions, at table entry attribute, is a function taking a file (or @@ -7064,7 +7131,7 @@ allow a client to validate or reject cer allow a client to validate or reject certain behaviors.
-
validate_commit_message (message, revision_text, branchname)
+
validate_commit_message (message, revision_text, branchname)
This hook is called after the user has entered his/her commit message. message is the commit message that the user has entered and revision_text is the full text of the changes for this revision, @@ -7086,7 +7153,7 @@ hook writers. hook writers.
-
existonpath(possible_command)
+
existonpath(possible_command)
This function receives a string containing the name of an external program and returns 0 if it exists on path and is executable, -1 otherwise. @@ -7096,56 +7163,56 @@ for “xxdiff.exe”. program name. In the previous example, existonpath would search for “xxdiff.exe”. -
get_confdir()
+
get_confdir()
Returns the path to the configuration directory, either implied or given with --confdir. -
get_ostype()
+
get_ostype()
Returns the operating system flavor as a string. -
guess_binary_file_contents(filespec)
+
guess_binary_file_contents(filespec)
Returns true if the file appears to be binary, i.e. contains one or more of the following characters:
          0x00 thru 0x06
           0x0E thru 0x1a
           0x1c thru 0x1f
      
-
include(scriptfile)
+
include(scriptfile)
This function tries to load and execute the script contained into scriptfile. It returns true for success and false if there is an error. -
includedir(scriptpath)
+
includedir(scriptpath)
This function loads and executes in alphabetical order all the scripts contained into the directory scriptpath. If one of the scripts has an error, the functions doesn't process the remaining scripts and immediately returns false. -
includedirpattern(scriptpath, pattern)
+
includedirpattern(scriptpath, pattern)
This function loads and executes in alphabetical order all the scripts contained into the directory scriptpath that match the given pattern. If one of the scripts has an error, the functions doesn't process the remaining scripts and immediately returns false. -
is_executable(filespec)
+
is_executable(filespec)
This function returns true if the file is executable, false otherwise. On Windows this function returns always false. -
kill(pid [, signal])
+
kill(pid [, signal])
This function calls the kill() C library function on POSIX systems and TerminateProcess on Win32 (in that case pid is the process handle). If the optional signal parameter is missing, SIGTERM will be used. Returns 0 on success, -1 on error. -
make_executable(filespec)
+
make_executable(filespec)
This function marks the named file as executable. On Windows has no effect. -
match(glob, string)
+
match(glob, string)
Returns true if glob matches str, return false otherwise. -
mkstemp(template)
+
mkstemp(template)
Like its C library counterpart, mkstemp creates a unique name and returns a file descriptor for the newly created file. The value of template should be a pointer to a character buffer loaded @@ -7167,7 +7234,7 @@ For the definition of temp_file()< file in the standard TMP/TEMP directories. For the definition of temp_file(), see Default hooks. -
parse_basic_io(data)
+
parse_basic_io(data)
Parse the string data, which should be in basic_io format. It returns nil if it can't parse the string; otherwise it returns a table. This will be a list of all statements, with each entry being a table having a "name" element that is @@ -7189,14 +7256,22 @@ the arguments. 4 = { name = "frob", args = { 1 = "oops" } } } -
regex.search(regexp, string)
+
regex.search(regexp, string)
Returns true if a match for regexp is found in str, return false otherwise. -
sleep(seconds)
+
server_request_sync(what, address, include, exclude)
+Initiate a netsync connection to the server at address, with the +given include and exclude patterns, of type sync, push, +or pull, as given by the what argument. + +

When called by a monotone instance which is not running the serve +command, this function has no effect. + +

sleep(seconds)
Makes the calling process sleep for the specified number of seconds. -
spawn(executable [, args ...])
+
spawn(executable [, args ...])
Starts the named executable with the given arguments. Returns the process PID on POSIX systems, the process handle on Win32 or -1 if there was an error. @@ -7208,17 +7283,17 @@ in a standardized way. option. execute() builds on spawn() and wait() in a standardized way. -
spawn_pipe(executable [, args ...])
+
spawn_pipe(executable [, args ...])
Like spawn(), but returns three values, where the first two are the subprocess' standard input and standard output, and the last is the process PID on POSIX systems, the process handle on Win32 or -1 if there was an error. -
spawn_redirected(infile, outfile, errfile, executable [, args ...])
+
spawn_redirected(infile, outfile, errfile, executable [, args ...])
Like spawn(), but with standard input, standard output and standard error redirected to the given files. -
wait(pid)
+
wait(pid)
Wait until the process with given PID (process handle on Win32) exits. Returns two values: a result value and the exit code of the waited-for process. @@ -9510,38 +9585,39 @@ end

General Index


-

Fotnoter

[1] We +

Footnotes

[1] We say sha1 values are “unique” here, when in fact there is a small probability of two different versions having the same sha1 value. This probability is very small, so we discount it.

============================================================ # monotone.pdf is binary