5

在阅读了 Joel 关于 Mercurial 的上一篇文章后,我将 XP 作为单用户、单计算机源代码控制系统进行了尝试。

不过,我想检查的一件事是:创建一个包含我保留的所有小项目的存储库会更容易,例如。C:\VB.Net\,但结果是我对其中的不同项目(C:\VB.Net\ProjectA\、C:\VB.Net\ProjectB\等)所做的更改会混入其中一个单一的变更日志。

但是,如果我为所有项目使用单个存储库,当我进行差异或查看更改历史记录时,我是否能够过滤数据以便只看到与给定项目有关的更改?否则,在每个项目目录中创建存储库是唯一的解决方案吗?

谢谢你。

4

4 回答 4

5

我会为每个项目保留一个存储库。开销很小(hg init每个源代码目录只有一个,或者在资源管理器中单击一次),您不会感到困惑。毕竟,为什么对一个程序的更改会影响一个完全不相关的程序的版本历史?

当然,您可以在 Repository Explorer 中查看每个文件的历史记录,但我认为将不相关的内容混合到一个存储库中,这违背了版本控制的概念。

于 2010-03-19T07:18:11.683 回答
4

DVCS(即可以克隆所有历史记录的存储库)的正确粒度是项目。

如果您有多个具有不同开发生命周期的项目(即一个更改并不总是影响另一个),它们应该在自己的存储库中。

于 2010-03-19T07:24:52.080 回答
0

如果您确实使用一个存储库,并且只有浅层项目:

cd C:\VB.Net\ProjectA\
hg log *.*

否则,可能必须指定特定的文件扩展名以避免过多的递归:

cd C:\VB.Net\ProjectA\
hg log **/*.cpp

虽然它可能有点慢......如果项目真的是分开的,标签/分支可能会让人感到困惑。

注意:我几乎不会想到“Hello world!” 值得拥有自己的存储库只是因为它可能是“独立的”。

于 2014-09-11T16:25:55.017 回答
0

如果有人使用 bitbucket,他们只允许一个私有存储库,因此如果您希望它们是私有的,您可以将所有项目放在那里。我想听听关于这种情况的评论。

于 2010-03-19T09:32:08.263 回答