HomePhabricator

Improve error messages for running `git clone` against a Mercurial repository

Description

Improve error messages for running git clone against a Mercurial repository

Summary:
Fixes T11938.

Note that there's a subcase here: if you hg clone or svn checkout a short /source/ URI that ends in .git, we miss the lookup and don't get this far, so you still get a generic error message.

Hopefully it is clear enough on its own that proto://.../blah.git is, in fact, a Git repository, since it says ".git" at the end.

If that doesn't prove to be true, we can be more surgical about this.

Test Plan:

$ git clone ssh://local@localvault.phacility.com/source/quack.notgit/
Cloning into 'quack.notgit'...
phabricator-ssh-exec: This repository ("quack.notgit") is not a Git repository. Use "hg" to interact with this repository.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
$ hg clone ssh://local@localvault.phacility.com/source/phabx
remote: phabricator-ssh-exec: This repository ("phabx") is not a Mercurial repository. Use "git" to interact with this repository.
abort: no suitable response from remote hg!

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T11938

Differential Revision: https://secure.phabricator.com/D16976