2017-03-13 111 views
0

這是Sync svn and mercurial repo同步SVN文件夾善變回購

一個後續問題的解決方案很好地工作,但是我們想要做的是通過克隆一些特定的文件夾到一個善變的回購,打破了一棵樹,所以我們修改命令

hg clone https://[email protected]/svn/MainRepo/SubFolder/Folder/ --insecure

這給了我們一個

error: [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:661)

任何幫助嗎?

感謝您的閱讀

+0

ssl未知協議是由於在mercurial.ini文件中有一個無效的代理配置。但是我們仍然需要能夠選擇一個特定的文件夾進行克隆 – Bernard

+0

你能否確認沒有子文件夾的完全相同的命令,即'hg clone https:// username @ serverAddress/svn/MainRepo/--insecure',可以正常工作現在?請更新您的問題以顯示現在實際發生的情況。 – alexis

回答

1

Mercurial的設計與部分簽出不兼容。我沒有看過hgsubversion內部,但我希望支持部分結賬不是一件容易的事情,也不是實施的優先事項。還要注意的是,官方hgsubversion wiki指出:

Right now, you can only clone repositories that use a more-or-less standard Subversion layout. That is, the default location where work is done is called trunk , branches are located in a sibling of that directory called branches . Tags are expected to be another sibling of trunk called tags , but that is configurable.

這再次表明,克隆一個子目錄將可能違反這些假設,因爲該子目錄沒有trunkbranches子文件夾。

作爲一個解決方法,考慮做一個完整的結帳,然後將其拆分成subrepos(保留歷史),如this question所示。如果你想繼續與svn進行雙向同步,這將需要你分兩步進行,首先將subrepos中的所有更改導入到hg鏡像中,然後將這些更改推送到svn。