Page MenuHomePhabricator

[keyresult] Allow cloning of Phabricator hosted git repositories
Closed, ResolvedPublic

Description

I created a plain Phabricator hosted git repository at rQCHRISTEST.

I uploaded my public ssh key, and set policies to

Visible To: All Users 
Editable By: All Users 
Pushable By: All Users

and hosting to

Serve over SSH: Read/Write

. But when trying to clone from the URL the repository page tells me, i get:

git clone ssh://git@fab.wmflabs.org:29418/diffusion/QCHRISTEST/qchris-test.git
Cloning into 'qchris-test'...
Permission denied (publickey,keyboard-interactive).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Can others clone this repo?

Related Objects

Event Timeline

flimport raised the priority of this task from to Low.Sep 12 2014, 1:31 AM
flimport set Reference to fl208.

scfc wrote on 2014-04-23 22:57:44 (UTC)

http://fab.wmflabs.org/diffusion/QCHRISTEST/ says for me: "Unable to Retrieve History; Ref "master" is ambiguous or does not exist." and "Unable to Retrieve Paths; Ref "master" is ambiguous or does not exist." So maybe at least one commit must exist?

qchris wrote on 2014-04-24 11:28:33 (UTC)

So maybe at least one commit must exist?

But how could I create this one commit, if I cannot clone it?

(I had also tried pushing some unrelated commit directly to refs/heads/master at

ssh://git@fab.wmflabs.org:29418/diffusion/QCHRISTEST/qchris-test.git

and that also gives the

Permission denied (publickey,keyboard-interactive).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

error message.)

epriestley wrote on 2014-04-24 21:08:50 (UTC)

Have you followed the steps in the setup guide? It's linked when you create a hosted repository, but we should probably make the link clearer since a lot of users seem to miss it:

https://secure.phabricator.com/book/phabricator/article/diffusion_hosting/

The empty repo issue is here:

https://secure.phabricator.com/T1493

Everything works fine, we just display a bad, confusing message instead of "This repository is empty."

qgil wrote on 2014-04-24 21:35:17 (UTC)

It may well be that we still need to configure something in our Phabricator instance. Or has anybody succeeded creating a repository here?

qchris wrote on 2014-04-25 00:20:33 (UTC)

Or has anybody succeeded creating a repository here?

The only working repos that I saw in our instance are repos that are not hosted by Phabricator.

qgil wrote on 2014-04-25 03:51:14 (UTC)

I have set the priority to Low and I have moved this task to (Not critical for the RfC) because Phabricator does support the creation of self-hosted git repositories that others can clone. The problem is that such functionality hasn't been configured in this Labs instance yet.

You can test this functionality e.g. at https://secure.phabricator.com/diffusion/P/

mattflaschen wrote on 2014-05-15 05:55:09 (UTC)

I think Roan is working on this.

Phab-02 is configured to support this and has a public IP so that ssh will work elsewhere and everywhere.

Change 215942 had a related patch set uploaded (by Chad):
Phabricator: Enable the webserver to serve git repos

https://gerrit.wikimedia.org/r/215942

Change 215942 merged by Rush:
Phabricator: Enable the webserver to serve git repos

https://gerrit.wikimedia.org/r/215942

greg raised the priority of this task from Low to Medium.Jun 19 2015, 4:46 PM
greg edited projects, added releng-201516-q1; removed Patch-For-Review.
greg set Security to None.
greg added a subscriber: demon.
greg renamed this task from Allow cloning of Phabricator hosted git repositories to [keyresult] Allow cloning of Phabricator hosted git repositories.Sep 19 2015, 1:30 AM

Current status: cloning over https works but ssh is blocked by T100519: Phabricator needs to expose ssh

Do we even need ssh? We can do write operations over https with authentication by a token/pass (see git-credential).

For an eventual migration, people will have to change their remote from gerrit to phabricator anyway, so might as well switch the protocol while at it.

Current status: cloning over https works but ssh is blocked by T100519: Phabricator needs to expose ssh

Do we even need ssh? We can do write operations over https with authentication by a token/pass (see git-credential).

People just need to set it in:
https://phabricator.wikimedia.org/settings/panel/vcspassword/

For an eventual migration, people will have to change their remote from gerrit to phabricator anyway, so might as well switch the protocol while at it.

Is there a benefit to one over the other?

In T128#1657344, @greg wrote:

Is there a benefit to one over the other?

SSH is much more efficient.

Also password authentication isn't as secure. Passwords have to be stored somewhere or entered repeatedly.

/me nods, let's hope we can get this sorted soon.

mmodell claimed this task.

I think this one is done.