Provided by: arcanist_0~git20160124-1ubuntu1_all bug

NAME

       arcanist - command-line interface to Phabricator

DESCRIPTION

       NAME

              arc - arcanist, a code review and revision management utility

       SYNOPSIS

              arc command [options] [args] This help file provides a detailed command reference.

       COMMAND REFERENCE

              alias alias command alias command target -- [options]

              Supports:  cli  Create  an alias from command to target (optionally, with options).
              For example:

              arc alias fpatch patch -- --force

              ...will create a new 'arc' command, 'arc fpatch', which invokes 'arc patch  --force
              ...' when run. NOTE: use "--" before specifying options!

              If  you  start  an  alias with "!", the remainder of the alias will be invoked as a
              shell command. For example, if you want to implement 'arc ls', you can do  so  like
              this:

              arc alias ls '!ls'

              You  can  now run "arc ls" and it will behave like "ls". Of course, this example is
              silly and would make your life worse.

              You can not overwrite builtins, including 'alias' itself. The builtin  will  always
              execute, even if it was added after your alias.

              To remove an alias, run:

              arc alias fpatch

              Without any arguments, 'arc alias' will list aliases.

              amend [--revision revision_id] [--show]

              Supports:  git,  hg  Amend the working copy, synchronizing the local commit message
              from Differential.

              Supported in Mercurial 2.2 and newer.

       --revision revision_id

              Use the message from a specific revision. If you do not  specify  a  revision,  arc
              will guess which revision is in the working copy.

       --show

              Show the amended commit message, without modifying the working copy.

              anoid

              There's only one way to find out...

              backout

              Reverts/backouts on a previous commit. Supports: git, hg

              Command  is  used  like this: arc backout <commithash> | <diff revision> Entering a
              differential revision will only work if there is only one  commit  associated  with
              the  revision.  This  requires  your working copy is up to date and that the commit
              exists in the working copy.

              bookmark [options] bookmark name [start]

              Supports: hg Alias for arc feature.

       --by-status

              Sort branches by status instead of time.

       --output format

              With 'json', show features in machine-readable JSON format.

       --view-all

              Include closed and abandoned revisions.

              branch [options] branch name [start]

              Supports: git Alias for arc feature.

       --by-status

              Sort branches by status instead of time.

       --output format

              With 'json', show features in machine-readable JSON format.

       --view-all

              Include closed and abandoned revisions.

              browse [options] path ...  browse [options] object ...

              Supports: git, hg, svn Open a file or object (like a task or revision) in your  web
              browser.

              $ arc browse README   # Open a file in Diffusion.
              $ arc browse T123     # View a task.
              $ arc browse HEAD     # View a symbolic commit.

              Set  the  'browser' value using 'arc set-config' to select a browser. If no browser
              is set, the command will try to guess which browser to use.

       --branch branch_name

              Default branch name to view on server. Defaults to "master".

       --force

              Open arguments as paths, even if they do not exist in the working copy.

              call-conduit method

              Supports: http, https Allows you to make a raw Conduit method call:

              - Run this command from a working directory.  - Call parameters  are  REQUIRED  and
              read as a JSON blob from stdin.  - Results are written to stdout as a JSON blob.

              This  workflow  is  primarily  useful  for  writing  scripts  which  integrate with
              Phabricator. Examples:

              $ echo '{}' | arc call-conduit conduit.ping
              $ echo '{"phid":"PHID-FILE-xxxx"}' | arc call-conduit file.download

              close task_id [options]

              Close a task or otherwise update its status.

       --list-statuses

              Show available status options and exit.

       --message comment, -m comment

              Provide a comment with your status change.

       --status status, -s status

              Specify a new status. Valid status options can be  seen  with  the  `list-statuses`
              argument.

              close-revision [options] revision

              Supports:  git,  hg,  svn Close a revision which has been committed (svn) or pushed
              (git, hg).  You should not normally need to do this: arc commit  (svn),  arc  amend
              (git,  hg),  arc  land  (git,  hg),  or  repository  tracking  on the master remote
              repository should do it for you. However, if these mechanisms have failed for  some
              reason  you  can  use  this  command  to  manually  change  a  revision status from
              "Accepted" to "Closed".

       --finalize

              Close only if the repository is untracked and the revision  is  accepted.  Continue
              even  if  the  close  can't  happen.  This  is  a  soft version of '' used by other
              workflows.

       --quiet

              Do not print a success message.

              commit [--revision revision_id] [--show]

              Supports: svn Commit a revision which has been accepted by a reviewer.

       --revision revision_id

              Commit a specific revision. If you do not specify a revision,  arc  will  look  for
              committable revisions.

       --show

              Show the command which would be issued, but do not actually commit anything.

              cover [--rev revision] [path ...]

              Supports:  svn,  git,  hg Cover your... professional reputation. Show blame for the
              lines you changed in your working copy (svn) or since some commit (hg, git).   This
              will take a minute because blame takes a minute, especially under SVN.

       --rev revision

              Supports: git, hg Cover changes since a specific revision.

              diff [paths] (svn) diff [commit] (git, hg)

              Supports: git, svn, hg Generate a Differential diff or revision from local changes.

              Under  git  and  mercurial,  you  can specify a commit (like HEAD^^^ or master) and
              Differential will generate a diff against the merge base of that  commit  and  your
              current working directory parent.

              Under svn, you can choose to include only some of the modified files in the working
              copy in the diff by specifying their paths. If you  omit  paths,  all  changes  are
              included in the diff.

       --add-all, -a

              Automatically add all unstaged and uncommitted files to the commit.

       --advice

              Require excuse for lint advice in addition to lint warnings and errors.

       --allow-untracked

              Skip checks for untracked files in the working copy.

       --amend-all

              When  linting  git  repositories,  amend  HEAD  with  all patches suggested by lint
              without prompting.

       --amend-autofixes

              When linting git repositories, amend HEAD with autofix patches  suggested  by  lint
              without prompting.

       --apply-patches

              Apply patches suggested by lint to the working copy without prompting.

       --base rules

              Supports: git, hg Additional rules for determining base revision.

       --browse

              After creating a diff or revision, open it in a web browser.

       --cache bool

              0 to disable lint cache, 1 to enable (default).

       --cc usernames

              When creating a revision, add CCs.

       --coverage

              Always enable coverage information.

       --create

              Always create a new revision.

       --edit

              Supports:  git,  hg  When  updating a revision under git, edit revision information
              before updating.

       --encoding encoding

              Attempt to convert non UTF-8 hunks into specified encoding.

       --excuse excuse

              Provide a prepared in advance excuse for any lints/tests shall they fail.

       --head commit

              Supports:  git  Specify  the  end  of  the  commit  range.   This   disables   many
              Arcanist/Phabricator features which depend on having access to the working copy.

       --ignore-unsound-tests

              Ignore unsound test failures without prompting.

       --json

              Emit machine-readable JSON. EXPERIMENTAL! Probably does not work!

       --less-context

              Normally,  files  are  diffed  with  full  context:  the  entire  file  is  sent to
              Differential so reviewers can 'show more' and see it. If you are making changes  to
              very large files with tens of thousands of lines, this may not work well. With this
              flag, a diff will be created that has only a few lines of context.

       --lintall

              Raise all lint warnings, not just those on lines you changed.

       --message message, -m message

              When updating a revision, use the specified message instead of prompting.

       --message-file file, -F file

              When creating a revision, read revision information from this file.

       --never-apply-patches

              Never apply patches suggested by lint.

       --no-amend

              Never amend commits in the working copy with lint patches.

       --no-coverage

              Always disable coverage information.

       --no-diff

              Only run lint and unit tests. Intended for internal use.

       --nolint

              Do not run lint.

       --nounit

              Do not run unit tests.

       --only

              Only generate a diff, without running lint, unit tests, or other  auxiliary  steps.
              See also --preview.

       --only-new bool

              Display only lint messages not present in the original code.

       --plan-changes

              Create or update a revision without requesting a code review.

       --preview

              Instead of creating or updating a revision, only create a diff, which you may later
              attach to a revision. This still runs lint unit tests. See also --only.

       --raw

              Read  diff  from  stdin,  not  from  the   working   copy.   This   disables   many
              Arcanist/Phabricator features which depend on having access to the working copy.

       --raw-command command

              Generate  diff  by  executing  a specified command, not from the working copy. This
              disables many Arcanist/Phabricator features which depend on having  access  to  the
              working copy.

       --reviewers usernames

              When creating a revision, add reviewers.

       --skip-binaries

              Do not upload binaries (like images).

       --skip-staging

              Do not copy changes to the staging area.

       --uncommitted

              Supports: hg Suppress warning about uncommitted changes.

       --update revision_id

              Always update a specific revision.

       --use-commit-message commit, -C commit

              Supports: git Read revision information from a specific commit.

       --verbatim

              Supports:  hg,  git  When  creating  a revision, try to use the working copy commit
              message verbatim, without prompting to edit it. When updating  a  revision,  update
              some fields from the local commit message.

              download file [--as name] [--show]

              Supports: filesystems Download a file to local disk, e.g.:

              $ arc download F33              # Download file 'F33'

       --as name

              Save the file with a specific name rather than the default.

       --show

              Write file to stdout instead of to disk.

              export   [paths]  format  (svn)  export  [commit_range]  format  (git,  hg)  export
              --revision revision_id format export --diff diff_id format

              Supports: svn, git, hg Export the local changeset (or a Differential changeset)  to
              a  file,  in some format: git diff (--git), unified diff (--unified), or arc bundle
              (--arcbundle path) format.

       --arcbundle file

              Export change as an arc bundle.  This  format  can  represent  all  changes.  These
              bundles can be applied with 'arc patch'.

       --diff diff_id

              Instead of exporting changes from the working copy, export them from a Differential
              diff.

       --encoding encoding

              Attempt to convert non UTF-8 patch into specified encoding.

       --git

              Export change as a git patch. This format is more complete than unified,  but  less
              complete  than  arc  bundles. These patches can be applied with 'git apply' or 'arc
              patch'.

       --revision revision_id

              Instead of exporting changes from the working copy, export them from a Differential
              revision.

       --unified

              Export  change as a unified patch. This format is less complete than git patches or
              arc bundles. These patches can be applied with 'patch' or 'arc patch'.

              feature [options] feature name [start]

              Supports: git, hg A wrapper on 'git branch' or 'hg bookmark'.

              Without name, it lists the available branches and their revision status.

              With name, it creates or checks out a branch. If the branch name doesn't exist  and
              is  in  format  D123  then the branch of revision D123 is checked out. Use start to
              specify where the new branch will start. Use 'arc.feature.start.default' to set the
              default feature start location.

       --by-status

              Sort branches by status instead of time.

       --output format

              With 'json', show features in machine-readable JSON format.

       --view-all

              Include closed and abandoned revisions.

              flag [object ...]  flag object --clear flag object [--edit] [--color color] [--note
              note]

              In the first form, list objects you've flagged. You can provide the names of one or
              more  objects  (Maniphest tasks T#, Differential revisions D#, Diffusion references
              rXXX???, or PHIDs PHID-XXX-???)  to print only flags for those objects.

              In the second form, clear an existing flag on one object.

              In the third form, create or update a flag on one object. Color  defaults  to  blue
              and note to empty, but if you omit both you must pass --edit.

       --clear

              Delete the flag on an object.

       --color color

              Set the color of a flag.

       --edit

              Edit the flag on an object.

       --note note

              Set the note on a flag.

              get-config [options] -- [name ...]

              Supports:  cli  Reads  an  arc  configuration  option.  With no argument, reads all
              options.

              With --verbose, shows detailed information about one or more options.

       --verbose

              Show detailed information about options.

              help [command] help --full

              Supports: english Shows this help.  With  command,  shows  help  about  a  specific
              command.

       --full

              Print detailed information about each command.

              install-certificate [uri]

              Supports: http, https Installs Conduit credentials into your ~/.arcrc for the given
              install of Phabricator. You need to do this before you can use 'arc', as it enables
              'arc'  to  link  your  command-line activity with your account on the web. Run this
              command from within a project directory to install that project's  certificate,  or
              specify an explicit URI (like "https://phabricator.example.com/").

              land [options] [ref]

              Supports: git, hg

              Publish  an  accepted  revision  after review. This command is the last step in the
              standard Differential pre-publish code review workflow.

              This command merges and pushes changes associated with an  accepted  revision  that
              are  currently sitting in ref, which is usually the name of a local branch. Without
              ref, the current working copy state will be used.

              Under Git: branches, tags, and arbitrary commits (detached HEADs) may be landed.

              Under Mercurial: branches and bookmarks may be landed, but only onto  a  target  of
              the same type. See T3855.

              The  workflow  selects  a  target branch to land onto and a remote where the change
              will be pushed to.

              A target branch is selected by examining these sources in order:

              - the --onto flag; - the upstream of the current branch, recursively (Git only);  -
              the arc.land.onto.default configuration setting; - or by falling back to a standard
              default:

              - "master" in Git; - "default" in Mercurial.

              A remote is selected by examining these sources in order:

              - the --remote flag; - the upstream of the current branch, recursively (Git  only);
              - or by falling back to a standard default:

              - "origin" in Git; - the default remote in Mercurial.

              After  selecting a target branch and a remote, the commits which will be landed are
              printed.

              With --preview, execution stops here, before the change is merged.

              The change is merged with the changes in the target branch, following these rules:

              In repositories with mutable history or with --squash, this will perform  a  squash
              merge (the entire branch will be represented as one commit after the merge).

              In  repositories with immutable history or with --merge, this will perform a strict
              merge (a merge commit will always be created, and local commits will be preserved).

              The resulting commit will be given an  up-to-date  commit  message  describing  the
              final state of the revision in Differential.

              In  Git,  the  merge  occurs in a detached HEAD. The local branch reference (if one
              exists) is not updated yet.

              With --hold, execution stops here, before the change is pushed.

              The change is pushed into the remote.

              Consulting mystical sources of power, the workflow makes a guess about  what  state
              you wanted to end up in after the process finishes and the working copy is put into
              that state.

              The branch which was landed is deleted, unless the --keep-branch flag was passed or
              the landing branch is the same as the target branch.

       --delete-remote

              Delete the feature branch in the remote after landing it.

       --hold

              Prepare the change to be pushed, but do not actually push it.

       --keep-branch

              Keep  the  feature  branch  after  pushing changes to the remote (by default, it is
              deleted).

       --merge

              Supports: git Perform a --no-ff merge, not a --squash  merge.  If  the  project  is
              marked as having an immutable history, this is the default behavior.

       --onto master

              Land  feature  branch  onto  a  branch  other  than  the  default ('master' in git,
              'default' in hg). You can change the  default  by  setting  'arc.land.onto.default'
              with `arc set-config` or for the entire project in .arcconfig.

       --preview

              Prints  the  commits  that  would  be  landed. Does not actually modify or land the
              commits.

       --remote origin

              Push to a remote other than the default ('origin' in git).

       --revision id

              Use the message from a specific revision, rather than inferring the revision  based
              on branch content.

       --squash

              Perform a --squash merge, not a --no-ff merge. If the project is marked as having a
              mutable history, this is the default behavior.

       --update-with-merge

              Supports: git When updating the feature branch, use merge instead of rebase.   This
              is  the  default  behavior.  Setting arc.land.update.default to 'merge' can also be
              used to make this the default.

       --update-with-rebase

              Supports: git When updating the feature branch, use rebase instead of merge.   This
              might  make  things  work  better  in  some  cases.  Set arc.land.update.default to
              'rebase' to make this the default.

              liberate [path]

              Supports: libphutil Create or  update  a  libphutil  library,  generating  required
              metadata files like init.php.

       --all

              Drop  the module cache before liberating. This will completely reanalyze the entire
              library. Thorough, but slow!

       --force-update

              Force the library map to be updated, even in the presence of lint errors.

       --library-name name

              Use a flag for library name rather than awaiting user input.

              lint [options] [paths] lint [options] --rev [rev]

              Supports: git, svn, hg Run static analysis on changes to check for mistakes. If  no
              files are specified, lint will be run on all files which have been modified.

       --amend-all

              When  linting  git  repositories,  amend  HEAD  with  all patches suggested by lint
              without prompting.

       --amend-autofixes

              When linting git repositories, amend HEAD with autofix patches  suggested  by  lint
              without prompting.

       --apply-patches

              Apply patches suggested by lint to the working copy without prompting.

       --cache bool

              0   to   disable   cache,   1  to  enable.  The  default  value  is  determined  by
              'arc.lint.cache'  in  configuration,  which  defaults  to   off.   See   notes   in
              'arc.lint.cache'.

       --engine classname

              Override configured lint engine for this project.

       --everything

              Lint all files in the project.

       --lintall

              Show  all lint warnings, not just those on changed lines. When paths are specified,
              this is the default behavior.

       --never-apply-patches

              Never apply patches suggested by lint.

       --only-changed

              Show lint warnings just on changed lines. When no paths are specified, this is  the
              default.  This  differs  from  only-new in cases where line modifications introduce
              lint on other unmodified lines.

       --only-new bool

              Supports: git, hg Display only messages not present in the original code.

       --outfile path

              Output the linter results to a file. Defaults to stdout.

       --output format

              With 'summary', show lint warnings in a more compact  format.   With  'json',  show
              lint  warnings in machine-readable JSON format. With 'none', show no lint warnings.
              With 'compiler', show lint warnings in suitable for your editor. With  'xml',  show
              lint warnings in the Checkstyle XML format.

       --rev revision

              Supports: git, hg Lint changes since a specific revision.

       --severity string

              Set  minimum  message  severity.  One  of: 'advice', 'autofix', 'warning', 'error',
              'disabled'. Defaults to 'advice'.

              linters [options] [name]

              Supports: cli List the available and configured  linters,  with  information  about
              what they do and which versions are installed.

              if name is provided, the linter with that name will be displayed.

       --search search

              Search  for  linters.  Search is case-insensitive, and is performedagainst name and
              description of each linter.

       --verbose

              Show detailed information, including options.

              list

              Supports: git, svn, hg List your open Differential revisions.

              paste [--title title] [--lang language] [--json] paste id [--json]

              Supports: text Share and grab text using the Paste application. To create a  paste,
              use stdin to provide the text:

              $ cat list_of_ducks.txt | arc paste

              To retrieve a paste, specify the paste ID:

              $ arc paste P123

       --json

              Output in JSON format.

       --lang language

              Language for syntax highlighting.

       --title title

              Title for the paste.

              patch  D12345  patch --revision revision_id patch --diff diff_id patch --patch file
              patch --arcbundle bundlefile

              Supports: git, svn, hg Apply the changes in a Differential revision, patchfile,  or
              arc bundle to the working copy.

       --arcbundle bundlefile

              Apply changes from an arc bundle generated with 'arc export'.

       --diff diff_id

              Apply  changes from a Differential diff. Normally you want to use --revision to get
              the most recent changes, but you can specifically apply an out-of-date  diff  or  a
              diff which was never attached to a revision by using this flag.

       --encoding encoding

              Attempt to convert non UTF-8 patch into specified encoding.

       --force

              Do not run any sanity checks.

       --nobranch

              Supports: git, hg Normally, a new branch (git) or bookmark (hg) is created and then
              the  patch  is  applied  and  committed  in  the  new  branch/bookmark.  This  flag
              cherry-picks  the  resultant  commit  onto  the  original  branch  and  deletes the
              temporary branch.

       --nocommit

              Supports: git, hg Normally under git/hg, if the patch is  successful,  the  changes
              are committed to the working copy. This flag prevents the commit.

       --patch patchfile

              Apply changes from a git patchfile or unified patchfile.

       --revision revision_id

              Apply  changes  from  a  Differential revision, using the most recent diff that has
              been attached to it. You can run 'arc patch D12345' as a shorthand.

       --skip-dependencies

              Supports: git, hg Normally, if a patch has dependencies that are not present in the
              working copy, arc tries to apply them as well. This flag prevents such work.

       --update

              Supports: git, svn, hg Update the local working copy before applying the patch.

              revert

              Please use arc backout instead

              set-config [options] -- name value

              Supports: cli Sets an arc configuration option.

              Options  are  either  user  (apply  to all arc commands you invoke from the current
              user) or local  (apply  only  to  the  current  working  copy).  By  default,  user
              configuration is written. Use --local to write local configuration.

              User  values  are  written  to '~/.arcrc' on Linux and Mac OS X, and an undisclosed
              location on Windows. Local values are written to  an  arc  directory  under  either
              .git, .hg, or .svn as appropriate.

       --local

              Set a local config value instead of a user one.

              shell-complete --current N -- [argv]

              Supports:  bash, etc.  Implements shell completion. To use shell completion, source
              the appropriate script from 'resources/shell/' in your .shellrc.

       --current cursor_position

              Current term in the argument list being completed.

              start object

              Start tracking work in Phrequent.

              stop [--note note] [objects]

              Start tracking work in Phrequent.

       --note note

              A note to attach to the tracked time.

              tasks [options]

              View all assigned tasks.

       --limit n

              Limit the amount of tasks outputted, default is all.

       --order task_order

              Arrange tasks based on priority, created, or modified, default is priority.

       --owner username

              Only show tasks assigned to the given username, also  accepts  @all  to  show  all,
              default is you.

       --status task_status

              Show tasks that are open or closed, default is open.

       --unassigned

              Only show tasks that are not assigned (upforgrabs).

              time

              Show what you're currently tracking in Phrequent.

              todo summary [options]

              Quickly create a task for yourself.

       --browse

              After creating the task, open it in a web browser.

       --cc cc, -C cc

              Other users to CC on the new task.

       --project project

              Projects to assign to the task.

              unit [options] [paths] unit [options] --rev [rev]

              Supports:  git,  svn, hg Run unit tests that cover specified paths. If no paths are
              specified, unit tests covering all modified files will be run.

       --coverage

              Always enable coverage information.

       --detailed-coverage

              Show a detailed coverage report on the CLI. Implies --coverage.

       --engine classname

              Override configured unit engine for this project.

       --everything

              Run every test.

       --json

              Report results in JSON format.

       --no-coverage

              Always disable coverage information.

       --output format

              With 'full', show full pretty report (Default). With 'json', report results in JSON
              format.  With 'ugly', use uglier (but more efficient) JSON formatting. With 'none',
              don't print results.

       --rev revision

              Supports: git, hg Run unit tests covering changes since a specific revision.

       --target phid

              (PROTOTYPE) Record a copy of the test results on the specified  Harbormaster  build
              target.

       --ugly

              With --json, use uglier (but more efficient) formatting.

              upgrade

              Supports: cli Upgrade arcanist and libphutil to the latest versions.

              upload file [file ...] [--json]

              Supports: filesystems Upload a file from local disk.

       --json

              Output upload information in JSON format.

       --temporary

              Mark  the file as temporary. Temporary files will be deleted automatically after 24
              hours.

              version [options]

              Supports: cli Shows the current version of arcanist.

              which [options] (svn) which [options] [commit] (hg, git)

              Supports: svn, git, hg Shows which repository the current working copy  corresponds
              to, which commits 'arc diff' will select, and which revision is in the working copy
              (or which revisions, if more than one matches).

       --any-status

              Show committed and abandoned revisions.

       --base rules

              Supports: git, hg Additional rules for determining base revision.

       --head commit

              Supports: git Specify the end of the commit range to select.

       --show-base

              Supports: git, hg Print base commit only and exit.

       OPTION REFERENCE

       --trace

              Debugging command. Shows underlying commands as they are executed, and  full  stack
              traces when exceptions are thrown.

       --no-ansi

              Output in plain ASCII text only, without color or style.

       --ansi

              Use  formatting even in environments which probably don't support it.  Example: arc
              --ansi unit | less -r

       --load-phutil-library=/path/to/library

              Ignore libraries listed in  .arcconfig  and  explicitly  load  specified  libraries
              instead. Mostly useful for Arcanist development.

       --conduit-uri uri

              Ignore  configured  Conduit  URI and use an explicit one instead. Mostly useful for
              Arcanist development.

       --conduit-token token

              Ignore configured credentials and use an explicit API token instead.

       --conduit-version version

              Ignore software version and claim to be running some other version instead.  Mostly
              useful for Arcanist development. May cause bad things to happen.

       --conduit-timeout timeout

              Override the default Conduit timeout. Specified in seconds.

       --config key=value

              Specify  a  runtime  configuration  value.  This  will  take precedence over static
              values, and only affect the current arcanist invocation.

       --skip-arcconfig

              Skip the working copy configuration file

       --arcrc-file filename

              Use provided file instead of ~/.arcrc.

       libphutil 398e6a2d2de620e023e789675d1c94a3df00cd32 (6 Sep 2015)

arcanist 398e6a2d2de620e023e789675d1c94a3dfJanuary(2016p 2015)                        ARCANIST(1)