# # # add_file "README" # content [229c7f621b65f7e4970ae5aaec993812b9daa1d4] # # add_file "docs/Workspace-Collisions.html" # content [b1361bb5f32890fce1b8d3d6d62892b5dc882758] # # patch "INSTALL" # from [57518aa598e6c62cb9c2f74fd102091b489bfcc4] # to [e0f783d8e7b4ba600407c7d1f22493408195a506] # # patch "NEWS" # from [baff89704e514e465db0099404e03457e7127f4f] # to [08261921b0db1ef853bd36576c47bcb3657f1ddb] # # patch "UPGRADE" # from [d937bff0f8a61653efd71e8322918283efa15660] # to [128b39c8de9f33b4763cc69e06baba9ee10b06a2] # # patch "docs/Additional-Lua-Functions.html" # from [d1315ca4877bee82c52f4e8ea1ae6b210bc8a0f7] # to [a20e1a6abc7f30e909076b1f295832bb768f0ab2] # # patch "docs/Advanced-Uses.html" # from [5905ee7baf20c59c6fd828c1004add6579745697] # to [8321cf86cedd263616c8d270eec3749a75d7502a] # # patch "docs/Automation.html" # from [4aca868756ecf35a6938d092809cdc05f2ede5fe] # to [f29c90fe440fea9f22ce4df65e66d34585a30014] # # patch "docs/CVS-Phrasebook.html" # from [38db39f172da9f8f255c813651c991c729aff093] # to [74d9762c96bb7e130c3b086205599ecbc668c36a] # # patch "docs/Committing-Work.html" # from [e0c6ae7079f37eb8970bec9f0b176abbdf6edc16] # to [0ac9fe948d6d6765c0b282198521f0d63122ae45] # # patch "docs/Database.html" # from [3fe36e430a3fa3ac31f5ccca672e29ba2b70ea65] # to [ba54f8344b2ab01c070261b7f1d4bccba1ad8cdb] # # patch "docs/Default-hooks.html" # from [78dba3337f250a400d82f3142435215e353eca00] # to [ae06201ff21759eea0f55b98ae0642245c1e32c8] # # patch "docs/File-Attributes.html" # from [54f84bcf691fb7a3f315fcc4fac04edd28f60d47] # to [37e478866d1245c4b1c09cb8fdf0d64c1c1b94f0] # # patch "docs/Hook-Reference.html" # from [bbf1e3801e46fd816706de440921f8d0b795b850] # to [2dc893bf620477f318604f8c52863207ee23dafb] # # patch "docs/Hooks.html" # from [8b00e4bedffb6eba2196e3c0e69ee3f66b7ae97a] # to [e26a3fd83f21be45c05d68e3eba3b33e14bf599e] # # patch "docs/Importing-from-CVS.html" # from [6a1fa1c22082706fbb856f037be0bc6d3b53e3bb] # to [34ea9d99420562ab5f0a435386597101c3b6d98c] # # patch "docs/Index.html" # from [fa42a028e9d82254ad216f6f57db035688258e82] # to [a2a84699df933b40ff4c3472b6e52b378376b776] # # patch "docs/Informative.html" # from [02a36cbe6c6465eb0834dbb4d002c43d6fd48df8] # to [a7a6c4c58de1d313ecf3dd8915b4de276ce1c2d6] # # patch "docs/Inodeprints.html" # from [be33d9d38c4c8f099ee281bf568f7594c5e73d0a] # to [00c8414b0b4d264a564ec486ca65a8e7dc48229d] # # patch "docs/Internationalization.html" # from [a4ab910619f4e0c1603d47159f589f628ef5c9de] # to [f743ea0d87237b4a0ba08b8e1eff8c2eda4b11e1] # # patch "docs/Mark_002dMerge.html" # from [b0320b938e94cb1fbf3c5b6fa8f073a6337a1962] # to [170d0082dea175d046bd02afac38a47877f4eeab] # # patch "docs/Merging.html" # from [302876728e19e60813d15edb4a596abd6489160b] # to [6e1b1cffbbfab2076cfe97d595dc3316b1ed4658] # # patch "docs/Migrating-and-Dumping.html" # from [f39608a28f70ee994909f742c9500cf47e1ab8f1] # to [31cf38fd784584da6f9ea3ce119b8e8caffecc23] # # patch "docs/Naming-Conventions.html" # from [1947e2ded5775f444d200f64bfd6c4561cabc6f8] # to [bf61294982536b75cc19ea1ae6aee8d5f0371c31] # # patch "docs/Network-Service-Revisited.html" # from [6f918f69d77c16cd22b804ca278bf1308157220d] # to [e23c224b329abe7bc8bc7d9730306a6b1721f678] # # patch "docs/Network.html" # from [fcbaa8e892e55d43c788bb4facbd6b1d471941ce] # to [e36efb76b4ebb2d90f47c846b8b21cd24ac6d75d] # # patch "docs/Other-Transports.html" # from [0ad85a13f33e1357472a6c278eda67862a5dc9fc] # to [0ed42ec35fac43d4952525eb0b1b48af8a38aed8] # # patch "docs/Quality-Assurance.html" # from [845799c55c46f2cc88e628ab869b4a59f5a0542b] # to [2ba8ffdc2456b9a53ca6bebe46aa1b956546433d] # # patch "docs/Rebuilding-ancestry.html" # from [9da65a984054c62eca74ebb2a49b4da5108e77c8] # to [6424f9076b7d8ea298d9d616b003948e024624f4] # # patch "docs/Reserved-Certs.html" # from [b9b8f9978c0d1194dd80b5e505fbbfd92ff9f0e5] # to [9ef20b2c71a46c8555dc24861a2832695a52c012] # # patch "docs/Reserved-Files.html" # from [92e303c9483a515e50b62d5c9dacdec48796e8c6] # to [7810aa5ad950172eeb011bfda7407b13a1a42562] # # patch "docs/Selectors.html" # from [2faeef55033b1bc06b9103680f540a9ca6b6d3a3] # to [9a60f992b48d07bbada4ce3c695f8ee65062268a] # # patch "docs/Tree.html" # from [5ad43fbf3c57ef1c1beed7eaeb701f9b2ef6a788] # to [d5ba1f479bac24dab886da9e837baf5d3b02a44d] # # patch "docs/Using-packets.html" # from [f17114bc34afe5941679d6cc525e13175d6148ef] # to [4077ccda595a86dd82f1fb9a7da0468b69010b02] # # patch "docs/Vars.html" # from [c7166d1de6fb0e5a9fac05114b090e4c0b21aa99] # to [c7d3a44236435c862d6c7769d8a1b32fd57fd5fc] # # patch "docs/Versions-of-files.html" # from [4f859f5d77dce0db8caa488ed73f3e2d8bc473a3] # to [ef657adad28e050daad568c6a40e338c8e7c2049] # # patch "docs/Workspace.html" # from [bbbb8980b4577baf8e1297ac539e90afe0e3629f] # to [e99335ca826ea34a52d72e32467e0152a7c4767c] # # patch "docs/index.html" # from [bb60110cb6d0655ff96bf8c5063fffdf94488c0f] # to [2ce917cec939e30407b2d86a3393f6c9fe899d77] # # patch "monotone.html" # from [2253c1ffee292743a51cc8916b78209f60188f27] # to [4b704e17b4d31d163d258b64ac7285228a1fcc61] # # patch "monotone.pdf" # from [f4f435a99d51096808b658146c2a13eb2c9df124] # to [331ecb69ea92934d6274eeae1ef6b97f6e54e73c] # ============================================================ --- README 229c7f621b65f7e4970ae5aaec993812b9daa1d4 +++ README 229c7f621b65f7e4970ae5aaec993812b9daa1d4 @@ -0,0 +1,6 @@ +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. + ============================================================ --- docs/Workspace-Collisions.html b1361bb5f32890fce1b8d3d6d62892b5dc882758 +++ docs/Workspace-Collisions.html b1361bb5f32890fce1b8d3d6d62892b5dc882758 @@ -0,0 +1,122 @@ + +
++ +Next: Quality Assurance, +Previous: Inodeprints, +Up: Advanced Uses +
Sometimes when you work on a project, several people make similar +changes in parallel. When these changes occur in an existing file that +is known to both sides, monotone can merge the edits when the two +revisions meet (possibly after getting help to resolve content +conflicts). Other kinds of changes cannot be merged so readily, +especially ones that involve files in your workspace that are not +tracked by monotone. + +
Workspace collisions can happen for many reasons; some examples include: +
These examples describe collisions on update; the same kinds +of things can happen with other commands that can bring changes into +your workspace, such as checkout or pluck too. + +
Monotone is careful to avoid hitting such collisions. Before changing +the workspace, it will try and detect the possibility of collisions, and +the command will fail, warning you about the names that collide. The +file content in the database is safe and can be recovered at any time, +so monotone is conservative and will refuse to destroy the information +in your workspace contents. + +
However, monotone cannot detect all kinds of failures and collisions in +your workspace. For example: +
These are all hopefully very rare occurrences. If such a filesystem +error does cause a failure part-way during a workspace +alteration, monotone will stop immediately rather than risk potentially +doing further damage, and your workspace may be left in an incomplete +state. If this happens, you will need to resolve the issue and clean up +the workspace manually. If you need to do so, understanding how +monotone manipulates the workspace is helpful. + +
When monotone applies renaming changes to the workspace, each file is +first detached from the workspace under its old name, then +attached under the new name. This is done by moving it to the +_MTN/detached directory. Newly added files are created here +before being moved into place, too. While inside _MTN/detached, +the file or directory is named as a simple integer (these numbers come +from monotone's internal identification of the node). If the detached +node is a directory, the directory is moved with all of its contents +(including unversioned files); this can help identify which directory +has been detached. + +
If a previous workspace alteration failed part-way, the +_MTN/detached directory will still exist, and monotone will +refuse to attempt another alteration while the workspace is in this +inconsistent state. This also acts as a lock against multiple monotone +processes performing workspace alterations (but not other programs). + +
The best way to avoid a messy recovery from such a failure is simply to
+ensure that you always commit before trying to
+update (or pluck, etc) other changes from the
+database into your workspace. This ensures that your current workspace
+contents are safely stored, and can be retrieved later (such as with
+revert).
+
+
+
============================================================
--- INSTALL 57518aa598e6c62cb9c2f74fd102091b489bfcc4
+++ INSTALL e0f783d8e7b4ba600407c7d1f22493408195a506
@@ -21,7 +21,6 @@ 1. prerequisites:
apt-get install libboost-date-time-dev
apt-get install libboost-filesystem-dev
apt-get install libboost-regex-dev
- apt-get install libboost-serialization-dev
apt-get install libboost-test-dev
apt-get install libboost-dev
apt-get install g++
============================================================
--- NEWS baff89704e514e465db0099404e03457e7127f4f
+++ NEWS 08261921b0db1ef853bd36576c47bcb3657f1ddb
@@ -1,3 +1,86 @@
+Tue Feb 27 18:46:58 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:
+ $ mtn -d mydb.mtn db migrate
+ All of these operations are completely lossless, and 0.33
+ remains compatible with earlier versions with regards to
+ netsync.
+
+ Changes
+
+ - "mtn ls unknown" no longer recurses into unknown directories.
+
+ - update will fail rather than clobbering unversioned files
+ that exist in the workspace.
+
+ - update will detect directories with unversioned files before
+ attempting to drop them and will refuse to run rather than
+ corrupting the workspace. such unversioned files must be
+ removed manually.
+
+ - the character set and line separator conversion hooks
+ (get_system_linesep, get_charset_conv and get_linesep_conv)
+ have been removed. Similar functionality (probably based on
+ 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.
+
+ - add will now accept combinations of --unknown, --recursive and
+ --no-respect-ignore.
+
+ - import now imports unknown directory trees properly.
+
+ - 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.
+
+ - removed the man page mtn.1, as it hadn't been updated for a long
+ time.
+
+ New features
+
+ - "mtn merge_into_workspace" (still to be documented)
+
+ - "mtn log" will now print an ASCII revision graph alongside the
+ usual log text.
+
+ 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.
+
+ Other
+
+ - 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.bash_completion had some improvemens.
+
+ - contrib/monotone.el had some improvements.
+
+ 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.
+
+
+
Wed Dec 27 09:57:48 UTC 2006
0.32 release.
============================================================
--- UPGRADE d937bff0f8a61653efd71e8322918283efa15660
+++ UPGRADE 128b39c8de9f33b4763cc69e06baba9ee10b06a2
@@ -1,4 +1,4 @@
-upgrading monotone to 0.32
+upgrading monotone to 0.33
==========================
How to read this file:
@@ -16,6 +16,10 @@ 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
+ (after remembering to take a backup copy):
+ $ mtn -d mydb.mtn db migrate
+ on each of your databases.
- 0.31 or earlier: The database format has changed. You must run
(after remembering to take a backup copy):
$ mtn -d mydb.mtn db migrate
============================================================
--- docs/Additional-Lua-Functions.html d1315ca4877bee82c52f4e8ea1ae6b210bc8a0f7
+++ docs/Additional-Lua-Functions.html a20e1a6abc7f30e909076b1f295832bb768f0ab2
@@ -32,60 +32,60 @@ Up: 6.2 Additional Lua Functions
- This section documents the additional lua functions made available to
+ This section documents the additional Lua functions made available to
hook writers.
Important notice: The output does not include rev1, rev2, etc., except that if
-rev2 is itself a descendent of rev1, then rev2 will be
+rev2 is itself a descendant of rev1, then rev2 will be
included in the output.
If a branch name is ignored by means of the lua hook
+ If a branch name is ignored by means of the Lua hook
Stanzas are printed in arbitrary order.
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 preceeded by a set of key=value pairs
+<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.
============================================================
--- docs/CVS-Phrasebook.html 38db39f172da9f8f255c813651c991c729aff093
+++ docs/CVS-Phrasebook.html 74d9762c96bb7e130c3b086205599ecbc668c36a
@@ -120,7 +120,7 @@ omit the mer
communication step with monotone. The extra command, merge,
ensures that the branch your are working on has a unique head. You can
omit the merge step if you only want update to
-examine descendents of your base revision, and ignore other heads on
+examine descendants of your base revision, and ignore other heads on
your branch.
The output of this command tells us that there is only one current
“head” revision in the branch
-
@@ -688,7 +688,7 @@ 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)
+ ' 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)
@@ -886,7 +886,7 @@ provided as 'l' <string> [<stri
existonpath(
possible_command)
existonpath(
possible_command)
existonpath("xxdiff")
returns 0 if the
program xxdiff is available.
-On windows, this function automatically appends “.exe” to the
+On Windows, this function automatically appends “.exe” to the
program name. In the previous example, existonpath
would search
for “xxdiff.exe”.
- guess_binary(
filespec)
guess_binary(
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)
mkstemp(
template)
temp_file()<
file in the standard TMP/TEMP directories.
For the definition of
temp_file()
, see Default hooks.
- sleep(
seconds)
sleep(
seconds)
spawn(
executable [,
args ...])
spawn(
executable [,
args ...])
To spawn a process and wait for its completion, use the execute()
@@ -122,13 +122,13 @@ in a standardized way.
option. execute()
builds on spawn()
and wait()
in a standardized way.
- wait(
pid)
wait(
pid)
parse_basic_io(
data)
parse_basic_io(
data)
@@ -210,13 +210,13 @@ Prints the descendents of one or more re
ignore_branch
.
+excluded by the Lua hook ignore_branch
.
@@ -467,7 +467,7 @@ tags of the revision graph.
revisions on branches matched by the pattern; otherwise prints all
tags of the revision graph.
-
ignore_branch
, it is neither printed, nor can it be matched by
a pattern.
@@ -517,7 +517,7 @@ blank line. Values will be escaped, '\'
Tagging Revisions
============================================================
--- docs/Committing-Work.html e0c6ae7079f37eb8970bec9f0b176abbdf6edc16
+++ docs/Committing-Work.html 0ac9fe948d6d6765c0b282198521f0d63122ae45
@@ -109,8 +109,8 @@ the revision Jim just committed. A head
jp.co.juicebot.jb7
, and it is
the revision Jim just committed. A head revision is one without any
-descendents. Since Jim has not committed any changes to this revision
-yet, it has no descendents.
+descendants. Since Jim has not committed any changes to this revision
+yet, it has no descendants.