问题
I have installed and configured Phabricator so it has no warnings shown on web. Then I tried to create a repository and make a first git commit. I have get the revision accepted, however when I tried to do 'arc land' it failed with this message:
-> % arc land
Landing current branch 'master'.
TARGET Landing onto "master", the default target under git.
REMOTE Using remote "origin", the default remote under git.
Exception
Branch "master" does not exist in remote "origin".
(Run with `--trace` for a full exception trace.)
If I run with '--trace', I got:
ARGV '/phabricator/arcanist/bin/../scripts/arcanist.php' 'land' '--trace'
LOAD Loaded "phutil" from "/phabricator/libphutil/src".
LOAD Loaded "arcanist" from "/phabricator/arcanist/src".
Config: Reading user configuration file "/home/xxx/.arcrc"...
Config: Did not find system configuration at "/etc/arcconfig".
Working Copy: Reading .arcconfig from "/Users/dkr/Code/knquant/test/.arcconfig".
Working Copy: Path "/test" is part of `git` working copy "/test".
Working Copy: Project root is at "/test".
Config: Did not find local configuration at "/test/.git/arc/config".
>>> [0] <conduit> user.whoami() <bytes = 117>
>>> [1] <http> http://pb.xxxxxx.com/api/user.whoami
<<< [1] <http> 360,568 us
<<< [0] <conduit> 361,088 us
>>> [2] <exec> $ git symbolic-ref --quiet HEAD
<<< [2] <exec> 5,927 us
>>> [3] <exec> $ git rev-parse --symbolic-full-name 'master'@{upstream}
<<< [3] <exec> 4,846 us
>>> [4] <exec> $ git --version
<<< [4] <exec> 3,654 us
>>> [5] <exec> $ git ls-remote --get-url 'origin'
<<< [5] <exec> 4,085 us
>>> [6] <conduit> repository.query() <bytes = 227>
>>> [7] <http> http://pb.xxxxxx.com/api/repository.query
<<< [7] <http> 81,179 us
<<< [6] <conduit> 81,384 us
>>> [8] <exec> $ git symbolic-ref --quiet HEAD
<<< [8] <exec> 5,159 us
Landing current branch 'master'.
>>> [9] <exec> $ git rev-parse --symbolic-full-name 'master'@{upstream}
<<< [9] <exec> 4,147 us
>>> [10] <exec> $ git rev-parse --symbolic-full-name 'master'@{upstream}
<<< [10] <exec> 4,663 us
>>> [11] <exec> $ git symbolic-ref --quiet HEAD
<<< [11] <exec> 4,003 us
>>> [12] <exec> $ git rev-parse --symbolic-full-name 'master'@{upstream}
<<< [12] <exec> 4,160 us
TARGET Landing onto "master", the default target under git.
>>> [13] <exec> $ git rev-parse --symbolic-full-name 'master'@{upstream}
<<< [13] <exec> 4,694 us
REMOTE Using remote "origin", the default remote under git.
>>> [14] <exec> $ git diff --no-ext-diff --no-textconv --raw 'HEAD' --
>>> [15] <exec> $ git ls-files --others --exclude-standard
<<< [14] <exec> 4,833 us
<<< [15] <exec> 4,770 us
>>> [16] <exec> $ git diff-files --name-only
<<< [16] <exec> 5,004 us
>>> [17] <exec> $ git rev-parse --verify 'origin/master'
<<< [17] <exec> 3,919 us
[2016-03-03 01:38:51] EXCEPTION: (Exception) Branch "master" does not exist in remote "origin". at [<arcanist>/src/land/ArcanistGitLandEngine.php:101]
arcanist(head=master, ref.master=086f5399bfbb), phutil(head=master, ref.master=6ef9295e388d)
#0 ArcanistGitLandEngine::verifySourceAndTargetExist() called at [<arcanist>/src/land/ArcanistGitLandEngine.php:13]
#1 ArcanistGitLandEngine::execute() called at [<arcanist>/src/workflow/ArcanistLandWorkflow.php:296]
#2 ArcanistLandWorkflow::run() called at [<arcanist>/scripts/arcanist.php:392]
I have searched everywhere but found no any helpful information.
回答1:
You don't have a branch master. You must create it. You can do so with
git commit --allow-empty -m "initial commit"
git push -u origin master
This is a git issue not a phabricator one.
来源:https://stackoverflow.com/questions/35743582/phabricator-first-time-arc-land-fails