ori(1) Ori File System command line interface

SYNOPSIS

ori COMMAND [ARGUMENTS...]

DESCRIPTION

This tool provides the command line interface to the Ori distributed file system. Provides useful tools for accessing, manipulating, and repairing Ori repositories without the use of FUSE. It can be used alone without FUSE to checkout a snapshot of a tree and commit changes to one. This tool is also the main daemon used by the SSH push/pull interface.

This command line tool also controls the Ori FUSE driver if run inside a mounted file system rather than a repository. Only certain commands are supported at the moment and the list is documented in the orifs man page.

N.B. This project is still in flux and repository layouts may not be compatible between releases. You may be required to copy files from one repository to another manually and the history may not be preserved.

REPOSITORY COMMANDS

This list contains commands that will operate on your local instance of the repository. These may callout to remote repositories for data if this was an InstaCloned repository.
checkout [--force] COMMIT-HASH
Checkout a revision of the repository. By default this applies the current modified files onto the specified revision, but for most users the merge command is a safer alternative. The --force flag is used to discard current changes and checkout the revision specified.
log
Display a log of changes made to the repository.
merge COMMIT-HASH
Merges the specified change with the current HEAD.
newfs FS-NAME
Create a file system with the given name.
removefs FS-NAME
Remove the specified file system.
show
Show repository information.
snapshot [-m MESSAGE] [SNAPSHOT-NAME]
Take a snapshot of the repository. You may optionally supply a message to be included and a name.
snapshots
List all snapshots in this repository.
status
Show a list of currently modified files and directories in the repository.
tip
Print the commit hash for the HEAD revision.

REMOTE MANAGEMENT COMMANDS

This section lists commands used to clone repositories, pull changes, and manage a list of remote repositories to interact with. The special remote repository named origin is used as the default for certain operations that take an optional remote name. At the moment an InstaCloned repository can only be created with orifs.
replicate [--ondemand] SOURCE-PATH
Clone a remote or local repository into a new directory.
pull [PATH|REMOTE-NAME]
Pulls changes from a repository. The user can specify a path to another repository or the name of a previously registered repository. By default the command pulls from the origin.
remote
Display a list of the remote nodes.
remote add NAME PATH
Add a remote repository given a path
remote remove NAME
Remove a remote repository by name

ADVANCED COMMANDS

This section lists a few commands that are for advanced users only. They either provide access to lower level functionality or are experimental. The verify command is useful to all users to check that the repository has not been corrupted.
filelog
Displays a log of relevant commits made to the specified file.
findheads
Searches for detached heads that are not referenced by a branch.
gc
Garbage collect any deleted objects that have not been reclaimed. This will repack the pack files that contain deleted objects.
graft
Experimental command to graft changes from one repository into another.
purgecommit COMMIT-HASH
Deletes a commit. Use this command with caution as it's experimental as certain commands may no longer work after.
verify
Verify that the repository is consistent.

OTHER COMMANDS

help
Display a list of commands and their purpose.