问题
I have a local Git repository on my computer that I am trying to clone with Hg-Git. It works fine for me when I'm cloning from a git://
type path, but not if I try to clone from local directories.
Here is an example...
hg clone "C:\Users\James\Documents\My Games\FalloutNV"
destination directory: FalloutNV
importing Hg objects into Git
abort: The system cannot find the file specified
The path does exist, and somehow it knows that it's a Git repo, but it has the direction backwards. It should be importing Git objects into a (new) Hg repo.
Any ideas? I am on Windows, trying to use TortoiseHg but comfortable enough in the command line.
Update
Tonight I discovered that if I rename FalloutNV
to FalloutNV.git
... the clone will magically work from the local disk. Just a pointer that may help!
回答1:
This is strange since that error message is usually associated with Hg-Git (the dulwich part of it) not finding your ssh key.
That is why manojlds suggested cloning using explicitly the file protocol (except I would use "file:///C:/Users/James/Documents/My Games/FalloutNV
" with 3 "/
" at the beginning instead of two).
The "A guide to getting the hg-git Mercurial plugin to work on a Windows machine" confirms the ssh issue:
If you’re getting an error like “
abort: The system cannot find the file specified
”, thendulwich
cannot find ssh in yourPATH
.
You need to make sure to install Cygwin’s OpenSSH and that you can run “ssh
” from the command line. (and it also recommend you get the latest version of the dulwich library)
The OP jocull adds in the comment:
Fun fact: Tonight I discovered that if I rename "
FalloutNV
" to "FalloutNV.git
" ... the clone will magically work from the local disk.
And that is similar to the Git protocols page, where every path of a local Git repo ends with .git
.
来源:https://stackoverflow.com/questions/5785158/mercurial-hg-git-clone-from-a-local-directory