# # # patch "INSTALL" # from [e0f783d8e7b4ba600407c7d1f22493408195a506] # to [4ba6492c71bd99721aff0612f1650ad0f70338f5] # # patch "NEWS" # from [c4ab613de1b6087a6f5a1d790feb7428416c4fa4] # to [084a0f5b81e7becea90378b0e46eaf58312894f9] # # patch "UPGRADE" # from [e535a17a2f948fd7ddee92916cf064439bc88584] # to [d58d62aebea44b98f7fa9dd48abe93da41526d52] # # patch "docs/Additional-Lua-Functions.html" # from [a20e1a6abc7f30e909076b1f295832bb768f0ab2] # to [14741bc4e27941a28822d5dcf446691c2c7afd63] # # patch "docs/Automation.html" # from [f29c90fe440fea9f22ce4df65e66d34585a30014] # to [9b44489b7ad04ddccdcf82ac6d5a75d6e0d46447] # # patch "docs/CVS-Phrasebook.html" # from [74d9762c96bb7e130c3b086205599ecbc668c36a] # to [e790524d54a2332bbf14e04fed7676ba6df56147] # # patch "docs/Certificate.html" # from [f5f761765039f3768e6299088025b22124e7f795] # to [c5e3af1fe0b79b52af89a16404c5f0351ef56fda] # # patch "docs/Database.html" # from [ba54f8344b2ab01c070261b7f1d4bccba1ad8cdb] # to [143826efd443bd9e9a0d3b4c19700e4a560e4e10] # # patch "docs/Default-hooks.html" # from [ae06201ff21759eea0f55b98ae0642245c1e32c8] # to [dc8bd4e2e64324049f8c975985d5d62893abcb9b] # # patch "docs/Generating-Keys.html" # from [139a29b4bfd984210460a44f080db9933af82b10] # to [f97c0998cf7d223ef4e2271f40b37b838a254bda] # # patch "docs/Hooks.html" # from [e26a3fd83f21be45c05d68e3eba3b33e14bf599e] # to [dee4937805e874bfab1e2e43afd261d2e044d7a9] # # patch "docs/Index.html" # from [a2a84699df933b40ff4c3472b6e52b378376b776] # to [cbf954e9e01c95e85abc8745f5e21ebe4a4dd262] # # patch "docs/Informative.html" # from [a7a6c4c58de1d313ecf3dd8915b4de276ce1c2d6] # to [468bbecb358334b5ff81068ae5c000756c8ad89e] # # patch "docs/Key-and-Cert-Trust.html" # from [7d8a7af23907cbe0482443b324bec1537d12be78] # to [4e03afc439a3c78f282345064f1491799a309e57] # # patch "docs/Network.html" # from [e36efb76b4ebb2d90f47c846b8b21cd24ac6d75d] # to [ea1beb7ca4c48d2ccae750e1a01baa1143785849] # # patch "docs/Packet-I_002fO.html" # from [235f0e3fa6b640516a179d0bbb52aa0372a6b113] # to [7d822161a943e69f8067fc45e30602f382ee4f2d] # # patch "docs/RCS.html" # from [9517dadad84adae40f160e0c4731ffb2096794b4] # to [518c65ee9e2622156fcd068e1d44514bb09ac41d] # # patch "docs/Reserved-Certs.html" # from [9ef20b2c71a46c8555dc24861a2832695a52c012] # to [7b2a14f984ee84b8740915b9480b72c750758579] # # patch "docs/Restrictions.html" # from [e7e3fdd0b519d88bbf47a1c5ff994af4b58a755c] # to [452d413cdd9ca3b1fb4c7351d42a92e41a2588c4] # # patch "docs/Tree.html" # from [d5ba1f479bac24dab886da9e837baf5d3b02a44d] # to [b557ca7b886640909179345fba5187d52d49b94f] # # patch "docs/Workspace.html" # from [e99335ca826ea34a52d72e32467e0152a7c4767c] # to [ebe5af40895414d95ec558500a321add67c6a97e] # # patch "monotone.html" # from [4b704e17b4d31d163d258b64ac7285228a1fcc61] # to [4e9e012e2b104ab7dfdfd0a5139b569dab279721] # # patch "monotone.pdf" # from [1ecbdaaa6563c2ccc3db8fcc9d3360f8e199e682] # to [def7bb688c13cfe27b72a877c3fb6e79a5dbddcd] # ============================================================ --- INSTALL e0f783d8e7b4ba600407c7d1f22493408195a506 +++ INSTALL 4ba6492c71bd99721aff0612f1650ad0f70338f5 @@ -13,12 +13,11 @@ 1. prerequisites: * software prerequisites: - a supported C++ compiler: g++ 3.2 or later. - - an installed copy of boost 1.33.0 or later. + - an installed copy of boost 1.32.0 or later. - zlib 1.1.4 or later. on debian: - apt-get install libboost-date-time-dev apt-get install libboost-filesystem-dev apt-get install libboost-regex-dev apt-get install libboost-test-dev ============================================================ --- NEWS c4ab613de1b6087a6f5a1d790feb7428416c4fa4 +++ NEWS 084a0f5b81e7becea90378b0e46eaf58312894f9 @@ -1,10 +1,108 @@ +Sun Apr 1 08:23:34 UTC 2007 + + 0.34 release. + + The internal data format has changed with this release; + migration is straight-forward. To upgrade your databases, + you must run: + $ mtn -d mydb.mtn db migrate + All of these operations are completely lossless, and 0.34 + remains compatible with earlier versions all the way back + to 0.26 with regards to netsync. + + Changes + + - Text is now output at best of the environment's possibilities, + transliterating them or substituting '?' as needed. + + - The lua hook get_author() now takes a second argument, a + key identity, in case someone wants to create an author based + on that and not only the branch name. + + - The command 'chkeypass' became 'passphrase'. + + - The commands 'drop', 'rename' and 'pivot_root' default to + always perform the operation in the file system as well. + They do not accept '--execute' any more, but will instead + take '--bookkeep-only' in case the user only wants to affect + bookkeeping files. + + New features + + - New hook note_mtn_startup(), which is called when monotone is + started. + + - New Lua support function spawn_pipe(), which is used to run + a command and get back its standard input and standard output + file handles as well as the pid. + + - Monotone will automatically add a monotone key in a resident + ssh-agent when it's first used, and will then use ssh-agent + for all subsequent signing. Thus, you will only need to give + the password once in one session. + - New command 'ssh_agent_export' to export a monotone key into + an SSH key. + - New command 'ssh_agent_add' to add a monotone key explicitly + to a resident ssh-agent. + + - New command 'clone' that combines 'pull' and 'checkout'. + + - 'automate put_file' and 'automate put_revision' stores a file + and a revision in the database. + + - 'automate cert', an automate version of 'mtn cert'. + - 'automate db_set', an automate version of 'mtn set'. + - 'automate db_get', an automate version of 'mtn ls vars' with + a twist. + + Other + + - contrib/ciabot_monotone_hookversion.py now uses a real + basic_io parser and thus should send more precise + information to the cia server. Furthermore, it has become + more careful with creating zombies. + + - contrib/monotone-log-of-pulled-revs-hook.lua, a lua hook + to display information about incoming revisions. + + - contrib/monotone-mirror-postaction-push.sh, a post action + script that should be executed by contrib/monotone-mirror.sh + to automatically push data on to other servers. + + - contrib/monotone-mirror.lua, a lua hook that executes + contrib/monotone-mirror.sh after any netsync session is done. + + - contrib/monotone-mirror.sh now takes keydir and keyid + configuration and has better protection against overlapping + duplicate runs. + + - contrib/monotone.bash_completion now handles signals. + + - contrib/monotone.el now includes a commit button. + + Internal + + - Date and time display has now been reimplemented internally + to avoid Boost more. This means that we have lowered our + dependency from Boost 1.33.0 to 1.32.0. + + - Lots of code cleanup. + + - The heights cache got an index, making the processing faster. + + - Update the internal SQLite to version 3.3.13. + + - Algorithm to find uncommon ancestors has been rewritten, so + 'pull' and 'regenerate_caches' should be faster. + + Wed Feb 28 22:02:43 UTC 2007 0.33 release. The internal data format has changed with this release; migration is straight-forward. To upgrade your databases, - you must run: + you must run: $ mtn -d mydb.mtn db migrate All of these operations are completely lossless, and 0.33 remains compatible with earlier versions with regards to @@ -28,158 +126,158 @@ Wed Feb 28 22:02:43 UTC 2007 file type attributes) is planned and will be added in a future release. - - update will switch to the branch of a given revision if it - differs from the current workspace branch. + - update will switch to the branch of a given revision if it + differs from the current workspace branch. - - add will now accept combinations of --unknown, --recursive and - --no-respect-ignore. + - add will now accept combinations of --unknown, --recursive and + --no-respect-ignore. - - import now imports unknown directory trees properly. + - import now imports unknown directory trees properly. - - use SQLite 3.3.12. + - use SQLite 3.3.12. - - schema migrator rebuilt and will now properly detect and report - if the database used is created by a newer monotone than the one - currently used. + - schema migrator rebuilt and will now properly detect and report + if the database used is created by a newer monotone than the one + currently used. - - removed the man page mtn.1, as it hadn't been updated for a long - time. + - removed the man page mtn.1, as it hadn't been updated for a long + time. - New features + New features - - "mtn merge_into_workspace" (still to be documented). This command - will allow you to review and fix up a merge in your workspace - before committing it to the repository. However, the conflict - resolution interface remains the same as that of the 'merge' - command for now (i.e. monotone will invoke your specified merge - tool on all files with conflicts and you must resolve them as they - are presented). Work on in-workspace conflict presentation and - resolution is planned for the future. + - "mtn merge_into_workspace" (still to be documented). This command + will allow you to review and fix up a merge in your workspace + before committing it to the repository. However, the conflict + resolution interface remains the same as that of the 'merge' + command for now (i.e. monotone will invoke your specified merge + tool on all files with conflicts and you must resolve them as they + are presented). Work on in-workspace conflict presentation and + resolution is planned for the future. - - "mtn log" will now print an ASCII revision graph alongside the - usual log text. + - "mtn log" will now print an ASCII revision graph alongside the + usual log text. - Speed improvements + Speed improvements - - "mtn annotate file" should run even faster now. it exploits - the fact that we store deltas of rosters. by peeking at - these deltas, it can avoid reconstruction of whole rosters - in many cases. + - "mtn annotate file" should run even faster now. it exploits + the fact that we store deltas of rosters. by peeking at + these deltas, it can avoid reconstruction of whole rosters + in many cases. - Other + Other - - contrib/monotone-mirror.sh and - contrib/monotone-mirror-postaction-update.sh, two scripts - to mirror and update directories automatically. + - contrib/monotone-mirror.sh and + contrib/monotone-mirror-postaction-update.sh, two scripts + to mirror and update directories automatically. - - contrib/monotone-run-script-post-netsync.lua, to automatically - update a directory as soon as new revisions or certs arrive for - a given branch. + - contrib/monotone-run-script-post-netsync.lua, to automatically + update a directory as soon as new revisions or certs arrive for + a given branch. - - contrib/monotone.bash_completion had some improvemens. + - contrib/monotone.bash_completion had some improvemens. - - contrib/monotone.el had some improvements. + - contrib/monotone.el had some improvements. - Internal + Internal - - Internally, the concept of "projects" has been introduced. It - currently doesn't mean anything, but will be used later, with - policy branches and similar. + - Internally, the concept of "projects" has been introduced. It + currently doesn't mean anything, but will be used later, with + policy branches and similar. Wed Dec 27 09:57:48 UTC 2006 - 0.32 release. + 0.32 release. - Changes + Changes - - "mtn serve" no longer takes patterns on the command line. - Use the permissions hooks instead. + - "mtn serve" no longer takes patterns on the command line. + Use the permissions hooks instead. - - the name of the option that denoted the revision from which - "mtn log" should start logging was renamed from "--revision" - to "--from" + - the name of the option that denoted the revision from which + "mtn log" should start logging was renamed from "--revision" + to "--from" - - author selectors no longer have implicit wildcarding + - author selectors no longer have implicit wildcarding - - if you manually add entries to MTN/log while you are - working, in preparation for an eventual commit, you will now - be required to remove a "magic" template line from the file - before the commit will succeed. This, like the test for an - empty log file, helps to prevent accidents. + - if you manually add entries to MTN/log while you are + working, in preparation for an eventual commit, you will now + be required to remove a "magic" template line from the file + before the commit will succeed. This, like the test for an + empty log file, helps to prevent accidents. - - the "db regenerate_caches" migration command replaces the - previous "db regenerate_rosters", generalising the task of - rebuilding or generating cached data that may be added - across an upgrade. Like "db migrate", which upgrades the - database schema, this command fills in the data for new - features. In this release, as well as rosters, it also adds - "heights" information used to speed up topology operations. + - the "db regenerate_caches" migration command replaces the + previous "db regenerate_rosters", generalising the task of + rebuilding or generating cached data that may be added + across an upgrade. Like "db migrate", which upgrades the + database schema, this command fills in the data for new + features. In this release, as well as rosters, it also adds + "heights" information used to speed up topology operations. - Speed improvements + Speed improvements - - "mtn annotate file" and "mtn log file" are generally much - faster now, dependant on the number of revisions that - changed the file. Both commands as well as "mtn automate - toposort" make use of data called "heights" caching the - topological order of all revisions. In order to create and - use this data, the following must be run once for each db - after upgrading: + - "mtn annotate file" and "mtn log file" are generally much + faster now, dependant on the number of revisions that + changed the file. Both commands as well as "mtn automate + toposort" make use of data called "heights" caching the + topological order of all revisions. In order to create and + use this data, the following must be run once for each db + after upgrading: $ mtn -d mydb.mtn db regenerate_caches - New features + New features - - "mtn automate content_diff" + - "mtn automate content_diff" - - "mtn automate get_file_of" (same as get_file, but expects - a file path and optionally a revision) + - "mtn automate get_file_of" (same as get_file, but expects + a file path and optionally a revision) - - "mtn import" command + - "mtn import" command - - "mtn log --to" + - "mtn log --to" - - netsync_note_* hooks are given much more information, - inlcuding a http/smtp/etc style status code + - netsync_note_* hooks are given much more information, + inlcuding a http/smtp/etc style status code - - includedirpattern(dir, fileglob) function for hooks + - includedirpattern(dir, fileglob) function for hooks - Bugs fixed + Bugs fixed - - bug in "automate stdio" that would result in monotone - garbling its input in some circumstances fixed + - bug in "automate stdio" that would result in monotone + garbling its input in some circumstances fixed - - "mtn annotate file" and "mtn log file" are generally much - faster now, dependant on the number of revisions that - changed the file. Both commands as well as "mtn automate - toposort" make use of data called "heights" caching the - topological order of all revisions. + - "mtn annotate file" and "mtn log file" are generally much + faster now, dependant on the number of revisions that + changed the file. Both commands as well as "mtn automate + toposort" make use of data called "heights" caching the + topological order of all revisions. - - spawn_redirected hook function now understands a blank - filename to mean not to redirect that stream + - spawn_redirected hook function now understands a blank + filename to mean not to redirect that stream - - "mtn log" is now in proper topological order, also due to - the use of cached "heights" data + - "mtn log" is now in proper topological order, also due to + the use of cached "heights" data - - reset options between "automate stdio" commands + - reset options between "automate stdio" commands - - another compile fix for gcc3 + - another compile fix for gcc3 - - bug in localization code where option strings where not - always properly translated + - bug in localization code where option strings where not + always properly translated - Other + Other - - botan library upgraded to 1.6.0 + - botan library upgraded to 1.6.0 - - accommodate changes in boost 1.34 + - accommodate changes in boost 1.34 - - documentation for "mtn automate get_option" + - documentation for "mtn automate get_option" - - notes/ directory + - notes/ directory ============================================================ --- UPGRADE e535a17a2f948fd7ddee92916cf064439bc88584 +++ UPGRADE d58d62aebea44b98f7fa9dd48abe93da41526d52 @@ -1,4 +1,4 @@ -upgrading monotone to 0.33 +upgrading monotone to 0.34 ========================== How to read this file: @@ -16,7 +16,7 @@ If you are upgrading from: will be described there, not here. If you are upgrading from: - - 0.32 or earlier: The database format has changed. You must run + - 0.33 or earlier: The database format has changed. You must run (after remembering to take a backup copy): $ mtn -d mydb.mtn db migrate on each of your databases. ============================================================ --- docs/Additional-Lua-Functions.html a20e1a6abc7f30e909076b1f295832bb768f0ab2 +++ docs/Additional-Lua-Functions.html 14741bc4e27941a28822d5dcf446691c2c7afd63 @@ -36,7 +36,7 @@ hook writers. hook writers.
existonpath(
possible_command)
existonpath(
possible_command)
existonpath
would search
for “xxdiff.exe”.
- guess_binary(
filespec)
get_confdir()
get_ostype()
guess_binary_file_contents(
filespec)
0x00 thru 0x06 0x0E thru 0x1a 0x1c thru 0x1f-
include(
scriptfile)
include(
scriptfile)
includedir(
scriptpath)
includedir(
scriptpath)
includedirpattern(
scriptpath,
pattern)
includedirpattern(
scriptpath,
pattern)
is_executable(
filespec)
is_executable(
filespec)
kill(
pid [,
signal])
kill(
pid [,
signal])
make_executable(
filespec)
make_executable(
filespec)
mkstemp(
template)
match(
glob,
string)
mkstemp(
template)
temp_file()<
file in the standard TMP/TEMP directories.
For the definition of temp_file()
, see Default hooks.
-
sleep(
seconds)
-
-Makes the calling process sleep for the specified number of seconds.
-
-
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.
-Calls fork/execvp on POSIX, CreateProcess on Win32.
-
-
Important notice:
-To spawn a process and wait for its completion, use the execute()
-function, unless you need to run monotone with the --nostd
-option. execute()
builds on spawn()
and wait()
-in a standardized way.
-
-
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.
-The exit code is meaningful only if the result value is 0.
-
-
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
@@ -150,7 +139,42 @@ the arguments.
4 = { name = "frob", args = { 1 = "oops" } }
}
-
regex.search(
regexp,
string)
sleep(
seconds)
spawn(
executable [,
args ...])
Important notice:
+To spawn a process and wait for its completion, use the execute()
+function, unless you need to run monotone with the --nostd
+option. execute()
builds on spawn()
and wait()
+in a standardized way.
+
+
spawn_pipe(
executable [,
args ...])
spawn_redirected(
infile,
outfile,
errfile,
executable [,
args ...])
wait(
pid)