Mercurial Hg-Git: Clone from a local directory?

孤街浪徒 提交于 2019-12-21 04:03:24

问题


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”, then dulwich cannot find ssh in your PATH.
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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!