Page MenuHomePhabricator

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

Authored by epriestley on Dec 2 2016, 2:22 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Apr 11, 5:45 PM
Unknown Object (File)
Mon, Apr 8, 1:58 AM
Unknown Object (File)
Mon, Mar 25, 9:52 PM
Unknown Object (File)
Sat, Mar 23, 1:50 PM
Unknown Object (File)
Mar 7 2024, 10:56 AM
Unknown Object (File)
Feb 16 2024, 8:51 PM
Unknown Object (File)
Feb 15 2024, 2:19 PM
Unknown Object (File)
Feb 12 2024, 2:59 PM
Subscribers
None

Details

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!

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Improve error messages for running `git clone` against a Mercurial repository.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad edited edge metadata.
This revision is now accepted and ready to land.Dec 2 2016, 3:25 PM
This revision was automatically updated to reflect the committed changes.