monotone(1)
π monotone(1) β General Commands Manual π
okay bestie, buckle up, because monotone β aka mtn β is a whole vibe, and this page is LONG, so we're doing it in parts. this is part one. no skimming, i see you. π
β¨ NAME β¨
monotone β a distributed version control system π
β¨ SYNOPSIS β¨
mtn [options...] command [arguments...]
β¨ DESCRIPTION β¨
okay so. monotone is a highly reliable, very customizable distributed version control system. like, the way it just works? iconic. it gives you:
- lightweight branches πΏ
- history-sensitive merging π
- a flexible trust setup π‘οΈ
it has an easy-to-learn command set (fr fr, not scary), and it comes with a rich interface for scripting purposes plus thorough documentation. main character energy honestly.
for more information on monotone, visit http://www.monotone.ca.
the complete documentation β including a tutorial for a quick start with the system β can be found online at http://www.monotone.ca/docs. π¦
β¨ GLOBAL OPTIONS β¨
these are the flags that work everywhere, bestie. every single one:
--confdir <arg>β set location of configuration directory ποΈ--date-format <arg>βstrftime(3)format specification for printing dates ποΈ--db [ -d ] <arg>β set name of database πΎ--dump <arg>β file to dump debugging log to, on failure πͺ΅--help [ -h ]β display help message π--ignore-suspend-certs/--no-ignore-suspend-certsβ do not ignore revisions marked as suspended βΈοΈ--key [ -k ] <arg>/--use-default-keyβ sets the key for signatures, using either the key name or the key hash π--keydir <arg>β set location of key store π--log <arg>β file to write the log to π--no-builtin-rcfile/--builtin-rcfileβ do not load the built-in lua file with the default hooks π--no-default-confdir/--allow-default-confdirβ forbid use of the default confdir π«--no-format-datesβ print date certs exactly as stored in the database π§Ύ--no-standard-rcfiles/--standard-rcfilesβ do not load~/.monotone/monotonercor_MTN/monotonerclua files π--no-workspace/--allow-workspaceβ don't look for a workspace π--non-interactive/--interactiveβ do not prompt the user for input π€--quiet [ -q ]β decrease verbosity (undo previous-v, then disable informational output, then disable warnings) π€«--rcfile <arg>/--clear-rcfilesβ load extra lua file π§--root <arg>β limit search for workspace to specified root π³--ssh-sign <arg>β controls use of ssh-agent. valid arguments are:'yes'to use ssh-agent to make signatures if possible,'no'to force use of monotone's internal code,'only'to force use of ssh-agent,'check'to sign with both and compare π--ticker <arg>β set ticker style (count|dot|none) ποΈ--timestampsβ show timestamps in front of errors, warnings and progress messages β°--verbose [ -v ]β increase verbosity (undo previous-q, and then enable debug output) π£οΈ--versionβ print version number, then exit π·οΈ--xargs [ -@ ] <arg>β insert command line arguments taken from the given file π₯
β¨ COMMANDS β¨
β¨ command group 'automation' β¨
Commands that aid in scripted execution. π€ this is where you go when you want your scripts to do the talking. periodt.
automate ancestors
automate ancestors REV1 [REV2 [REV3 [...]]]
Prints the ancestors of the given revisions. π§¬
automate ancestry_difference
automate ancestry_difference NEW_REV [OLD_REV1 [OLD_REV2 [...]]]
Lists the ancestors of the first revision given, not in the others. π΅οΈ
automate branches
automate branches
Prints all branch certs in the revision graph. πΏβ¨
automate cert
automate cert REVISION-ID NAME VALUE
Adds a revision certificate. π
automate certs
automate certs REV
Prints all certificates attached to a revision. π·οΈπ·οΈπ·οΈ
automate checkout
automate checkout [DIRECTORY]
Checks out a revision from the database into a directory. If a revision is given, that's the one that will be checked out. Otherwise, it will be the head of the branch (given or implicit). If no directory is given, the branch name will be used as directory. π¦
--branch [ -b ] <arg>β select branch cert for operation πΏ--move-conflicting-paths/--no-move-conflicting-pathsβ move conflicting, unversioned paths into'_MTN/resolutions'before proceeding with any workspace change π--revision [ -r ] <arg>β select revision id for operation π
automate children
automate children REV
Prints the children of a revision. πΆ
automate common_ancestors
automate common_ancestors REV1 [REV2 [REV3 [...]]]
Prints revisions that are common ancestors of a list of revisions. π€
automate content_diff
automate content_diff [FILE [...]]
Calculates diffs of files. π
--depth <arg>β limit the number of levels of directories to descend π³οΈ--exclude <arg>β leave out anything described by its argument π«--reverseβ reverse order of diff π--revision [ -r ] <arg>β select revision id for operation π--with-header/--without-headerβ show the matching cset in the diff header π
automate descendents
automate descendents REV1 [REV2 [REV3 [...]]]
Prints the descendents of the given revisions. πͺ
automate drop_attribute
automate drop_attribute PATH [KEY]
Drops an attribute or all of them from a certain path. ποΈ
automate drop_db_variables
automate drop_db_variables DOMAIN [NAME]
Drops a database variable. π§
automate drop_public_key
automate drop_public_key KEY_NAME_OR_HASH
Drops a public key. ππ¨
automate erase_ancestors
automate erase_ancestors [REV1 [REV2 [REV3 [...]]]]
Erases the ancestors in a list of revisions. π§½
automate erase_descendants
automate erase_descendants [REV1 [REV2 [REV3 [...]]]]
Erases the descendants in a list of revisions. π§½β¨
automate file_merge
automate file_merge LEFT_REVID LEFT_FILENAME RIGHT_REVID RIGHT_FILENAME
Prints the results of the internal line merger, given two child revisions and file names. π§¬βπ§¬
automate generate_key
automate generate_key KEY_NAME PASSPHRASE
Generates an RSA key-pair. π
--force-duplicate-keyβ force genkey to not error out when the named key already exists π₯
automate get_attributes
automate get_attributes PATH
Prints all attributes for the specified path. If an explicit revision is given, the file's attributes at this specific revision are returned. π·οΈ
--revision [ -r ] <arg>β select revision id for operation π
automate get_base_revision_id
automate get_base_revision_id
Shows the revision on which the workspace is based. π
automate get_content_changed
automate get_content_changed REV FILE
Lists the revisions that changed the content relative to another revision. π
automate get_corresponding_path
automate get_corresponding_path REV1 FILE REV2
Prints the name of a file in a target revision relative to a given revision. π§
automate get_current_revision
automate get_current_revision [PATHS ...]
Shows change information for a workspace. π
--depth <arg>β limit the number of levels of directories to descend π³οΈ--exclude <arg>β leave out anything described by its argument π«
automate get_current_revision_id
automate get_current_revision_id
Shows the revision of the current workspace. π
automate get_db_variables
automate get_db_variables [DOMAIN]
Retrieve database variables. ποΈ
automate get_extended_manifest_of
automate get_extended_manifest_of REVISION
Prints the extended manifest for the given identifier. πβ¨
automate get_file
automate get_file FILEID
Prints the contents of a file (given an identifier). π
automate get_file_of
automate get_file_of FILENAME
Prints the contents of a file (given a name). ππ€
--revision [ -r ] <arg>β select revision id for operation π
automate get_file_size
automate get_file_size FILEID
Prints the size of a file (given an identifier). π
automate get_manifest_of
automate get_manifest_of [REVID]
Shows the manifest associated with a revision. π
automate get_option
automate get_option OPTION
Shows the value of an option. βοΈ
automate get_public_key
automate get_public_key KEY_NAME_OR_HASH
Prints a public key packet. π¦π
automate get_revision
automate get_revision REVID
Shows change information for a revision. π
automate get_workspace_root
automate get_workspace_root
Prints the workspace root for the current directory. π³
automate graph
automate graph
Prints the complete ancestry graph. πΈοΈβ¨
automate heads
automate heads [BRANCH]
Prints the heads of the given branch. π
automate identify
automate identify PATH
Prints the file identifier of a file. πͺͺ
automate interface_version
automate interface_version
Prints the automation interface's version. π’
automate inventory
automate inventory [PATH]...
Prints a summary of files found in the workspace. π§Ύ
--depth <arg>β limit the number of levels of directories to descend π³οΈ--exclude <arg>β leave out anything described by its argument π«--no-corresponding-renames/--corresponding-renamesβ don't output corresponding renames if restricted on such nodes π·οΈ--no-ignored/--ignoredβ don't output ignored files π--no-unchanged/--unchangedβ don't output unchanged files π§--no-unknown/--unknownβ don't output unknown files β
automate keys
automate keys
Lists all keys in the keystore. πππ
automate leaves
automate leaves
Lists the leaves of the revision graph. π
automate log
automate log [PATH] ...
Lists the selected revision history. π
--depth <arg>β limit the number of levels of directories to descend π³οΈ--exclude <arg>β leave out anything described by its argument π«--from <arg>/--clear-fromβ revision(s) to start logging at π--last <arg>β limit log output to the last number of entries βͺ--next <arg>β limit log output to the next number of entries β©--no-merges/--mergesβ exclude merges when printing logs π--to <arg>/--clear-toβ revision(s) to stop logging at π
automate lua
automate lua LUA_FUNCTION [ARG1 [ARG2 [...]]]
Executes the given lua function and returns the result. πβ¨
automate packet_for_fdata
automate packet_for_fdata FILEID
Prints the file data in packet format. π¦
automate packet_for_fdelta
automate packet_for_fdelta OLD_FILE NEW_FILE
Prints the file delta in packet format. π¦Ξ
automate packet_for_rdata
automate packet_for_rdata REVID
Prints the revision data in packet format. π¦π
automate packets_for_certs
automate packets_for_certs REVID
Prints the certs associated with a revision in packet format. π¦π·οΈ
automate parents
automate parents REV
Prints the parents of a revision. π¨βπ©βπ§
automate pull
automate pull [URI]
automate pull [ADDRESS[:PORTNUMBER] [PATTERN ...]]
Pulls branches from a netsync server. π₯π
--dry-run/--no-dry-runβ don't perform the operation, just show what would have happened π»--exclude <arg>β leave out anything described by its argument π«--set-default/--no-set-defaultβ use the current netsync arguments and options as the future default β
automate push
automate push [URI]
automate push [ADDRESS[:PORTNUMBER] [PATTERN ...]]
Pushes branches to a netsync server. π€π
okay bestie that's part one, and we are NOT done β there's more where this came from, so don't go anywhere π
--dry-run/--no-dry-runβ bestie, this is the "look but don't touch" button π it does not actually perform the operation, it just shows you what would have happened. Vision board mode.--exclude <arg>β leave out anything described by its argument. It's giving "you're not on the guest list, sorry babe" π--key-to-push <arg>β pushes the specified key even if it hasn't signed anything. Iconic behaviour, honestly. No receipts needed π--set-default/--no-set-defaultβ takes the current netsync arguments and options and makes them the future default. Manifesting, but for config β¨
πΈ automate put_file [FILEID] CONTENTS
Stores a file in the database. That's it, that's the vibe.
π automate put_public_key KEY-PACKET-DATA
Stores the public key in the database. Keep it safe, keep it cute π
π automate put_revision REVISION-DATA
Stores a revision into the database. New revision just dropped π
π¦ automate read_packets PACKET-DATA
Loads the given packets into the database.
π automate remote COMMAND [ARGS]
Executes COMMAND on a remote server. Long-distance relationship with your repo, but it works π«Ά
--remote-stdio-host <arg>β sets the host (and optionally the port) for a remote netsync action.--set-default/--no-set-defaultβ use the current netsync arguments and options as the future default.
π automate remote_stdio [URI]
π automate remote_stdio [ADDRESS[:PORTNUMBER]]
Opens an automate stdio connection to a remote server. Two ways in, same energy β¨
--set-default/--no-set-defaultβ use the current netsync arguments and options as the future default.
β automate roots
Lists the roots of the revision graph. Your origin story, fr fr.
π automate select SELECTOR
Lists the revisions that match a selector. Curation is an art form π
π§ automate set_attribute PATH KEY VALUE
Sets an attribute on a certain path.
πΈ automate set_db_variable DOMAIN NAME VALUE
Sets a database variable.
π automate show_conflicts [LEFT_REVID RIGHT_REVID]
Shows the conflicts between two revisions. If you pass no arguments at all, LEFT_REVID and RIGHT_REVID default to the first two heads that would be chosen by the merge command. Drama will be identified π
--branch [ -b ] <arg>β select branch cert for operation.--ignore-suspend-certs/--no-ignore-suspend-certsβ do not ignore revisions marked as suspended.
π¦ automate stdio
Automates several commands in one run. Multi-tasking queen π
--automate-stdio-size <arg>β block size in bytes forautomate stdiooutput.
π automate sync [URI]
π automate sync [ADDRESS[:PORTNUMBER] [PATTERN ...]]
Synchronizes branches with a netsync server. Sharing is caring, no cap π«Ά
--dry-run/--no-dry-runβ don't perform the operation, just show what would have happened.--exclude <arg>β leave out anything described by its argument.--key-to-push <arg>β push the specified key even if it hasn't signed anything.--set-default/--no-set-defaultβ use the current netsync arguments and options as the future default.
π automate tags [BRANCH_PATTERN]
Prints all tags attached to a set of branches. Labels on labels on labels π
β automate toposort [REV1 [REV2 [REV3 [...]]]]
Topologically sorts a list of revisions. Putting things in order because chaos is not the aesthetic today.
π automate update
Updates the workspace.
--branch [ -b ] <arg>β select branch cert for operation.--move-conflicting-paths/--no-move-conflicting-pathsβ move conflicting, unversioned paths into_MTN/resolutionsbefore proceeding with any workspace change.--revision [ -r ] <arg>β select revision id for operation.
π command group 'database' π
Commands that manipulate the database. The engine room, basically π οΈ
π db changesetify
Converts the database to the changeset format.
πΈ db check
Does some sanity checks on the database. Ensures that the database is consistent by issuing multiple checks. A little wellness check for your data β¨
π¦ db dump
Dumps the contents of the database. Generates a list of SQL instructions that represent the whole contents of the database. The resulting output is useful to later restore the database from a text file that serves as a backup. Screenshot your whole personality, basically πΈ
π db execute
Executes an SQL command on the database. Directly executes the given SQL command on the database. No filter, no buffer, straight to the source π€
β db fix_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 can optionally drop 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 0.44 or earlier, or if you loaded such certs with mtn read. Glow-up arc for your certs π
--drop-bad-certsβ drop certs signed by keys we don't know about.
π db info
Shows information about the database.
--full/--conciseβ print detailed information.
π db init
Initializes a database. Creates a new database file and initializes it. Baby's first database π
π§ db load
Loads the contents of the database. Reads a list of SQL instructions that regenerate the contents of the database. This is supposed to be used in conjunction with the output generated by the dump command.
πΈ db migrate
Migrates the database to a newer schema. Updates the database's internal schema to the most recent one. Needed to automatically resolve incompatibilities that may be introduced in newer versions of monotone. Glow-up, automated β¨
π db regenerate_caches
Regenerates the caches stored in the database.
π¦ db rosterify
Converts the database to the rosters format.
--drop-attr <arg>β when rosterifying, drop attrs entries with the given key.
π db set_epoch BRANCH EPOCH
Sets the branch's epoch.
β db version
Shows the database's version.
π local kill_certs SELECTOR CERTNAME [CERTVAL]
Deletes the specified certs from the local database. Deletes all certs which are on the given revision(s) and have the given name, and if a value is specified then also the given value. Blocked and deleted, respectfully π
π local kill_revision REVID
Kills a revision from the local database.
π₯ command group 'debug' π₯
Commands that aid in program debugging. For when you need to see under the hood, bestie.
π asciik SELECTOR
Prints an ASCII representation of the revisions' graph. Art, but make it terminal πΌοΈ
π¦ fdiff SRCNAME DESTNAME SRCID DESTID
Differences 2 files and outputs the result.
--contextβ use context diff format.--diff-args <arg>β argument to pass external diff hook.--externalβ use external diff hook for generating diffs.--no-show-encloser/--show-encloserβ do not show the function containing each block of changes.--reverseβ reverse order of diff.--unifiedβ use unified diff format.--with-header/--without-headerβ show the matching cset in the diff header.
π fload
Loads a file's contents into the database.
β fmerge PARENT_FILEID LEFT_FILEID RIGHT_FILEID
Merges 3 files and outputs the result. Three-way merge, three-way slay π
π get_roster [REVID]
Dumps the roster associated with a given identifier. If no REVID is given, the workspace is used.
π identify [PATH]
Calculates the identity of a file or stdin. If any PATH is given, calculates their identity; otherwise, the one from the standard input is calculated. Identity crisis? Solved πͺ
π§ rcs_import RCSFILE...
Parses versions in RCS files. This command doesn't reconstruct or import revisions. You probably want to use cvs_import.
heads up bestie β this one only parses, it doesn't reconstruct or import revisions, so cvs_import is probably what you actually want π
--branch [ -b ] <arg>β select branch cert for operation.
β¨ command group 'informative' β¨
Commands for information retrieval. Just here to know things π«Ά
πΈ annotate PATH
Prints an annotated copy of a file. Calculates and prints an annotated copy of the given file from the specified REVISION.
--revision [ -r ] <arg>β select revision id for operation.--revs-onlyβ annotate using full revision ids only.
π bisect bad
Marks the current revision or specified revisions as bad. Known bad revisions are removed from the set being searched. Not me, not today π«
--move-conflicting-paths/--no-move-conflicting-pathsβ move conflicting, unversioned paths into_MTN/resolutionsbefore proceeding with any workspace change.--revision [ -r ] <arg>β select revision id for operation.
π bisect good
Marks the current revision or specified revisions as good. Known good revisions are removed from the set being searched. Slay, keep it β¨
--move-conflicting-paths/--no-move-conflicting-pathsβ move conflicting, unversioned paths into_MTN/resolutionsbefore proceeding with any workspace change.--revision [ -r ] <arg>β select revision id for operation.
π¦ bisect reset
Reset the current bisection search. Update the workspace back to the revision from which the bisection was started and remove all current search information, allowing a new search to be started. Clean slate, fresh start, main character energy π
β bisect skip
Excludes the current revision or specified revisions from the search. Skipped revisions are removed from the set being searched. Revisions that cannot be tested for some reason should be skipped.
--move-conflicting-paths/--no-move-conflicting-pathsβ move conflicting, unversioned paths into_MTN/resolutionsbefore proceeding with any workspace change.--revision [ -r ] <arg>β select revision id for operation.
π bisect status
Reports on the current status of the bisection search. Lists the total number of revisions in the search set, the number of revisions that have been determined to be good or bad, the number of revisions that have been skipped and the number of revisions remaining to be tested. A full progress report, like a situationship update π
π bisect update
Updates the workspace to the next revision to be tested by bisection. This command can be used if updates by good, bad or skip commands fail due to blocked paths or other problems.
--move-conflicting-paths/--no-move-conflicting-pathsβ move conflicting, unversioned paths into_MTN/resolutionsbefore proceeding with any workspace change.
π§ cat FILENAME
Prints a file from the database. Fetches the given file FILENAME from the database and prints it to the standard output. Meow π±
--revision [ -r ] <arg>β select revision id for operation.
π complete (revision|file|key) PARTIAL-ID
Completes a partial identifier. Autocomplete but make it β¨mysticalβ¨
πΈ di [PATH]...
πΈ diff [PATH]...
Shows current differences. Compares the current tree with the files in the repository and prints the differences on the standard output. If one revision is given, the diff between the workspace and that revision is shown. If two revisions are given, the diff between them is given. If no format is specified, unified is used by default.
--contextβ use context diff format.--depth <arg>β limit the number of levels of directories to descend.--diff-args<arg> β the extra argument you pass along to your external diff hook π--exclude<arg> β whatever your argument describes gets left out, bestie. not invited to the party π--externalβ use an external diff hook to generate your diffs, fancy--no-show-encloser/--show-encloserβ do not show the function that contains each block of changes (or do, your call)--reverseβ reverse the order of the diff π- *
--revision[-r] *<arg> β pick the revision id for the operation --unifiedβ use unified diff format--with-header/--without-headerβ show the matching cset in the diff header (or don't)
π«Ά help
help command [ARGS...]
Displays help about commands and options. it's literally the built-in "wait what does this do" button β¨
--hidden/--no-hiddenβ show hidden commands and options
π list branches
list branches [PATTERN]
Lists branches in the database that match a pattern.
--exclude<arg> β leave out anything described by its argument
π list certs
list certs REVID
Lists certificates attached to a revision.
π¦ list changed
list changed [PATH...]
Lists files that have changed with respect to the current revision.
--depth<arg> β limit the number of levels of directories to descend--exclude<arg> β leave out anything described by its argument
π list databases / list dbs
list databases list dbs
Lists managed databases and their known workspaces.
π§ list duplicates
list duplicates
Lists duplicate files in the specified revision. if no revision is specified, use the workspace.
- *
--revision[-r] *<arg> β select revision id for operation
π list epochs
list epochs [BRANCH [...]]
Lists the current epoch of branches that match a pattern.
π list ignored
list ignored [PATH]
Lists workspace files that are ignored in the current branch.
--depth<arg> β limit the number of levels of directories to descend--exclude<arg> β leave out anything described by its argument--recursive[-R] /--no-recursiveβ also operate on the contents of any listed directories
β¨ list keys
list keys [PATTERN]
Lists keys that match a pattern.
πΈ list known
list known
Lists workspace files that belong to the current branch.
--depth<arg> β limit the number of levels of directories to descend--exclude<arg> β leave out anything described by its argument
π list missing
list missing
Lists files that belong to the branch but are not in the workspace.
--depth<arg> β limit the number of levels of directories to descend--exclude<arg> β leave out anything described by its argument
π list tags
list tags [PATTERN]
Lists all tags in the database.
--exclude<arg> β leave out anything described by its argument
π list unknown
list unknown [PATH]
Lists workspace files that are unknown in the current branch.
--depth<arg> β limit the number of levels of directories to descend--exclude<arg> β leave out anything described by its argument--recursive[-R] /--no-recursiveβ also operate on the contents of any listed directories
β list vars
list vars [DOMAIN]
Lists variables in the whole database or a domain.
π list workspaces
list workspaces
Lists known workspaces of a specified database.
π₯ log
log [PATH] ...
Prints selected history in forward or reverse order. and yes, this command prints selected history in forward or reverse order, filtering it by PATH if given β it said the thing twice, that's the original, not me π
--brief/--no-briefβ print a brief version of the normal output--depth<arg> β limit the number of levels of directories to descend--diffs/--no-diffsβ print diffs along with logs--exclude<arg> β leave out anything described by its argument--from<arg> /--clear-fromβ revision(s) to start logging at--last<arg> β limit log output to the last number of entries--next<arg> β limit log output to the next number of entries--no-files/--filesβ exclude files when printing logs--no-graph/--graphβ do not use ASCII graph to display ancestry--no-merges/--mergesβ exclude merges when printing logs- *
--revision[-r] *<arg> β select revision id for operation --to<arg> /--clear-toβ revision(s) to stop logging at
π§ manpage
manpage
Generate a manual page from monotone's command help.
--formatted/--plainβ automatically run the output through nroff (default if the output is a terminal)--hidden/--no-hiddenβ show hidden commands and options
π₯ show_conflicts
show_conflicts REV REV
Shows what conflicts need resolution between two revisions. the conflicts are calculated based on the two revisions given in the REV parameters. drama incoming π«Ά
π
status
status [PATH]...
Shows workspace's status information.
--depth<arg> β limit the number of levels of directories to descend--exclude<arg> β leave out anything described by its argument
π version
version
Shows the program version.
--full/--conciseβ print detailed information
ποΈ command group 'key_and_cert'
Commands to manage keys and certificates.
π cert
cert SELECTOR CERTNAME [CERTVAL]
Creates a certificate for a revision or set of revisions. Creates a certificate with the given name and value on each revision that matches the given selector.
π dropkey
dropkey KEY_NAME_OR_HASH
Drops a public and/or private key. bye bye key π₯²
β¨ genkey
genkey KEY_NAME
Generates an RSA key-pair. iconic behavior
--force-duplicate-keyβ force genkey to not error out when the named key already exists
π passphrase
passphrase KEY_NAME_OR_HASH
Changes the passphrase of a private RSA key.
π§ ssh_agent_add
ssh_agent_add
Adds a private key to ssh-agent.
π¦ ssh_agent_export
ssh_agent_export [FILENAME]
Exports a private key for use with ssh-agent.
π‘οΈ trusted
trusted REVISION NAME VALUE SIGNER1 [SIGNER2 [...]]
Tests whether a hypothetical certificate would be trusted. the current settings are used to run the test.
π command group 'network'
Commands that access the network.
π¦ clone
clone URI [DIRECTORY] clone HOST[:PORTNUMBER] BRANCH [DIRECTORY]
Checks out a revision from a remote database into a directory. if a revision is given, that's the one that will be checked out. otherwise, it will be the head of the branch supplied. if no directory is given, the branch name will be used as directory.
- *
--branch[-b] *<arg> β select branch cert for operation - *
--revision[-r] *<arg> β select revision id for operation
πΈ pull
pull [URI] pull [ADDRESS[:PORTNUMBER] [PATTERN ...]]
Pulls branches from a netsync server. this pulls all branches that match the pattern given in PATTERN from the netsync server at the address ADDRESS.
--dry-run/--no-dry-runβ don't perform the operation, just show what would have happened--exclude<arg> β leave out anything described by its argument--set-default/--no-set-defaultβ use the current netsync arguments and options as the future default--update/--no-updateβ automatically update the workspace, if it was at a head and the command creates a new head
π push
push [URI] push [ADDRESS[:PORTNUMBER] [PATTERN ...]]
Pushes branches to a netsync server. this will push all branches that match the pattern given in PATTERN to the netsync server at the address ADDRESS.
--dry-run/--no-dry-runβ don't perform the operation, just show what would have happened--exclude<arg> β leave out anything described by its argument--key-to-push<arg> β push the specified key even if it hasn't signed anything--set-default/--no-set-defaultβ use the current netsync arguments and options as the future default
π serve
serve
Serves the database to connecting clients.
--bind<arg> β address:port to listen on (default:4691)--pid-file<arg> /--no-pid-fileβ record process id of server
π sync
sync [URI] sync [ADDRESS[:PORTNUMBER] [PATTERN ...]]
Synchronizes branches with a netsync server. this synchronizes branches that match the pattern given in PATTERN with the netsync server at the address ADDRESS.
--dry-run/--no-dry-runβ don't perform the operation, just show what would have happened--exclude<arg> β leave out anything described by its argument--key-to-push<arg> β push the specified key even if it hasn't signed anything--set-default/--no-set-defaultβ use the current netsync arguments and options as the future default--update/--no-updateβ automatically update the workspace, if it was at a head and the command creates a new head
π¦ command group 'packet_io'
Commands for packet reading and writing.
π privkey
privkey KEY_NAME_OR_HASH
Prints a private key packet.
π pubkey
pubkey KEY_NAME_OR_HASH
Prints a public key packet.
π read
read [FILE1 [FILE2 [...]]]
Reads packets from files. if no files are provided, the standard input is used.
π command group 'review'
Commands to review revisions.
β
approve
approve REVISION
Approves a particular revision. slay
- *
--branch[-b] *<arg> β select branch cert for operation --update/--no-updateβ automatically update the workspace, if it was at a head and the command creates a new head
π¬ comment
comment REVISION [COMMENT]
Comments on a particular revision.
β disapprove
disapprove [PARENT-REVISION] CHILD-REVISION
Disapproves a particular revision or revision range.
--author<arg> β override author for commit- *
--branch[-b] *<arg> β select branch cert for operation --date<arg> β override date/time for commit- *
--message[-m] *<arg> β set commit changelog message --message-file<arg> β set filename containing commit changelog message--update/--no-updateβ automatically update the workspace, if it was at a head and the command creates a new head
βΈοΈ suspend
suspend REVISION
Suspends a particular revision.
- *
--branch[-b] *<arg> β select branch cert for operation --update/--no-updateβ automatically update the workspace, if it was at a head and the command creates a new head
π·οΈ tag
tag REVISION TAGNAME
Puts a symbolic tag certificate on a revision.
π§ͺ testresult
testresult REV (pass|fail|true|false|yes|no|1|0)
Notes the results of running a test on a revision.
π³ command group 'tree'
Bestie. This is the group. Everything that touches the actual tree β your files, your versions, the whole situation β lives here. Main character energy only π
checkout / co
checkout [DIRECTORY]
co [DIRECTORY]
Checks a revision out of the database into a directory. If you give it a revision, that's the one it checks out. If you don't, it's the head of the branch β the one you gave it, or the implicit one. And if you don't give a directory at all? It just uses the branch name as the directory. Iconic β¨
--branch [ -b ] <arg>β select branch cert for operation--move-conflicting-paths/--no-move-conflicting-pathsβ move conflicting, unversioned paths into_MTN/resolutionsbefore proceeding with any workspace change--revision [ -r ] <arg>β select revision id for operation
conflicts clean
Delete any bookkeeping files related to conflict resolution. π§Ή bye bestie
conflicts resolve_first RESOLUTION
Set the resolution for the first unresolved single-file conflict. Use mtn conflicts show_first to see possible resolutions. (Yes, single-file. Pay attention, this one's specific π
)
--conflicts-file <arg>β file in which to store conflicts
conflicts resolve_first_left RESOLUTION
Set the left resolution for the first unresolved two-file conflict.
--conflicts-file <arg>β file in which to store conflicts
conflicts resolve_first_right RESOLUTION
Set the right resolution for the first unresolved two-file conflict.
--conflicts-file <arg>β file in which to store conflicts
conflicts show_first
Show the first unresolved conflict in the conflicts file, and the possible resolutions. π
--conflicts-file <arg>β file in which to store conflicts
conflicts show_remaining
Show the remaining unresolved conflicts in the conflicts file. Not me still having conflicts π
--conflicts-file <arg>β file in which to store conflicts
conflicts store [LEFT_REVID RIGHT_REVID]
Store the conflicts from merging two revisions. If you pass no arguments, LEFT_REVID and RIGHT_REVID default to the first two heads that would be chosen by the merge command. And if --conflicts-file isn't given, _MTN/conflicts is used. Fr fr.
--branch [ -b ] <arg>β select branch cert for operation--conflicts-file <arg>β file in which to store conflicts
explicit_merge LEFT-REVISION RIGHT-REVISION DEST-BRANCH
Merges two revisions you spell out explicitly. The results of the merge get placed on the branch you name in DEST-BRANCH.
--author <arg>β override author for commit--date <arg>β override date/time for commit--message [ -m ] <arg>β set commit changelog message--message-file <arg>β set filename containing commit changelog message--resolve-conflicts/--no-resolve-conflictsβ specify conflict resolutions in a file, instead of interactively--resolve-conflicts-file <arg>β use file to resolve conflicts--update/--no-updateβ automatically update the workspace, if it was at a head and the command creates a new head
heads
Shows unmerged head revisions of a branch. π the unmerged ones
--branch [ -b ] <arg>β select branch cert for operation
import DIRECTORY
Imports the contents of a directory into a branch. π«Ά
--author <arg>β override author for commit--branch [ -b ] <arg>β select branch cert for operation--date <arg>β override date/time for commit--dry-run/--no-dry-runβ don't perform the operation, just show what would have happened--exclude <arg>β leave out anything described by its argument--message [ -m ] <arg>β set commit changelog message--message-file <arg>β set filename containing commit changelog message--no-respect-ignore/--respect-ignoreβ do not ignore any files--revision [ -r ] <arg>β select revision id for operation
merge
Merges unmerged heads of a branch. The classic. π
--author <arg>β override author for commit--branch [ -b ] <arg>β select branch cert for operation--date <arg>β override date/time for commit--message [ -m ] <arg>β set commit changelog message--message-file <arg>β set filename containing commit changelog message--resolve-conflicts/--no-resolve-conflictsβ specify conflict resolutions in a file, instead of interactively--resolve-conflicts-file <arg>β use file to resolve conflicts--update/--no-updateβ automatically update the workspace, if it was at a head and the command creates a new head
merge_into_dir SOURCE-BRANCH DEST-BRANCH DIR
Merges one branch into a subdirectory in another branch. Nested vibes.
--author <arg>β override author for commit--date <arg>β override date/time for commit--message [ -m ] <arg>β set commit changelog message--message-file <arg>β set filename containing commit changelog message--resolve-conflicts/--no-resolve-conflictsβ specify conflict resolutions in a file, instead of interactively--resolve-conflicts-file <arg>β use file to resolve conflicts--update/--no-updateβ automatically update the workspace, if it was at a head and the command creates a new head
merge_into_workspace OTHER-REVISION
Merges a revision into the current workspace's base revision. Like, it merges OTHER-REVISION into the current workspace's base revision, and then updates the current workspace with the result.
Heads up bestie: there can be no pending changes in the current workspace. Zero. None. π
Both OTHER-REVISION and the workspace's base revision get recorded as parents on commit. The workspace's selected branch is not changed.
--move-conflicting-paths/--no-move-conflicting-pathsβ move conflicting, unversioned paths into_MTN/resolutionsbefore proceeding with any workspace change
migrate_workspace [DIRECTORY]
Migrates a workspace directory's metadata to the latest format. If you don't give a directory, it defaults to the current workspace. β¨ glow up
propagate SOURCE-BRANCH DEST-BRANCH
Merges from one branch to another asymmetrically. It's giving one-directional.
--author <arg>β override author for commit--date <arg>β override date/time for commit--message [ -m ] <arg>β set commit changelog message--message-file <arg>β set filename containing commit changelog message--resolve-conflicts/--no-resolve-conflictsβ specify conflict resolutions in a file, instead of interactively--resolve-conflicts-file <arg>β use file to resolve conflicts
refresh_inodeprints
Refreshes the inodeprint cache. That's it. That's the whole thing. π
setup [DIRECTORY]
Sets up a new workspace directory. If you don't specify a directory, it uses the current directory. New workspace, who dis πΈ
--branch [ -b ] <arg>β select branch cert for operation
π command group 'variables'
Commands to manage persistent variables. Your little database-stored settings, bestie.
cleanup_workspace_list
Removes all invalid, registered workspace paths for the current database. Tidy β¨
register_workspace [WORKSPACE_PATH]
Registers a new workspace for the current database. This command adds WORKSPACE_PATH to the list of `known-workspaces'.
set DOMAIN NAME VALUE
Sets a database variable. It modifies (or adds, if it didn't exist before) the variable named NAME, stored in the database, and sets it to the given value in VALUE. The variable is placed in the domain DOMAIN. π
unregister_workspace [WORKSPACE_PATH]
Unregisters an existing workspace for the current database. This command removes WORKSPACE_PATH to the list of `known-workspaces'.
unset DOMAIN NAME
Unsets a database variable. This command removes the variable NAME from domain DOMAIN, which was previously stored in the database. Gone. Poof. π¦
π command group 'vcs'
Commands for interaction with other version control systems. Talking to the other apps, iykyk.
cvs_import CVSROOT
Imports all versions in a CVS repository. All of them. Every single one.
--branch [ -b ] <arg>β select branch cert for operation
git_export
Produces a git fast-export data stream on stdout. π«Ά git girlies rise
--authors-file <arg>β file mapping author names from original to new values--branches-file <arg>β file mapping branch names from original to new values--export-marks <arg>β save the internal marks table after exporting revisions--import-marks <arg>β load the internal marks table before exporting revisions--log-certs/--no-log-certsβ include standard cert values in commit logs--log-revids/--no-log-revidsβ include revision ids in commit logs--refs <arg>β include git refs for'revs','roots'or'leaves'--use-one-changelogβ use only one changelog cert for the git commit message
π οΈ command group 'workspace'
Commands that deal with the workspace. Where you actually live. π
add [PATH]...
Adds files to the workspace.
--no-respect-ignore/--respect-ignoreβ do not ignore any files--recursive [ -R ]/--no-recursiveβ also operate on the contents of any listed directories--unknown/--no-unknownβ perform the operations for unknown files from workspace
attr drop PATH [ATTR]
Removes attributes from a file. If you don't specify an attribute, it removes all attributes attached to the file given in PATH. Otherwise it only removes the attribute specified in ATTR.
attr get PATH [ATTR]
Gets the values of a file's attributes. If you don't specify an attribute, it prints all attributes attached to the file given in PATH. Otherwise it only prints the attribute specified in ATTR.
attr set PATH ATTR VALUE
Sets an attribute on a file. Sets the attribute given on ATTR to the value specified in VALUE for the file mentioned in PATH. π
ci / commit
ci [PATH]...
commit [PATH]...
Commits workspace changes to the database. The moment of truth, bestie π₯
--author <arg>β override author for commit--branch [ -b ] <arg>β select branch cert for operation--date <arg>β override date/time for commit--depth <arg>β limit the number of levels of directories to descend--exclude <arg>β leave out anything described by its argument--message [ -m ] <arg>β set commit changelog message--message-file <arg>β set filename containing commit changelog message
drop, rm π
drop [PATH]...
rm [PATH]...
okay so bestie, this one literally drops files from the workspace. Like, poof, gone from mtn's radar. π«Ά
--bookkeep-onlyβ only update monotone's internal bookkeeping, not the filesystem. so like, it just updates mtn's internal bookkeeping, doesn't touch your actual files, periodt.--missingβ perform the operations for files missing from workspace. for when your files ghosted the workspace π»--recursive [ -R ]/--no-recursiveβ also operate on the contents of any listed directories. so it goes deep into directories, or not, your choice bestie.
mkdir π
mkdir [DIRECTORY...]
Creates directories and adds them to the workspace. it's giving "new folder, who dis" β¨
--no-respect-ignore/--respect-ignoreβ do not ignore any files. so it's like, ignore the ignore rules? no cap.
pivot_root π
pivot_root NEW_ROOT PUT_OLD
Renames the root directory. After this command, the directory that currently has the name NEW_ROOT will be the root directory, and the directory that is currently the root directory will have name PUT_OLD.
β οΈ Use of --bookkeep-only is NOT recommended, bestie. like, seriously, don't. π
--bookkeep-onlyβ only update monotone's internal bookkeeping, not the filesystem. (but again, NOT recommended here, okay?)--move-conflicting-paths/--no-move-conflicting-pathsβ move conflicting, unversioned paths into_MTN/resolutionsbefore proceeding with any workspace change. so it tucks the messy bits away before doing anything, iconic.
pluck π
pluck [PATH...]
Applies changes made at arbitrary places in history. This command takes changes made at any point in history, and edits your current workspace to include those changes. The end result is identical to mtn diff -r FROM -r TO | patch -p0, except that this command uses monotone's merger, and thus intelligently handles renames, conflicts, and so on. If one revision is given, applies the changes made in that revision compared to its parent. If two revisions are given, applies the changes made to get from the first revision to the second.
like, it's literally time travel for your changes, bestie, but with merger magic so it handles renames and conflicts like a boss. π
--depth <arg>β limit the number of levels of directories to descend. so it doesn't go too deep, y'know?--exclude <arg>β leave out anything described by its argument. bye felicia to whatever you exclude. π--move-conflicting-paths/--no-move-conflicting-pathsβ move conflicting, unversioned paths into_MTN/resolutionsbefore proceeding with any workspace change. same energy as before.--revision [ -r ] <arg>β select revision id for operation. pick your revision, bestie.
mv, rename π
mv SRC DEST
mv SRC1 [SRC2 [...]] DEST_DIR
rename SRC DEST
rename SRC1 [SRC2 [...]] DEST_DIR
Renames entries in the workspace. it's giving "move over, glow up" β¨
--bookkeep-onlyβ only update monotone's internal bookkeeping, not the filesystem. same as before, just bookkeeping.
revert π
revert [PATH]...
Reverts files and/or directories. In order to revert the entire workspace, specify . as the file name. like, undo button but for mtn, bestie.
--depth <arg>β limit the number of levels of directories to descend. don't go too deep.--exclude <arg>β leave out anything described by its argument. skip whatever you want.--missingβ perform the operations for files missing from workspace. for the ghost files again π»
undrop π«Ά
undrop PATH...
Reverses a mistaken 'drop'. If the file was deleted from the workspace, this is the same as 'revert'. Otherwise, it just removes the 'drop' from the manifest.
so like, oops I dropped it, let me undrop it. we've all been there. π
update π₯
update
Updates the workspace. This command modifies your workspace to be based off of a different revision, preserving uncommitted changes as it does so. If a revision is given, update the workspace to that revision. If not, update the workspace to the head of the branch.
it's giving "glow up your workspace" but keeps your uncommitted changes safe, no cap. β¨
--branch [ -b ] <arg>β select branch cert for operation. pick your branch, bestie.--move-conflicting-paths/--no-move-conflicting-pathsβ move conflicting, unversioned paths into_MTN/resolutionsbefore proceeding with any workspace change. same as before.--revision [ -r ] <arg>β select revision id for operation. pick your revision.
SEE ALSO π
info mtn and the documentation on http://www.monotone.ca/docs
BUGS π
Please report bugs to https://code.monotone.ca/p/monotone/issues/. like, if something's broken, tell the devs, bestie. π
AUTHORS π
monotone was written originally by Graydon Hoare <graydon@pobox.com> in 2003 and has since then received numerous contributions from many individuals. A complete list of authors can be found in AUTHORS.
Nowadays, monotone is maintained by a collective of enthusiastic programmers, known as the monotone development team. iconic behavior, fr fr. π«Ά
COPYRIGHT π
monotone and this man page is Copyright (c) 2003 - 2025 by the monotone development team.
and that's the tea, bestie! this was monotone 1.1, dated 2025-08-28, mwah πβ¨
π¦ where this page comes from
- fedora 43: monotone 1.1-53.fc43 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms