monotone-commits-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-commits-diffs] net.venge.monotone: da5a05ae6faaf68a54f5899882


From: code
Subject: [Monotone-commits-diffs] net.venge.monotone: da5a05ae6faaf68a54f58998829d8fd81ef81e1d
Date: Sun, 9 Jan 2011 16:50:12 GMT

revision:            da5a05ae6faaf68a54f58998829d8fd81ef81e1d
date:                2011-01-09T16:49:20
author:              address@hidden
branch:              net.venge.monotone
changelog:
merge of '0c1d91286c913246035c39d3ab642a35b2cb4c2d'
     and 'cba0cf982fec26804dd0eb574089b2f7bf9a1759'



manifest:
format_version "1"

new_manifest [e86c7274f7743f2eeb573c5ec2453c281524a571]

old_revision [0c1d91286c913246035c39d3ab642a35b2cb4c2d]

patch "monotone.texi"
 from [9012285c01fcb244c25008f227faeaae3f796db9]
   to [d6ca2921cbcacbc1e7ae596cc0d8b402a5781dc8]

old_revision [cba0cf982fec26804dd0eb574089b2f7bf9a1759]

patch "pcrewrap.cc"
 from [096c37a8fcdbd0d4baf2434d16dea8663ecd1704]
   to [a4c2c48cb681e893d4bdda32bbebc0132479f8cd]
============================================================
--- monotone.texi	9012285c01fcb244c25008f227faeaae3f796db9
+++ monotone.texi	d6ca2921cbcacbc1e7ae596cc0d8b402a5781dc8
@@ -697,11 +697,14 @@ @section Storage and workflow
 Aside from the special @file{_MTN} directory, a workspace is just a
 normal tree of files. You can directly edit the files in a workspace
 using a plain text editor or other program; monotone will
-automatically notice when you make any changes. If you wish to add
-files, remove files, or move files within your workspace, you must
-tell monotone explicitly what you are doing, as these actions cannot
-be deduced.
+automatically notice when you make this kind of change, and include
+them in the next commit.
 
address@hidden/revision}If you add files, remove files, or move files
+within your workspace, you must tell monotone explicitly what you are
+doing, as these actions cannot be deduced. Monotone stores these
+changes in @file{_MTN/revision}; they will be part of the next commit.
+
 If you do not yet have a workspace, you can @dfn{check out} a
 workspace from a database, or construct one from scratch and
 @dfn{add} it into a database. As you work, you will occasionally
@@ -2497,14 +2500,14 @@ @section Network Service Revisited
 
 For the team members, he sets up the permissions files on the server
 much like before --- except that of course he needs to also grant his
address@hidden@@juicebot.co.jp} key permission to access the new server.  For
-the beta-testers, Jim wants to allow them read-only access just to the
-main JuiceBot 7 development line, but not to any of the sub-branches
-where other experimental development is going on. He adds some lines at
-the top of the @file{~/.monotone/read-permissions} on the server, above
-the broader permissions given to team-members. See the @ref{Lua
-Reference} for @code{get_netsync_read_permitted} for more details; the
-resulting file looks like this:
address@hidden@@juicebot.co.jp} key permission to access the new server.
+For the beta-testers, Jim wants to allow them read-only access just to
+the main JuiceBot 7 development line, but not to any of the
+sub-branches where other experimental development is going on. He adds
+some lines at the top of the @file{~/.monotone/read-permissions} on
+the server, above the broader permissions given to team-members. See
address@hidden for more details; the resulting file
+looks like this:
 
 @smallexample
 @group
@@ -2567,12 +2570,12 @@ @section Network Service Revisited
 server, Abe and Beth have kept working; the server will catch up with
 their latest changes when they next sync, too.
 
-All of the team members now want to sync with the new monotone server by
-default.  Previously, they had been syncing with Jim's laptop by
+All of the team members now want to sync with the new monotone server
+by default.  Previously, they had been syncing with Jim's laptop by
 default, even if they occasionally specified another team-member's
 server on the command line when Jim was away, because monotone had
-remembered the first server and branch patterns used in database
address@hidden  These vars can be seen as follows:
+remembered the first server and branch patterns used in database vars
+(see @ref{Vars}).  These vars can be seen as follows:
 
 @smallexample
 @group
@@ -2959,7 +2962,7 @@ @heading Selector expansion
 @heading Selector expansion
 
 Before selectors are passed to the database, they are expanded using a
-Lua hook: @code{expand_selector}. The default definition of this hook
+Lua hook: @ref{expand_selector}. The default definition of this hook
 attempts to guess a number of common forms for selection, allowing you
 to omit selector types in many cases. For example, the hook guesses
 that the typeless selector @code{jrh@@example.org} is an author
@@ -2967,13 +2970,13 @@ @heading Selector expansion
 @code{a:jrh@@example.org}. This hook will generally assign a selector
 type to values which ``look like'' partial hex strings, email
 addresses, branch names, or date specifications. For the complete
-source code of the hook, see @ref{Lua Reference}.
+source code of the hook, see @ref{Default hooks}.
 
 @heading Expanding dates
 
 All date-related selectors (@code{d}, @code{e}, @code{l}) support an
 English-like syntax similar to CVS.  This syntax is expanded to the
-numeric format by a Lua hook: @code{expand_date}.
+numeric format by the Lua hook @ref{expand_date}.
 The allowed date formats are:
 @table @asis
 
@@ -2998,8 +3001,6 @@ @heading Expanding dates
 The time component, if supplied, must be complete to the second.
 @end table
 
-For the complete source code of the hook, see @ref{Lua Reference}.
-
 @heading Typeless selection
 
 If, after expansion, a selector still has no type, it is matched as a
@@ -3656,8 +3657,8 @@ @section Quality Assurance
 @end itemize
 
 The evaluation of trust is done on a cert-by-cert basis by calling a
-set of Lua hooks: @code{get_revision_cert_trust},
address@hidden and @code{get_file_cert_trust}. These
+set of Lua hooks: @ref{get_revision_cert_trust},
address@hidden, and @ref{get_file_cert_trust}.  These
 hooks are only called when a cert has at least one good signature from
 a known key, and are passed @emph{all} the keys which have signed the
 cert, as well as the cert's ID, name and value. The hook can then
@@ -3672,8 +3673,6 @@ @section Quality Assurance
 deemed ``acceptable'' does monotone actually select an update target
 to merge into your workspace.
 
-For details on these hooks, see the @ref{Lua Reference}.
-
 @page
 @node    Vars, Reserved Files, Quality Assurance, Advanced Uses
 @section Vars
@@ -4018,15 +4017,15 @@ @section File Attributes
 Windows users can view and modify the attr like anyone else.)
 
 Attrs in the current workspace can be seen and modified using the
address@hidden attr} command; see @ref{Workspace}.  Attrs can also be found
-by examining any manifest directly.
address@hidden attr} command.  Attrs can also be found by examining any
+manifest directly.
 
 You can tell monotone to automatically take actions based on these
-attributes by defining hooks; see the @code{attr_functions} entry in
address@hidden Reference}.  Every time your workspace is written to,
-monotone will run the corresponding hooks registered for each attr in
-your workspace.  This way, you can extend the vocabulary of attrs
-understood by monotone simply by writing new hooks.
+attributes by defining hooks; see @ref{attr_functions}.  Every time
+your workspace is written to, monotone will run the corresponding
+hooks registered for each attr in your workspace.  This way, you can
+extend the vocabulary of attrs understood by monotone simply by
+writing new hooks.
 
 You can make up your own attrs for anything you find useful; the
 mechanism is fully general.  (If you make up some particularly useful
@@ -4907,18 +4906,20 @@ @section Global Options
 @file{~/.monotone} on Unix and Cygwin, @file{%APPDATA%\monotone%} on
 Windows MinGW). This is where monotone finds:
 
address@hidden
address@hidden keys, in @file{conf_dir/keys}; @ref{Certificates},
address@hidden Keys}. The location of the keys directory can be
-overridden separately with the @command{--keydir} option.
address@hidden @code
address@hidden keys
+in @file{conf_dir/keys}; see @ref{Certificates}, @ref{Generating
+Keys}. The location of the keys directory can be overridden separately
+with the @command{--keydir} option.
 
address@hidden rcfiles, which are per-user configuration files containing Lua code
-(@ref{Lua Reference}) that are run each time monotone starts up.
address@hidden rcfiles
+which are per-user configuration files containing Lua code
+(see @ref{rcfiles}) that are run each time monotone starts up.
 
 @item default database
 See option @command{--db} below.
 
address@hidden itemize
address@hidden table
 
 In addition, monotone writes a dump file to the configuration
 directory when it fails.
@@ -4926,12 +4927,12 @@ @section Global Options
 @item --date-format <arg>
 strftime(3) format specification for printing dates. The default
 format is @code{%x} for dates, @code{%X} for times, @code{%x %X} for
-both. This can also be overridden by the @code{get_date_format_spec}
-hook; @ref{Hooks}.
+both. This can also be overridden by the @ref{get_date_format_spec}
+hook.
 
 @item --db <arg>
 Set the database to use; defaults to the database specified in the
-current workspace (stored in @file{_MTN/options}; @ref{Storage and
+current workspace (stored in @file{_MTN/options}; see @ref{Storage and
 workflow}), or to nothing if not in a workspace. However, some
 commands default this differently; that is specified in those
 commands.
@@ -4959,7 +4960,7 @@ @section Global Options
 @item --key <arg>
 @itemx --use-default-key
 Set the key for signatures, using either the key name or the key hash
-(@ref{Generating Keys}).  If there is only one key in the keydir, then
+(see @ref{Generating Keys}).  If there is only one key in the keydir, then
 that is the default key. Otherwise there is no default key.
 
 @item --keydir <arg>
@@ -4975,7 +4976,7 @@ @section Global Options
 @itemx --builtin-rcfile
 Do not load the built-in rcfile with the default hooks. This means
 all hooks will have null definitions (unless overridden by other
-rcfiles). @ref{Hooks}.
address@hidden).
 
 @item --no-default-confdir
 @itemx --allow-default-confdir
@@ -4990,7 +4991,7 @@ @section Global Options
 Do not load the standard rcfiles, which are
 @file{~/.monotone/monotonerc} on Unix or
 @file{%APPDATA%\monotone\monotonerc} on Windows, and
address@hidden/monotonerc} in the current workspace.
address@hidden/monotonerc} in the current workspace. See @ref{rcfiles}.
 
 @item --no-workspace
 @itemx --allow-workspace
@@ -5009,11 +5010,11 @@ @section Global Options
 debug, information, warning, and none. The default is information.
 
 @item --rcfile <arg>
-Specify an extra rcfile to load.
+Specify an extra rcfile to load. See @ref{rcfiles}.
 
 @itemx --clear-rcfiles
-Cancel all previous @command{rcfile} options (standard rcfiles are
-still loaded).
+Cancel all previous @command{--rcfile} options (standard rcfiles are
+still loaded). See @ref{rcfiles}.
 
 @itemx --root <arg>
 Limit the search for a workspace to the specified root directory
@@ -5042,7 +5043,7 @@ @section Tree
 @section Tree
 
 @ftable @command
address@hidden mtn checkout [--[no-]move-conflicting-paths] address@hidden @var{directory}
address@hidden address@hidden mtn checkout [--[no-]move-conflicting-paths] address@hidden @var{directory}
 @itemx mtn checkout [--[no-]move-conflicting-paths] address@hidden @var{directory}
 @itemx mtn co
 These commands copy a revision @var{id} out of your database,
@@ -5092,7 +5093,7 @@ @section Tree
 @var{id} as the unique head of @var{branchname} if it exists.
 
 @item mtn conflicts
address@hidden
+See @ref{Conflicts}
 
 @item mtn explicit_merge @var{id} @var{id} @var{destbranch}
 This command merges exactly the two @var{id}s you give it, and places
@@ -5174,9 +5175,24 @@ @section Tree
 originally in @var{sourcebranch}, which is almost certainly not what would be
 intended.
 
address@hidden need merge_into_workspace
address@hidden need migrate_workspace
address@hidden mtn merge_into_workspace @var{revision}
+Merges @var{revision} into the current workspace; the result is not
+committed to the database. There can be no pending changes in the
+current workspace. The workspace's selected branch is not
+changed.
 
+When a later commit is done, both @var{revision} and the workspace's
+base revision will be recorded as parents.
+
+Merge conflicts can occur.
+
address@hidden mtn migrate_workspace @var{[directory]}
+Migrates a workspace directory's metadata to the latest format.
+
+If no directory is given, defaults to the current workspace.
+
+This may be needed when upgrading to a new version of monotone.
+
 @item mtn propagate @var{sourcebranch} @var{destbranch}
 This command takes a unique head from @var{sourcebranch} and merges it
 with a unique head of @var{destbranch}, using the least common
@@ -5204,15 +5220,13 @@ @section Tree
 to date.
 
 @item mtn setup -b @var{branchname} [-d @var{database}] address@hidden
-This command prepares @var{directory} as a monotone workspace,
-by creating and populating the @file{_MTN} directory with basic
-information.  This information must include at least the branch
-to be used.  If no database is given, the configured default
-database is created or re-used (see the hook
address@hidden in the @ref{Lua Reference} for
-more details).
-Both settings, branch and database name, will be placed in the
address@hidden/options} file.
+This command prepares @var{directory} as a monotone workspace, by
+creating and populating the @file{_MTN} directory with basic
+information.  This information must include at least the branch to be
+used.  If no database is given, the configured default database is
+created or re-used (see @ref{get_default_database_alias} for more
+details).  Both settings, branch and database name, will be placed in
+the @file{_MTN/options} file.
 
 This can be used with an empty directory to start a new blank project,
 or within an existing directory full of files, prior to using
@@ -5373,31 +5387,42 @@ @section Workspace
 
 @ftable @command
 @item mtn add [--[no-]recursive | -R] [--[no-]respect-ignore] @var{pathname...}
address@hidden mtn add [--[no-]recursive | -R] [--[no-]respect-ignore] --[no-]unknown address@hidden
address@hidden mtn add [--[no-]recursive | -R] [--[no-]respect-ignore] --[no-]unknown address@hidden
 This command places ``add'' entries for the paths specified in
address@hidden in the workspace's ``work list''. The work list of
-your workspace is stored in @file{_MTN/revision}, and is a list of
-explicit pathname changes you wish to commit at some future time, such
-as addition, removal or renaming of files.
address@hidden in @ref{_MTN/revision}; they will be part of the
+next @command{commit}. See @ref{Storage and workflow} for
+more information on @command{add} and @command{commit}.
 
-As a convenience, the @option{--unknown} option can be used; this
-option will cause all of the files listed by @command{mtn list
-unknown} to be added. @c FIXME: what happens for '--unknown pathname'?
+As a convenience, the @command{--unknown @var{pathname...}} option can be used;
+this option will cause all of the files listed by @command{mtn list
+unknown @var{pathname...}} to be added.
 
-While this command places an ``add'' entry on your work list, it does
-not immediately affect your database. When you @command{commit} your
-workspace, monotone will use the work list to build a new revision,
-which it will then commit to the database. The new revision will have
-any added entries inserted in its manifest.
-
 Adding directories, whether explicitly or using the @option{--unknown}
 option, is non-recursive by default.  The @command{add} command can be
 made recursive using the @option{--recursive} option.  When adding a
 directory non-recursively, monotone will warn if the directory has
 any files that would be added by a recursive add.
 
address@hidden need 'attr'
address@hidden address@hidden mtn attr
+Manage file attributes.
 
+In @command{drop} and @command{get}, if no attribute is specified, the
+command applies to all attributes attached to the file given in
address@hidden  Otherwise it applies only to the attribute specified in
address@hidden
+
+    @table @command
+    @item mtn attr drop @var{path} @var{[attr]}
+    Remove attributes.
+
+    @item mtn attr get @var{path} @var{[attr]}
+    Output the attributes.
+
+    @item mtn attr set @var{path} @var{attr} @var{value}
+    Sets @var{attr} on @var{path} to @var{value}.
+
+   @end table
+
 @item mtn commit
 @itemx mtn commit address@hidden address@hidden
 @itemx mtn commit address@hidden
@@ -5412,7 +5437,7 @@ @section Workspace
 @command{ci} is an alias for @command{commit}.
 
 @command{commit} works by loading the revision named in
address@hidden/revision}, locating the base manifest for your workspace,
address@hidden/revision}, locating the base manifest for your workspace,
 applying any pathname changes described in @file{_MTN/revision}, and
 then comparing the updated base manifest to the files it finds in your
 workspace, to determine which files have been edited.
@@ -5583,26 +5608,18 @@ @section Workspace
 @item mtn drop [--bookkeep-only] @var{pathname...}
 @itemx mtn drop --missing
 This command places ``drop'' entries for the paths specified in
address@hidden in the workspace's ``work list'' and deletes
-the file from the workspace.
address@hidden in @ref{_MTN/revision} and deletes the file from
+the workspace. This will be part of the next @command{commit}.
 
 @command{rm} is an alias for @command{drop}.
 
-The work list of your workspace is stored in @file{_MTN/revision}, and
-is a list of explicit pathname changes you wish to commit at some
-future time, such as addition, removal, or renaming of files.  This
-command also removes any attributes on @var{pathname}; see @ref{File
-Attributes} for more details.  If you use the @option{--missing} flag
-it will add drop entries for any paths that monotone is tracking for
-which you have already removed the files from the filesystem, in
-addition to all those specified in @var{pathname...}.
+This command also removes any attributes on @var{pathname}; see
address@hidden Attributes} for more details.  If you use the
address@hidden flag it will add drop entries for any paths that
+monotone is tracking for which you have already removed the files from
+the filesystem, in addition to all those specified in
address@hidden
 
-While this command places a ``drop'' entry on your work list, it does
-not immediately affect your database. When you @command{commit} your
-workspace, monotone will use the work list to build a new revision,
-which it will then commit to the database. The new revision will have
-any dropped entries removed from its manifest.
-
 There are situations in which @command{drop} will tell monotone
 to remove the file from the revision at commit time, but where it will
 @emph{not} to remove the file from the workspace immediately.  One
@@ -5612,13 +5629,15 @@ @section Workspace
 See the @command{undrop} command for undoing a @command{drop} before commit.
 
 @item mtn mkdir [--[no-]respect-ignore] @var{directory...}
-This command creates a directory in the filesystem relative to your
-current location and adds it to your workspace's ``work list''.  The
-changes are not reflected in your database until such time as you
-perform a commit.  If you use the @option{--no-respect-ignore} flag,
-entries in @file{.mtn-ignore} will not be honored.
address@hidden FIXME: what does it mean to honor .mtn-ignore here?
+This command creates directories in the filesystem relative to your
+current location and adds them to @ref{_MTN/revision}.  This will be
+part of the next @command{commit}.
 
+Normally, if any of @var{directory...} are in @file{.mtn-ignore}, this
+command will fail. You can use @option{--no-respect-ignore} to
+override this check. But it would be better to remove @var{directory}
+from @file{.mtn-ignore}.
+
 @item mtn pivot_root [--bookkeep-only] [--[no-]move-conflicting-paths] @var{new_root} @var{put_old}
 Most users will never need this command.  It is primarily useful in
 certain tricky cases where one wishes to combine several projects
@@ -5693,16 +5712,14 @@ @section Workspace
 @itemx mtn rename [--bookkeep-only] @var{src1} @var{...} @var{dst/}
 @itemx mtn mv
 This command places ``rename'' entries for the paths specified in
address@hidden and @var{dst} in the workspace's ``work list'', and
-optionally renames the paths on the disk. The second form
-renames a number of source paths to the given destination.
address@hidden and @var{dst} in @ref{_MTN/revision}, and optionally renames
+the paths on the disk. The second form renames a number of source
+paths to the given destination. This will be part of the next
address@hidden
 
 @command{mv} is an alias for @command{rename}.
 
-The work list of your workspace is stored in @file{_MTN/revision}, and
-is a list of explicit pathname changes you wish to commit at some
-future time, such as addition, removal, or renaming of files.  This
-command also moves any attributes on @var{src} to @var{dst}; see
+This command also moves any attributes on @var{src} to @var{dst}; see
 @ref{File Attributes} for more details, and, unless the
 @option{--bookkeep-only} option is supplied, it will rename the files
 immediately in the filesystem.  In the case where @var{dst} must be a
@@ -5731,7 +5748,7 @@ @section Workspace
 not deleted (because it was changed), it just removes the pending
 drop.
 
address@hidden mtn update [--[no-]move-conflicting-paths]
address@hidden address@hidden mtn update [--[no-]move-conflicting-paths]
 @itemx mtn update [--[no-]move-conflicting-paths] address@hidden
 Without a @option{--revision} argument, this command incorporates
 ``recent'' changes found in your database into your workspace. It
@@ -5910,9 +5927,9 @@ @section Network
 will take the defaults it would use when you don't stand in a
 workspace.
 
-In the server, different permissions can be applied to each branch; see
-the hooks @code{get_netsync_read_permitted} and
address@hidden (see @ref{Lua Reference}).
+In the server, different permissions can be applied to each branch;
+see @ref{get_netsync_read_permitted} and
address@hidden
 
 If a @option{--pid-file} option is specified, the command
 @command{serve} will create the specified file and record the process
@@ -5932,14 +5949,14 @@ @section Network
 @item mtn clone @var{address}[:@var{port}] @var{branchname} address@hidden
 @command{clone} is a helper command that performs the roles of a
 number of other commands all at once.  Firstly, it constructs a new
-database. If no database is given, the configured default
-database is created or re-used (see the hook @code{get_default_database_alias}
-in the @ref{Lua Reference} for more details). Then it populates this database
-by @command{pull}ing any data which match the branch pattern in the @var{uri}
-or the given @var{branchname} argument from the remote database.
-Finally, it copies the files out of the newly created database into a
-local directory, just as @command{checkout} would.  If no @var{directory}
-is given, the @var{branchname} is used as directory.
+database. If no database is given, the configured default database is
+created or re-used (see @ref{get_default_database_alias} for more
+details). Then it populates this database by @command{pull}ing any
+data which match the branch pattern in the @var{uri} or the given
address@hidden argument from the remote database.  Finally, it
+copies the files out of the newly created database into a local
+directory, just as @command{checkout} would.  If no @var{directory} is
+given, the @var{branchname} is used as directory.
 
 @strong{Important notice:} The @var{address}[:@var{port}] @var{branchname}
 call syntax is deprecated and subject of removal in future versions of monotone!
@@ -6121,17 +6138,17 @@ @section Informative
 that @command{diff} accepts for these modes, @option{-u} and
 @option{-c}, also work.
 
-In either of these modes, monotone prints the name of the top-level code
-construct that encloses each ``hunk'' of changes, unless suppressed with
-the @option{--no-show-encloser}.  The options that
+In either of these modes, monotone prints the name of the top-level
+code construct that encloses each ``hunk'' of changes, unless
+suppressed with the @option{--no-show-encloser}.  The options that
 @command{diff} accepts for this mode, @option{-p} and
 @option{--show-c-function}, also work.  Monotone finds the enclosing
 construct by scanning backward from the first changed line in each
 hunk for a line that matches a regular _expression_.  The default
 regular _expression_ is correct for many programming languages.  You can
 adjust the _expression_ used with the Lua hook
address@hidden; @ref{Hooks}.  For the regular _expression_
-syntax, @xref{Regexps}.
address@hidden  For the regular _expression_ syntax, see
address@hidden
 
 @option{--unified} requests the ``unified diff'' format, the default.
 @option{--context} requests the ``context diff'' format (analogous to
@@ -6139,15 +6156,16 @@ @section Informative
 generated directly by monotone, using its built-in diff algorithm.
 
 Sometimes, you may want more flexibility in output formats; for these
-cases, you can use @option{--external}, which causes monotone to invoke
-an external program to generate the actual output.  By default, the
-external program is @code{diff}, and you can use the option
+cases, you can use @option{--external}, which causes monotone to
+invoke an external program to generate the actual output.  By default,
+the external program is @code{diff}, and you can use the option
 @option{--diff-args} to pass additional arguments controlling
-formatting.  The actual invocation of @command{diff}, default arguments
-passed to it, and so on, are controlled by the hook
address@hidden; see @ref{Hooks} for more details.
+formatting.  The actual invocation of @command{diff}, default
+arguments passed to it, and so on, are controlled by the hook
address@hidden for more details.
 
address@hidden FIXME: need help
address@hidden mtn help [--[no]-hidden] @var{command...}
+Displays help about commands and options.
 
 @item mtn list branches address@hidden address@hidden
 @itemx mtn ls
@@ -6324,7 +6342,7 @@ @section Informative
 Specifying only the pathname "." will restrict the search for unknown
 files to the current subdirectory of the workspace.
 
address@hidden mtn log
address@hidden address@hidden mtn log
 @itemx mtn log address@hidden address@hidden address@hidden [...]] [--clear-from] address@hidden [...]] [--clear-to] address@hidden [...]] [--[no-]brief] [--[no-]merges] [--[no-]files] [--[no-]graph] [--[no-]diffs] address@hidden
 
 This command prints out a log, in forward ancestry order by default
@@ -6450,8 +6468,18 @@ @section Informative
 Specifying only the pathname "." will restrict @command{status} to files
 changed within the current subdirectory of the workspace.
 
address@hidden FIXME: need version
address@hidden mtn version [--full | --concise]
+Shows the program version.
 
+The concise version is one line, for example:
address@hidden
+monotone 1.0dev (base revision: c91edf22b20f5a8b750a8a02af763412d6b936e8)
address@hidden example
+
+The full version gives more information, including a changelist of the
+monotone source tree from the base revision at the time the executable
+was compiled.
+
 @end ftable
 
 @node    Review, Variables, Informative, Command Reference
@@ -6529,7 +6557,7 @@ @section Variables
 
 @item mtn set @var{domain} @var{name} @var{value}
 Associates the value @var{value} to @var{name} in domain @var{domain}.
address@hidden for more information.
+See @ref{Vars} for more information.
 
 @item mtn unregister_workspace address@hidden
 Unregisters the given workspace from the current database, so that it
@@ -6665,9 +6693,9 @@ @section Key and Cert
 
 @item mtn trusted @var{id} @var{certname} @var{certval} @var{signers}
 This command lets you test your revision trust hook
address@hidden (see @ref{Lua Reference}).  You pass it
-a revision ID, a certificate name, a certificate value, and one or more
-key IDs or key names, and it will tell you whether, under your current settings,
address@hidden  You pass it a revision ID, a
+certificate name, a certificate value, and one or more key IDs or key
+names, and it will tell you whether, under your current settings,
 Monotone would trust a cert on that revision with that value signed by
 those keys.
 
@@ -6712,7 +6740,12 @@ @section Database
 @section Database
 
 @ftable @command
address@hidden FIXME: need changesetify
address@hidden mtn db changesetify
+Converts the database to the changeset format.
+
+This is only needed when upgrading very old monotone databases,
+created with monotone versions less than 0.15.
+
 @item mtn db check address@hidden
 
 Monotone always works hard to verify the data it creates and accesses.
@@ -6866,11 +6899,20 @@ @section Database
 form.  It can be used to investigate the state of your database, or
 help diagnose failures.
 
address@hidden FIXME: need mtn db fix_certs
address@hidden mtn db fix_certs [--drop-bad-certs]
+Attempt to fix bad certs.
 
+Older monotone versions could sometimes associate certs with the wrong
+key. This fixes such certs if you have the correct key, and if
address@hidden is given, drops any certs that you don't
+have the correct key for. This should only be needed if you had such
+certs in your db when upgrading from monotone 0.44 or earlier, or if
+you loaded such certs with 'mtn read'.
+
 @item mtn db info address@hidden
-This command prints information about the monotone database @var{dbfile},
-including its schema version and various table size statistics.
+This command prints information about the monotone database
address@hidden, including its schema version and various table size
+statistics.
 
 @item mtn db init address@hidden
 This command initializes a new monotone database at @var{dbfile}.
@@ -6894,10 +6936,21 @@ @section Database
 a copy of it before migrating, in case there is an untrapped error
 during migration.
 
address@hidden FIXME: need mtn db regenerate_caches
address@hidden FIXME: need mtn db rosterify
address@hidden FIXME: need mtn db set_epoch
address@hidden mtn db regenerate_caches
+Regenerates the caches stored in the database.
 
+This is only needed to recover from a newly discovered bug in
+monotone, or if your database becomes corrupted for some other reason.
+
address@hidden mtn db rosterify
+Converts the database to the rosters format.
+
+This is only needed when upgrading very old monotone databases,
+created with monotone versions less than 0.15.
+
address@hidden mtn db set_epoch @var{branch} @var{epoch}
+Sets the branch's epoch. See @ref{Rebuilding ancestry} for discussion of epochs.
+
 @item mtn db version address@hidden
 This command prints out just the schema version of the monotone
 database @var{dbfile}.
@@ -7222,7 +7275,7 @@ @section Automation
 @item Purpose:
 
 Create a new workspace containing the given revision; see
address@hidden in @ref{Workspace}.
address@hidden checkout}.
 
 @item Sample output:
 
@@ -7234,7 +7287,7 @@ @section Automation
 
 @item Error conditions:
 
-see @command{checkout} in @ref{Workspace}.
+see @ref{mtn checkout}.
 
 @end table
 
@@ -7473,7 +7526,7 @@ @section Automation
 
 @item Purpose:
 
-Drops one or more database variables, see also @ref{Vars}.
+Drops one or more database variables; see @ref{Vars}.
 
 @item Sample usage:
 
@@ -9380,7 +9433,7 @@ @section Automation
 [--[no-]merges] address@hidden
 
 Same as @command{mtn log}, but without the output control options; see
address@hidden
address@hidden log}.
 
 @item Added in:
 
@@ -9406,7 +9459,7 @@ @section Automation
 
 @item Error conditions:
 
-see @command{mtn log} in @ref{Informative}.
+See @ref{mtn log}.
 
 @end table
 
@@ -10281,7 +10334,7 @@ @section Automation
 
 @item Purpose:
 
-Change a database variable, see also @ref{Vars}.
+Change a database variable; see @ref{Vars}.
 
 @item Sample usage:
 
@@ -10339,7 +10392,7 @@ @section Automation
 file syntax for the resolutions is given here, so an external tool can
 set them directly.
 
-For more information on conflicts, @ref{Merge Conflicts}.
+For more information on conflicts, see @ref{Merge Conflicts}.
 
 Note that this cannot be used to show conflicts that would occur in an
 @command{update}, since in that case one revision is the workspace.
@@ -10971,7 +11024,7 @@ @section Automation
 @item Purpose:
 
 Update the current workspace to the latest or given revision; see
address@hidden in @ref{Workspace}.
address@hidden update}.
 
 @item Sample output:
 
@@ -10993,7 +11046,7 @@ @section Automation
 
 @item Error conditions:
 
-see @command{update} in @ref{Workspace}.
+see @ref{mtn update}.
 
 @end table
 
@@ -11198,7 +11251,8 @@ @section @code{basic_io} Format
 parent.
 
 Another example is the @file{read-permissions} file that's read by the
-default definition of the @code{get_netsync_read_permitted} lua hook.
+default definition of the @code{get_netsync_read_permitted} Lua hook;
+see @ref{Default hooks}.
 
 Monotone will format its output in @code{basic_io} as follows:
 @itemize
@@ -11230,22 +11284,33 @@ @chapter Lua Reference
 help monotone to make a particular decision, set a suitable default or
 preference or perform a certain action.
 
-You can put Lua functions in a file @file{$HOME/.monotone/monotonerc},
-or in your workspace in @file{_MTN/monotonerc}, both of which will be
-read every time monotone runs. Definitions in @file{_MTN/monotonerc}
-shadow (override) definitions made in your
address@hidden/.monotone/monotonerc}. You can also tell monotone to
-interpret extra hook functions from any other @var{file} using the
address@hidden@var{file}} option; hooks defined in files specified
-on the command-line will shadow hooks from the other predefined
-locations.  By specifying @address@hidden you can
-automatically load all the files contained in @var{directory}.
address@hidden can put Lua functions in ``rcfiles'' which will be
+read every time monotone runs. @file{rcfiles} consist of:
 
address@hidden
address@hidden
address@hidden/.monotone/monotonerc} on Unix or
address@hidden on Windows
+
address@hidden
address@hidden/monotonerc} in the current workspace
+
address@hidden
+Files given in the @address@hidden option on the command line.
+
address@hidden
+All files in a directory given by @address@hidden on
+the command line.
address@hidden itemize
+
+The files are loaded in the order @file{.monotone/monotonerc},
address@hidden/monotonerc}, @option{--rcfile} in the command line order.
+Definitions loaded later shadow (override) earlier definitions.
+
 There are two uses for Lua functions; hooks and user-defined
-commands. This section documents hooks; see @command{register_command}
-in @ref{Additional Lua Functions} for user-defined commands. The source
-distribution contains some example user commands in the
address@hidden/command} directory.
+commands. This section documents hooks; see @ref{register_command} for
+user-defined commands. The source distribution contains some example
+user commands in the @file{contrib/command} directory.
 
 Hooks are Lua functions that are called from monotone code in many
 places. Monotone provides default definitions for some hooks; see
@@ -11625,7 +11690,7 @@ @subsection User Defaults
 @file{$HOME/.monotone/databases} on Unix and
 @file{%APPDATA%\monotone\databases} on Windows.
 
address@hidden get_default_database_alias ()
address@hidden@item get_default_database_alias ()
 
 Returns the alias of the managed database which should be used as default
 for commands like @command{clone} or @command{setup} if these are missing
@@ -11707,7 +11772,7 @@ @subsection User Defaults
 branches. Otherwise returns @code{false}. This hook has no default
 definition, therefore the default behavior is to list all branches.
 
address@hidden get_date_format_spec (@var{wanted})
address@hidden@item get_date_format_spec (@var{wanted})
 
 Returns a @code{strftime} format specification, which @command{mtn
 log} and similar commands will use to format dates, unless instructed
@@ -11751,7 +11816,7 @@ @subsection Netsync Permission Hooks
 changed.
 
 @ftable @code
address@hidden get_netsync_read_permitted (@var{branch}, @var{key_identity})
address@hidden@item get_netsync_read_permitted (@var{branch}, @var{key_identity})
 
 Returns @code{true} if a peer authenticated as key @var{key_identity}
 should be allowed to read from your database certs, revisions,
@@ -11795,7 +11860,7 @@ @subsection Netsync Permission Hooks
 If a client connects anonymously, this hook will be called with a
 @var{key_identity} of @code{nil}.
 
address@hidden get_netsync_write_permitted (@var{key_identity})
address@hidden@item get_netsync_write_permitted (@var{key_identity})
 
 Returns @code{true} if a peer authenticated as key @var{key_identity}
 should be allowed to write into your database certs, revisions,
@@ -11989,8 +12054,10 @@ @subsection Trust Evaluation Hooks
 implementation of these hooks, and thus a different filtered view of
 valid revisions, according to their own preferences and purposes.
 
+See @ref{Quality Assurance}.
+
 @ftable @code
address@hidden get_revision_cert_trust (@var{signers}, @var{id}, @var{name}, @var{val})
address@hidden@item get_revision_cert_trust (@var{signers}, @var{id}, @var{name}, @var{val})
 
 Returns whether or not you @emph{trust} the assertion
 @address@hidden on a given revision @var{id}, given a valid
@@ -12041,6 +12108,12 @@ @subsection Trust Evaluation Hooks
 the revision has been approved by an extra ``reviewer'' who used the
 @command{approve} command.
 
address@hidden@item get_file_cert_trust (@var{signers}, @var{id}, @var{name}, @var{val})
+Similar to @ref{get_revision_cert_trust}, for certs on files.
+
address@hidden@item get_manifest_cert_trust (@var{signers}, @var{id}, @var{name}, @var{val})
+Similar to @ref{get_revision_cert_trust}, for certs on manifests.
+
 @item accept_testresult_change (@var{old_results}, @var{new_results})
 
 This hook is used by the update algorithm to determine whether a
@@ -12092,7 +12165,7 @@ @subsection External Diff Tools
 customisation of the way file differences are shown.
 
 @ftable @code
address@hidden get_encloser_pattern (@var{file_path})
address@hidden@item get_encloser_pattern (@var{file_path})
 
 Called for each file unless @command{diff} is given the
 @option{--no-show-encloser} option (or the
@@ -12109,7 +12182,7 @@ @subsection External Diff Tools
 make it the default for that language.  @xref{Regexps}, for the
 regular _expression_ syntax.
 
address@hidden external_diff (@var{file_path}, @var{old_data}, @var{new_data}, @var{is_binary}, @var{diff_args}, @var{old_rev}, @var{new_rev})
address@hidden@item external_diff (@var{file_path}, @var{old_data}, @var{new_data}, @var{is_binary}, @var{diff_args}, @var{old_rev}, @var{new_rev})
 
 Called for each file when @command{diff} is given the
 @option{--external} option.  @var{file_path} is the pathname of the
@@ -12168,10 +12241,8 @@ @subsection External Merge Tools
 and if not, then simply searches for whatever is installed on the
 local system.  For details, see the code in @ref{Default hooks}.
 
address@hidden@item get_preferred_merge3_command(@var{tbl})
 
address@hidden
address@hidden get_preferred_merge3_command(@var{tbl})
-
 Returns the results of running an external merge on three strings.
 @var{tbl} wraps up the various arguments for each merge command and
 is always provided by @ref{merge3}. If there is a particular editor
@@ -12191,7 +12262,7 @@ @subsection Selector Expansion
 For more detail on the use of selectors, see @ref{Selectors}.
 
 @ftable @code
address@hidden expand_selector (@var{str})
address@hidden@item expand_selector (@var{str})
 
 Attempts to expand @var{str} as a selector. Expansion generally means
 providing a type prefix for the selector, such as @code{a:} for authors
@@ -12200,7 +12271,7 @@ @subsection Selector Expansion
 evaluation of the selector. For the default definition of this hook, see
 @ref{Default hooks}.
 
address@hidden expand_date (@var{str})
address@hidden@item expand_date (@var{str})
 
 Attempts to expand @var{str} as a date _expression_. Expansion means
 recognizing and interpreting special words such as @code{yesterday} or
@@ -12225,7 +12296,7 @@ @subsection Attribute Handling
 according to its attributes when the workspace is changed.
 
 @ftable @code
address@hidden attr_functions address@hidden (@var{filename}, @var{value})
address@hidden@item attr_functions address@hidden (@var{filename}, @var{value})
 
 This is not a hook function, but a @emph{table} of hook
 functions. Each entry in the table @code{attr_functions}, at table
@@ -12523,7 +12594,7 @@ @section Additional Lua Functions
 the call was successful or not, and a string being the @code{stdout}
 output from the @command{automate} command. This function is not for use
 in ordinary Lua hooks, but rather for Lua based commands as defined by
-the Lua function @code{register_command}.
+the Lua function @ref{register_command}.
 
 Note that keyboard interaction is disabled, just as if @option{--non-interactive}
 is specified. Actions which require operations on password-encrypted private
@@ -12565,7 +12636,7 @@ @section Additional Lua Functions
 Returns true if a match for @var{regexp} is found in @var{str}, return
 false otherwise.  @xref{Regexps}, for the syntax of @var{regexp}.
 
address@hidden register_command(@var{name}, @var{params}, @var{abstract}, @var{description}, @var{function})
address@hidden@item register_command(@var{name}, @var{params}, @var{abstract}, @var{description}, @var{function})
 
 Add a command named @var{name} to the @var{user} command group in monotone.  This function is
 normally called directly from a @file{monotonerc} file rather than a hook.  When the user issues the
@@ -12803,7 +12874,7 @@ @heading Filenames
 processing is performed by boost::filesystem.
 
 @item
-FIXME: Monotone does not properly handle case insensitivity on Windows.
+Monotone does not properly handle case insensitivity on Windows.
 
 @item
 A filename (in normal form) is constrained to be a nonempty sequence
@@ -13214,7 +13285,7 @@ @appendix Default hooks
 This section contains the entire source code of the standard hook file,
 that is built in to the monotone executable, and read before any user
 hooks files (unless @option{--no-builtin-rcfiles} is passed).  It contains the
-default values for all hooks.
+default values for all hooks. See @ref{rcfiles}.
 
 @verbatiminclude std_hooks.lua
 
============================================================
--- pcrewrap.cc	096c37a8fcdbd0d4baf2434d16dea8663ecd1704
+++ pcrewrap.cc	a4c2c48cb681e893d4bdda32bbebc0132479f8cd
@@ -144,7 +144,7 @@ namespace pcre
     // because pcre_exec might not signal trailing unmatched subpatterns
     // i.e. if "abc" matches "(abc)(de)?", the match count is two, not
     // the expected three
-    size_t cap_count = 0;
+    int cap_count = 0;
     int rc = pcre_fullinfo(basedat, extradat, PCRE_INFO_CAPTURECOUNT, &cap_count);
     I(rc == 0);
 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]