EXCEPTION: (PhutilArgumentUsageException) No pushable remote “origin” exists

Hello,

I am not sure if I am facing a bug of if it just is my fault, but anyway I do not know how to fix it. I have been searching for the error itself and for the command that threw it, arc land, but I did not find anything helpful.
I use the current version of Phabricator (ff6f24db2bc0) and Git Version 2.17.1.
The error occurs when I try to land a diff using ‘arc land --revision DXXX --onto develop’ and outputs this:

When I try the comment with the trace flag it outputs this:

User@login18-1: /Git/repo • arc land --revision DXXX --onto develop --trace 
 ARGV  '/Git/arcanist/bin/../scripts/arcanist.php' 'land' '--revision' 'D1763' '--onto' 'develop' '--trace' 
 LOAD  Loaded "phutil" from "/home/user/CATS/Git/libphutil/src". 
 LOAD  Loaded "arcanist" from "/home/user/CATS/Git/arcanist/src". 
Config: Reading user configuration file "/home/user/.arcrc"... 
Config: Did not find system configuration at "/etc/arcconfig". 
Working Copy: Reading .arcconfig from "/home/user/Git/repo/.arcconfig". 
Working Copy: Path "/home/user/Git/repo" is part of `git` working copy "/home/user/Git/repo". 
Working Copy: Project root is at "/home/user/Git/repo". 
Config: Reading local configuration file "/home/user/Git/repo/.git/arc/config"... 
>>> [0] (+0) <http> https://phabricator.*.de/api/user.whoami 
<<< [0] (+365) <http> 365,669 us 
>>> [1] (+378) <exec> $ git symbolic-ref --quiet HEAD 
<<< [1] (+390) <exec> 11,596 us 
>>> [2] (+392) <exec> $ git rev-parse --symbolic-full-name 'ft_branch'@{upstream} 
<<< [2] (+403) <exec> 10,468 us 
>>> [3] (+404) <exec> $ git --version 
<<< [3] (+410) <exec> 6,654 us 
>>> [4] (+411) <exec> $ git ls-remote --get-url 'origin' 
<<< [4] (+420) <exec> 9,057 us 
>>> [5] (+421) <http> https://phabricator.*.de/api/repository.query 
<<< [5] (+581) <http> 159,009 us 
>>> [6] (+582) <exec> $ git symbolic-ref --quiet HEAD 
<<< [6] (+591) <exec> 9,631 us 
Landing current branch 'ft_branch'. 
>>> [7] (+595) <exec> $ git rev-parse --symbolic-full-name 'ft_branch'@{upstream} 
<<< [7] (+605) <exec> 9,988 us 
>>> [8] (+606) <exec> $ git rev-parse --symbolic-full-name 'develop'@{upstream} 
<<< [8] (+617) <exec> 10,681 us 
>>> [9] (+621) <exec> $ git symbolic-ref --quiet HEAD 
<<< [9] (+630) <exec> 9,561 us 
 TARGET  Landing onto "develop", selected with the "--onto" flag. 
>>> [10] (+635) <exec> $ git rev-parse --symbolic-full-name 'ft_branch'@{upstream} 
<<< [10] (+645) <exec> 9,963 us 
>>> [11] (+646) <exec> $ git rev-parse --git-dir 
<<< [11] (+654) <exec> 8,244 us 
 REMOTE  Using remote "origin", the default remote under Git. 
>>> [12] (+655) <exec> $ git remote get-url --push -- 'origin' 
<<< [12] (+664) <exec> 8,311 us 

[2020-03-19 11:14:15] EXCEPTION: (PhutilArgumentUsageException) No pushable remote "origin" exists. 
Use the "--remote" flag to choose a valid, pushable remote to land changes onto. at [<arcanist>/src/land/ArcanistGitLandEngine.php:34] 
arcanist(head=master, ref.master=cc850163f30c), phutil(head=master, ref.master=39ed96cd818a) 
  #0 ArcanistGitLandEngine::parseArguments() called at [<arcanist>/src/workflow/ArcanistLandWorkflow.php:253] 
  #1 ArcanistLandWorkflow::run() called at [<arcanist>/scripts/arcanist.php:394]

I can create and update diffs but land fails, do you have a clue what the problem could be?

From the error message, it looks like your remote origin - the default remote, does not support pushing.

Do you normally do things like git push? Which command did you use to clone the repository? Is it hosted on Phabricator or something else?
What’s the output of git remote -v show -n origin ?

Other co-workers can land with the command I am using to, also on the same repository/branch.

I usually do not use git push, I follow the Phabricator workflow and only land (or try to land) reviewed diffs.
I clone using: ‘git clone ssh://git@git.*.de:222/repo’, it is not hosted on Phabricator, it is a Git server, configured with Gitolite.

The output of ‘git remote -v show -n origin’ is:

user@login18-1: /Git/feafa • git remote -v show -n origin 
* remote origin 
  Fetch URL: ssh://git@git.*.de:222/feafa 
  Push  URL: ssh://git@git.*.de:222/feafa 
  HEAD branch: (not queried) 
  Remote branches: (status not queried) 
    develop
    master 
  Local branches configured for 'git pull': 
    FT_release_compile merges with remote FT_release_compile 
    develop            merges with remote develop 
    develop-reference  merges with remote develop-reference 
    fem_iga_heat_beta  merges with remote fem_iga_heat_beta 
    master             merges with remote master 
  Local ref configured for 'git push' (status not queried): 
    (matching) pushes to (matching) 

Thanks for your help!

Try updating your arcanist - this code path has been updated recently to be more resilient to strange behavior of git (https://secure.phabricator.com/D20950).
Let me know if it still doesn’t work…