The documentation for arc feature says:
# arc help feature 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.
I have a local branch fix/lint with following commit at HEAD:
Fix linter errors/warnings Summary: No functional changes Test Plan: * Checked that the new-app dialogue still shows the correct string * The other two changes were whitespace only Reviewers: #... Differential Revision: https://.../D17
In this local repository, I issued to the following command while having checked out the master branch:
# arc feature D17 Branch D17 set up to track local branch master. Switched to a new branch 'D17'
I would have expected arcanist to checkout the fix/lint branch, instead of creating a new branch, because there already exist a branch containing Differential Revision: .../D17.
I am using latest stable version of arcanist/libphutil:
# arc version arcanist e17fe43ca3fe6dc6dd0b5ce056f56310ea1d3d51 (21 Oct 2016) libphutil b4f866bd75ec138397a16337bc5d326e586a6276 (18 Nov 2016)
Trace:
# arc --trace feature D17 ARGV '.../phabricator/arcanist/bin/../scripts/arcanist.php' '--trace' 'feature' 'D17' LOAD Loaded "phutil" from ".../phabricator/libphutil/src". LOAD Loaded "arcanist" from ".../phabricator/arcanist/src". Config: Reading user configuration file ".../.arcrc"... Config: Did not find system configuration at "/etc/arcconfig". Working Copy: Reading .arcconfig from ".../.arcconfig". Working Copy: Path "..." is part of `git` working copy "...". Working Copy: Project root is at "...". Config: Did not find local configuration at ".../.git/arc/config". >>> [0] <exec> $ git for-each-ref --format='%(refname)%01%(objectname)%01%(committerdate:raw)%01%(tree)%01%(subject)%01%(subject)%0a%0a%(body)%01%02' -- refs/heads <<< [0] <exec> 5,724 us >>> [1] <exec> $ git symbolic-ref --quiet HEAD <<< [1] <exec> 5,161 us >>> [2] <conduit> differential.querydiffs() <bytes = 73> >>> [3] <http> https://.../api/differential.querydiffs <<< [3] <http> 170,969 us <<< [2] <conduit> 171,370 us >>> [4] <exec> $ git checkout --track -b 'D17' <<< [4] <exec> 6,216 us Branch D17 set up to track local branch master. Switched to a new branch 'D17'
Question: Is arc feature supposed to work in the way I expected? If not, would it be possible to clarify the arc help documentation?