我正在尝试使用Mercurial到Mercurial转换的转换扩展从现有的Mercurial Repo(在MainRepo中调用)中提取文件夹(称之为Project1).我已经按照Windows XP下的Mercurial开发人员(以及网络上的其他地方)描述的方法:
C:\MainRepo>echo include Project1 > ~myfilemap
C:\MainRepo>echo rename Project1 . >> ~myfilemap
C:\MainRepo>hg convert --filemap ~myfilemap . C:\Project1Repo
C:\MainRepo>cd \Project1Repo
C:\Project1Repo>hg update
Run Code Online (Sandbox Code Playgroud)
这将创建具有Mercurial文件夹/文件的新repo(Project1Repo).但它没有:
1)在Project1文件夹中携带与项目所做更改相关的历史记录.(仅存在MainRepo的第一个历史记录条目和转换项目).
2)将所有源代码文件从MainRepo\Project1复制到Project1Repo.
我在stackoverflow中看到了其他类似的问题和答案,但这些似乎没有帮助(我已经按照其中讨论的方法): 我可以克隆Mercurial存储库的一部分吗?
所以问题是:如何从MainRepo中提取子文件夹,只保留子文件夹历史记录并完成新的Repo并同时传输源文件?(虽然我猜一个直接副本会做到最后).它保留了重要的历史记录 - 在这种情况下,我可以在日期或变更集编号之后进行此操作.
任何帮助都非常感激,因为我对此比较陌生
谢谢