monotone

monotone Commit Details

Date:2007-03-12 05:42:52 (12 years 3 months ago)
Author:Derek Scherger
Branch:net.venge.monotone.experiment.commands-with-dashes
Commit:82acc28b5e418bc0ac7352b80be3469e897436b1
Parents: 254f044f6d3af26f8370fef8cde16a1dddd37eed
Message: * replace underscores with dashes in the manual

Changes:
Mmonotone.texi (29 diffs)

File differences

monotone.texi
12711271
12721272
12731273
1274
1274
12751275
12761276
12771277
12781278
1279
1279
12801280
12811281
12821282
......
29542954
29552955
29562956
2957
2957
29582958
29592959
29602960
......
35413541
35423542
35433543
3544
3544
35453545
35463546
35473547
......
42364236
42374237
42384238
4239
4239
42404240
42414241
42424242
......
42454245
42464246
42474247
4248
4248
42494249
42504250
42514251
4252
4252
42534253
42544254
4255
4255
42564256
42574257
42584258
42594259
4260
4260
42614261
42624262
42634263
......
45414541
45424542
45434543
4544
4544
45454545
45464546
45474547
......
45494549
45504550
45514551
4552
4552
45534553
45544554
45554555
45564556
45574557
45584558
4559
4559
45604560
45614561
4562
4562
45634563
45644564
45654565
......
45784578
45794579
45804580
4581
4581
45824582
45834583
45844584
......
45864586
45874587
45884588
4589
4589
45904590
45914591
45924592
......
50735073
50745074
50755075
5076
5076
50775077
50785078
50795079
......
51235123
51245124
51255125
5126
5126
51275127
51285128
51295129
......
51345134
51355135
51365136
5137
5137
51385138
51395139
51405140
......
53765376
53775377
53785378
5379
5379
53805380
53815381
53825382
......
54655465
54665466
54675467
5468
5468
54695469
54705470
54715471
......
54965496
54975497
54985498
5499
5499
55005500
55015501
55025502
......
55055505
55065506
55075507
5508
5508
55095509
55105510
55115511
55125512
55135513
5514
5514
55155515
55165516
55175517
55185518
55195519
55205520
5521
5521
55225522
55235523
55245524
......
65876587
65886588
65896589
6590
6591
6590
6591
65926592
65936593
65946594
......
66936693
66946694
66956695
6696
6696
66976697
66986698
66996699
......
67286728
67296729
67306730
6731
6731
67326732
67336733
67346734
......
67646764
67656765
67666766
6767
6768
6767
6768
67696769
67706770
67716771
......
70247024
70257025
70267026
7027
7027
70287028
70297029
70307030
......
70557055
70567056
70577057
7058
7058
70597059
70607060
70617061
......
70917091
70927092
70937093
7094
7094
70957095
70967096
70977097
......
71317131
71327132
71337133
7134
7134
71357135
71367136
71377137
......
73937393
73947394
73957395
7396
7396
73977397
73987398
73997399
......
74327432
74337433
74347434
7435
7435
74367436
74377437
74387438
......
76867686
76877687
76887688
7689
7689
76907690
76917691
76927692
......
77797779
77807780
77817781
7782
7782
77837783
77847784
77857785
......
78337833
78347834
78357835
7836
7836
78377837
78387838
78397839
time he invokes @code{mtn} (and, more importantly, it simplifies the
tutorial text to skip the passphrase prompts) so he decides to use
@emph{ssh-agent} to store his key. He does this by using the
@code{ssh_agent_export} command to export his key into a format that
@code{ssh-agent-export} command to export his key into a format that
ssh-agent can understand and adding it with @code{ssh-add}.
@smallexample
@group
$ mtn ssh_agent_export ~/.ssh/id_monotone
$ mtn ssh-agent-export ~/.ssh/id_monotone
enter passphrase for key ID [user@@example.com]:
enter new passphrase for key ID [user@@example.com]:
confirm passphrase for key ID [user@@example.com]:
If you do determine that it is necessary to use inodeprints with your
project, it is simple to enable them. Simply run @command{mtn
refresh_inodeprints}; this will enable inodeprints mode and generate an
refresh-inodeprints}; this will enable inodeprints mode and generate an
initial cache. If you ever wish to turn them off again, simply delete
the file @file{_MTN/inodeprints}. You can at any time delete or truncate
the @file{_MTN/inodeprints} file; monotone uses it only as a cache and
@group
$ mtn --db=test.mtn db init
$ mtn --db=test.mtn genkey import@@example.net
$ mtn --db=test.mtn --branch=net.example.wobbler cvs_import /usr/local/cvsroot/wobbler
$ mtn --db=test.mtn --branch=net.example.wobbler cvs-import /usr/local/cvsroot/wobbler
$ mtn --db=test.mtn --branch=net.example.wobbler checkout wobber-checkout
@end group
@end smallexample
branches, public contribution branches, or branches devoted to the
development of a single module within a larger project.
@item mtn explicit_merge @var{id} @var{id} @var{destbranch}
@item mtn explicit-merge @var{id} @var{id} @var{destbranch}
This command merges exactly the two @var{id}s you give it, and places
the result in branch @var{destbranch}. It is useful when you need more
control over the merging process than @command{propagate} or @command{merge}
have a branch with two heads, and you want to propagate one of them to
another branch, again, you can use this command.
@item mtn merge_into_dir @var{sourcebranch} @var{destbranch} @var{dir}
@item mtn merge-into-dir @var{sourcebranch} @var{destbranch} @var{dir}
This command takes a unique head from @var{sourcebranch} and merges it
into a unique head of @var{destbranch}, as a directory. The resulting
revision is committed to @var{destbranch}. If either @var{sourcebranch} or
@var{destbranch} has multiple heads, @command{merge_into_dir} aborts, doing
@var{destbranch} has multiple heads, @command{merge-into-dir} aborts, doing
nothing.
The purpose of @command{merge_into_dir} is to permit a project to contain
The purpose of @command{merge-into-dir} is to permit a project to contain
another project in such a way that @command{propagate} can be used to keep
the contained project up-to-date. It is meant to replace the use of nested
checkouts in many circumstances.
Note that @command{merge_into_dir} @emph{does not} permit changes made to the
Note that @command{merge-into-dir} @emph{does not} permit changes made to the
contained project in @var{destbranch} to be propagated back to
@var{sourcebranch}. Attempting this would lead to @var{sourcebranch} containing
both projects nested as in @var{destbranch} instead of only the project
When you use @command{pluck} you are going behind monotone's back, and
reducing its ability to help you keep track of what has happened in
your history. Never use @command{pluck} where a true merging command
like @command{merge}, @command{propagate}, or @command{explicit_merge}
like @command{merge}, @command{propagate}, or @command{explicit-merge}
will do. If you find yourself using @command{pluck} often, you should
consider carefully whether there is any way to change your workflow to
reduce your need for @command{pluck}ing.
When running @command{pluck}, it is sometimes possible for
@ref{Workspace Collisions} to occur.
@item mtn refresh_inodeprints
@item mtn refresh-inodeprints
This command puts the current workspace into @ref{Inodeprints} mode,
if it was not already, and forces a full inodeprints cache refresh.
After running this command, you are guaranteed that your workspace is
in inodeprints mode, and that the inodeprints cache is accurate and up
to date.
@item mtn pivot_root [--bookkeep-only] pivot_root @var{new_root} @var{put_old}
@item mtn pivot-root [--bookkeep-only] pivot-root @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
into one, or split one project into several. See also @command{merge_into_dir}.
into one, or split one project into several. See also @command{merge-into-dir}.
Its effect is to rename the directory whose name is currently
@var{new_root} to become the root directory of the versioned tree, and
Except, of course, that these @command{rename} commands are illegal,
because after the first command the tree has no root at all, and there
is a directory loop. This illegality is the only reason for
@command{pivot_root}'s existence; internally, the result is treated
@command{pivot-root}'s existence; internally, the result is treated
exactly like two renames, including with respect to merges and
updates.
recommended. It causes the changes to be made in monotone's
records, but not in the filesystem itself.
When running @command{pivot_root}, it is sometimes possible for
When running @command{pivot-root}, it is sometimes possible for
@ref{Workspace Collisions} to occur.
@end ftable
Specifying only the pathname "." will restrict the search for known
files to the current subdirectory of the workspace.
@item mtn show_conflicts @var{rev} @var{rev}
@item mtn show-conflicts @var{rev} @var{rev}
This command shows what conflicts would need to be resolved in order to merge
the given revisions.
Monotone would trust a cert on that revision with that value signed by
those keys.
@item mtn ssh_agent_export @var{filename}
@item mtn ssh-agent-export @var{filename}
This command will export your private key in a format that ssh-agent
can read (PKCS8, PEM). You will be asked for your current key's password
@smallexample
@group
$ mtn ssh_agent_export ~/.ssh/id_monotone
$ mtn ssh-agent-export ~/.ssh/id_monotone
enter passphrase for key ID [user@@example.com]:
enter new passphrase for key ID [user@@example.com]:
confirm passphrase for key ID [user@@example.com]:
that exist in the database but are not referenced by their @sc{sha1}
hash from any existing revision. In itself, this only indicates some
wasted space, and is not a problem; it's possible it could arise under
normal use (for instance, if you have run @command{db kill_rev_locally},
normal use (for instance, if you have run @command{db kill-rev-locally},
or in some strange-but-harmless corner cases following an incomplete
netsync). It could also arise, though, as a symptom of some other more
serious problem.
This command also verifies that the @sc{sha1} hash of every file, manifest,
and revision is correct.
@item mtn db kill_rev_locally @var{id}
@item mtn db kill-rev-locally @var{id}
This command ``kills'', i.e., deletes, a given revision, as well as any
certs attached to it. It has an ugly name because it is a dangerous
work you can extract @var{id}'s data.
@end itemize
@item mtn db kill_branch_certs_locally @var{branch}
@item mtn db kill-branch-certs-locally @var{branch}
This command ``kills'' a branch by deleting all branch certs with that
branch name. You should consider carefully whether you want to use it,
revisions in the branch; it simply removes the branch certificates
matching the given branch name. Because of this, it can leave
revisions without any branch certificate at all. As with @command{db
kill_rev_locally}, it only deletes the information from your local
kill-rev-locally}, it only deletes the information from your local
database; if there are other databases that you sync with which have
revisions in this branch, the branch certificates will reappear when
you sync, unless the owners of those databases also delete those
certificates locally.
@item mtn db kill_tag_locally @var{tag}
@item mtn db kill-tag-locally @var{tag}
This command ``kills'' a tag by deleting all tag certs with that tag
name. You should consider carefully whether you want to use it, because
it can irrevocably delete important information. It does not modify or
delete any revisions, or any of the other certificates on tagged
revisions; it simply removes all tag certificates with the given name.
As with @command{db kill_rev_locally}, it only deletes the information
As with @command{db kill-rev-locally}, it only deletes the information
from your local database; if there are other databases that you sync
with which have this tag, the tag certificates will reappear when you
sync, unless the owners of those databases also delete those
@end table
@item mtn automate get_revision
@item mtn automate get_revision @var{id}
@item mtn automate get-revision
@item mtn automate get-revision @var{id}
@table @strong
@item Arguments:
@item mtn automate get_base_revision_id
@item mtn automate get-base-revision-id
@table @strong
@item Arguments:
@item mtn automate get_current_revision_id
@item mtn automate get-current-revision-id
@table @strong
@item Arguments:
@end table
@item mtn automate get_manifest_of
@item mtn automate get_manifest_of @var{revid}
@item mtn automate get-manifest-of
@item mtn automate get-manifest-of @var{revid}
@table @strong
@item Arguments:
Prints the content changes between two revisions or a revision and the current
workspace. This command differs from @command{mtn diff} in that way that it only
outputs content changes and keeps quite on renames or drops, as the header of
@command{mtn diff} is omitted (this is what @command{mtn automate get_revision}
@command{mtn diff} is omitted (this is what @command{mtn automate get-revision}
already provides).
@item Sample output:
@end table
@item mtn automate get_file @var{id}
@item mtn automate get-file @var{id}
@table @strong
@item Arguments:
@end table
@item mtn automate get_file_of @var{filename} [--revision=@var{id}]
@item mtn automate get-file-of @var{filename} [--revision=@var{id}]
@table @strong
@item Arguments:
@end table
@item mtn automate get_option @var{option}
@item mtn automate get-option @var{option}
@table @strong
@item Arguments:
@end table
@item mtn automate get_content_changed @var{id} @var{file}
@item mtn automate get-content-changed @var{id} @var{file}
@table @strong
@item Arguments:
@end table
@item mtn automate get_corresponding_path @var{source_id} @var{file} @var{target_id}
@item mtn automate get-corresponding-path @var{source_id} @var{file} @var{target_id}
@table @strong
@item Arguments:
database. Note that this does not do any revision reconstruction, and
is only useful for debugging.
@item mtn cvs_import @var{pathname}
@item mtn cvs-import @var{pathname}
This command imports all the file versions in each RCS file found in the
tree of files starting at @var{pathname}, then reconstructs the
Called by monotone after the version @var{new_id} is committed. The
second parameter, @var{revision} is the text of the revision, what would
be given by @command{mtn automate get_revision @var{new_id}}. The third
be given by @command{mtn automate get-revision @var{new_id}}. The third
parameter, @var{certs}, is a Lua table containing the set of certificate
names and values committed along with this version. There is no default
definition for this hook.
Called by monotone after the revision @var{new_id} is received through
netsync. @var{revision} is the text of the revision, what would be given
by @command{mtn automate get_revision @var{new_id}}. @var{certs} is a
by @command{mtn automate get-revision @var{new_id}}. @var{certs} is a
Lua table containing one subtable for each cert attached to the revision
@var{new_id}. These subtables have fields named "key", "name", and
"value", containing the signing key for the cert, the name of the cert,

Archive Download the corresponding diff file

Branches

Tags

Quick Links:     www.monotone.ca    -     Downloads    -     Documentation    -     Wiki    -     Code Forge    -     Build Status