2008-09-22 161 views
4

这里只是一个小SVN“问题”。SVN版本控制

我建立我自己的SVN服务器http://www.codinghorror.com/blog/archives/001093.html

现在,我做了一个代表在我所有的项目都会去。

现在,我在一个名为“Projects”的文件夹中检查了代表。

现在,如果我做一个项目,并检查它,该项目是修订1.如果我做第二个项目,并在检查,该项目是在修订2。因此,如果我做了更改项目1 ,该项目将在第3修订版。

我真正想要的是每个项目都有自己的修订方案。我该怎么做呢?

回答

1

您需要在“Projects”文件夹中创建存储库,并在初始结帐时签出“???/projects/repo1”..这将使工作副本在你的机器上保持分离,并且你将完全独立地签入/签出。

+0

这是不正确的,问题是关于保持不同项目的修订版分开,你的例子不会这样做 – Palmin 2008-09-23 20:25:37

15

唯一的方法是让每个项目都在一个完全独立的存储库中。同一个存储库中的项目将始终显示您在问题中提到的行为。

From Here

不像其它版本控制系统,Subversion的版本号是针对整个目录树的,而不是单个文件。每个修订号都会选择整个树,即某个确定的更改后的特定存储库状态。

1

你必须为每个项目创建一个单独的存储库。这通常是一个好主意,所以没有缺点:)

+0

我不同意没有缺点。从http://svnbook.red-bean.com/en/1.0/ch05s04.html开始,您有重复的(或更多)维护工作,而且任何“共享”代码难以维护。在选择某种方式之前应该做一些思考。 – 2008-09-22 21:02:00

1

您能否描述为什么在多个项目中使用单个Subversion修订版号对您而言是个问题?

在您的所有项目中使用单个存储库有一些合理的优势。最大的问题是你可能更好地控制多个项目中的通用代码之间的变化。

如果你现在有多个项目的单一递增颠覆版本号的概念的问题,你有没有考虑,你的分支项目之一的情况呢?(记住,一个正常的分支也将有一个全球递增颠覆版本号)

这听起来像你想使用的存储库版本号作为构建的一部分或释放多少? 如果是这种情况,也许你可以考虑为你的项目实现一个不同的内部编号方案,然后可以将其与Subversion版本号相关联。

这样的关联可以通过使用创建具有版本号的分支的约定并将该Subversion修订放入分支的注释中来进行。

一些方案在this中讨论问题