2011-04-14 74 views
1

我已经得到了我想要转换到几汞回购一个巨大的CVS仓库。 This问题是类似的,但我使用hg convert,我已经有多个目录在cvs中,应该在给定的hg回购中。这里有一个例子:在从CVS转换为水银

/sw 
.../dir1 
.../dir2 
.../dir3 
.../dir4 
.../dir5 

我想DIR1,DIR2和dir4在我的汞回购,但DIR3可以在没有人会使用一个单独的一个与dir5腐烂。

我一直在转换整个事情hg convert --branchsort sw其中sw是一个沙箱检出,只包含我关心的目录。这让我有一个1.7GB的hg回购所有4个目录。 CVS回购2.3GB,但沙箱只有159MB。 hg repo的历史可以追溯到1997年,这非常棒,但其中的一些内容来自已停产的产品。他们不需要在普通的开发人员沙箱中。

那么,有没有一种方法来挑樱桃CVS目录进入我的新汞柱库?

+0

不是CVS用户 - 用filemap指定'include'您需要的三个目录,但'汞convert'和'exclude'其他人,应该给你你 - 所以不能肯定地说想。 – 2011-04-14 23:47:12

回答

4

您应该按照我对这个问题的意见,您链接。将所有内容一起转换,然后使用hg - > hg convert使用filemap在每个repo中选择所需的部分。任何将是空白的修订(只有您在该对话中排除的文件)将被忽略。

而且hg至汞柱转换速度更快,所以你可以做慢CVS仅转换一次,然后做汞柱,直到你满意的结果一次又一次HG部分。

+0

这是我只读了接受的答案。 – nmichaels 2011-04-15 13:34:42

1

你可以访问CVS仓库存储?

如果是,那么您应该可以创建存储库的完整副本,删除不想转换的任何文件/目录,然后运行hg convert,并从此本地存储库签出工作目录。

我说应该因为我还没有尝试过,但由于CVS在每个文件的基础上存储了修订历史记录,我没有理由认为它不应该这样做。它将而不是与像Subversion一样的SCM一起工作,它在单个修订版中存储多个更改。

+0

我确实希望将其他目录转换为存档目的(以及偶尔发现的错误,我们在6年前的产品中修复),如果问题不清楚,那么很抱歉。 – nmichaels 2011-04-15 13:33:43