这里只是一个小的SVN“问题”。
我设置了自己的SVN服务器Setting up Subversion on Windows
现在我做了一个代表,我的所有项目都会进行。
现在,我在名为“Projects”的文件夹中检查了代表。
现在,如果我创建一个项目并将其签入,则该项目是修订版1.如果我创建第二个项目并将其签入,则该项目处于修订版2.因此,如果我对项目1进行了更改,该项目将在第3版修订。
我真正想要的是每个项目都有自己的修订方案。我该怎么做呢?
答案 0 :(得分:15)
唯一的方法是将每个项目放在一个完全独立的存储库中。同一存储库中的项目将始终显示您在问题中提到的行为。
与许多其他版本控制系统不同,Subversion的修订版号适用于整个树,而不是单个文件。每个修订号都选择一个完整的树,一些提交的更改后的存储库的特定状态。
答案 1 :(得分:1)
您必须为每个项目创建一个单独的存储库。总的来说这是一个好主意,所以没有任何缺点:)
答案 2 :(得分:1)
您能描述为什么在多个项目中使用单个subversion版本号对您来说是个问题吗?
对所有项目使用单个存储库有一些合理的优势。最大的一点就是你可能能够更好地控制多个项目中公共代码之间的变化。
如果您现在跨多个项目的单个递增子版本修订号的概念有问题,您是否考虑过分支您的某个项目的情况? (记住一个普通的分支也将有一个全局递增的subversion版本号)
听起来您正在尝试将存储库修订号作为构建或发布号的一部分使用? 如果是这种情况,也许你可以考虑为你的项目实现一个不同的构建编号方案,然后可以与subversion版本号相关联。
这种关联可以通过使用创建具有版本号的分支的约定并将subversion修订版放在分支的注释中来实现。
this问题
中讨论了一些方案答案 3 :(得分:0)
您需要在“Projects”文件夹中创建存储库,当您进行初始结帐时,请检查“??? / projects / repo1”...这将使您的计算机上的工作副本保持独立,您将完全分开办理入住/退房手续。
答案 4 :(得分:0)
他们在这里讨论得更好:http://www.nabble.com/Multiple-Repositories-in-a-Windows-Server-td15014106.html
基本上你可以这样做:
svnserve -r /path/to/repository
svn://hostname/
或
svnserve -r /path/to/directory/containing/many/repositories
svn://hostname/repositoryname/
或者,您可以无需服务器,只需在本地或网络驱动器上托管各个存储库。