---
name: "ori"
section: "1"
platform: "linux"
package: "ori"
version: "0.8.1+ds1-3"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/ori"
---

# ori(1)

Ori File System command line interface

## NAME

ori - 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.

- [**orifs**(1)](/orifs/1.md),

  ## SEE ALSO

[**orisync**(1)](/orisync/1.md), **ori\_httpd**(1)
