关于ZAKER 融媒体解决方案 合作 加入

麻烦的 - 我有一个包含多个项目的存储库 , 如何为每个项目提供现有历史记录?

CocoaChina 11-14

大约一年前 , 当我开始使用 Mercurial 时 , 我创建了一个名为 SandBox 的存储库以将我的所有项目放入其中 , 现在大约一年后 , 我意识到这不是一个非常明智的选择 , 我拥有 19 个项目 , 其中有些很大 . 我想为每个项目提供自己的存储库 , 并保留历史记录 . 有没有简单的方法可以做到这一点?

最佳答案

好吧 , 考虑一个具有以下结构的项目 ( in bitbucket ) :

$find hgmultiprojecthgmultiprojecthgmultiproject/proj2hgmultiproject/proj2/mysndfilehgmultiproject/proj1hgmultiproject/proj1/myfirstfilehgmultiproject/proj3hgmultiproject/proj3/mythirdfile

该项目具有以下日志:

revision: 7:6bbc26c1a34dtag: tipuser: Adam Victor Nazareth Brandizzi <brandizzi@gmail.com>date: Wed Aug 08 11:49:22 2012 -0300summary: correctingrevision: 6:32c312e7072euser: Adam Victor Nazareth Brandizzi <brandizzi@gmail.com>date: Wed Aug 08 11:48:55 2012 -0300summary: Adding periodrevision: 5:f332e0ecee4duser: Adam Victor Nazareth Brandizzi <brandizzi@gmail.com>date: Wed Aug 08 11:48:39 2012 -0300summary: Moving to correct namerevision: 4:5850a93d80dduser: Adam Victor Nazareth Brandizzi <brandizzi@gmail.com>date: Wed Aug 08 11:48:05 2012 -0300summary: More content on second filerevision: 3:0098ebd2cea5user: Adam Victor Nazareth Brandizzi <brandizzi@gmail.com>date: Wed Aug 08 11:47:41 2012 -0300summary: A third filerevision: 2:096c984a8f2auser: Adam Victor Nazareth Brandizzi <brandizzi@gmail.com>date: Wed Aug 08 11:47:09 2012 -0300summary: More content on 1st filerevision: 1:b9491918efccuser: Adam Victor Nazareth Brandizzi <brandizzi@gmail.com>date: Wed Aug 08 11:46:52 2012 -0300summary: My second filerevision: 0:4e429ac2fee9user: Adam Victor Nazareth Brandizzi <brandizzi@gmail.com>date: Wed Aug 08 11:46:23 2012 -0300summary: My first file

您可以使用带有– filemap选项的Convert extension来提取项目 .

怎么做?首先 , 您应该创建一个文件映射文件 . 在这种情况下 , 内容应为:

rename proj1 .exclude proj2exclude proj3

第一行会将 proj1 目录中的所有内容移动到新存储库的根目录 . 第二行将从新存储库中删除 proj2 目录 , 第三行将从 proj3 中删除 .

要使用它 , 只需按以下方式调用:

$hg convert --filemap proj1filemap hgmultiproject/ extracted-proj1

现在 , 输入新的仓库:

$cd extracted-proj1/

它没有工作副本…

extracted-proj1 $ls

y, 但您只需要更新:

extracted-proj1 $hg update1 updated files, 0 merged files, 0 deleted files, 0 nonresolved filesextracted-proj1 $lsmyfirstfile

新的日志是…

extracted-proj1 $hg logrevision: 2:eb31727c0df8tag: tipuser: Adam Victor Nazareth Brandizzi <brandizzi@gmail.com>date: Wed Aug 08 11:48:55 2012 -0300summary: Adding periodrevision: 1:e701f0ad5335user: Adam Victor Nazareth Brandizzi <brandizzi@gmail.com>date: Wed Aug 08 11:47:09 2012 -0300summary: More content on 1st filerevision: 0:c0b6ad18ff22user: Adam Victor Nazareth Brandizzi <brandizzi@gmail.com>date: Wed Aug 08 11:46:23 2012 -0300summary: My first file

您应该对存储库的每个项目执行以下步骤 .

以上内容由"CocoaChina"上传发布 查看原文