SVN版本控制
这里只是一个小的SVN"问题"。
我设置了自己的SVN服务器http://www.codinghorror.com/blog/archives/001093.html
现在我做了一个代表,我所有的项目都将进行。
现在,我在名为" Projects"的文件夹中检查了代表。
现在,如果我制作一个项目并将其检入,则该项目为修订版1. 如果我制作第二个项目并将其检入,则该项目为修订版2. 因此,如果我对Project 1进行更改,则该项目将然后是修订版3.
我真正想要的是每个项目都有自己的修订方案。我该怎么做呢?
解决方案
唯一的方法是将每个项目都放在一个完全独立的存储库中。同一存储库中的项目将始终表现出我们在问题中提到的行为。
从这里
Unlike those of many other version control systems, Subversion's revision numbers apply to entire trees, not individual files. Each revision number selects an entire tree, a particular state of the repository after some committed change.
我们必须为每个项目创建一个单独的存储库。总的来说,这是一个好主意,所以没有缺点:)
我们需要在" Projects"文件夹中创建存储库,并且在进行初始签出时,签出" ??? / projects / repo1" ...这会将工作副本保留在计算机上,并且我们将签入/彼此完全分开。
他们在这里讨论得更好: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/
或者,我们可以不用服务器,而将单个存储库托管在本地或者网络驱动器上。
我们能描述为什么在多个项目中只有一个Subversion版本号对我们来说是一个问题吗?
对所有项目使用单个存储库有一些合法的优势。最大的问题是我们可能更有能力控制多个项目中通用代码之间的更改。
如果我们现在对跨多个项目的单个递增版本号修订版本的概念有疑问,我们是否考虑过分支一个项目的情况? (请记住,正常分支也将具有全局递增的Subversion修订版号)
听起来我们正在尝试将存储库修订版号用作内部版本号或者发行版号?
如果是这种情况,也许我们可以考虑为项目实施不同的内部版本编号方案,然后将其与Subversion修订版本号关联。
可以通过以下约定来建立这种关联:使用发行版本号创建分支,然后将Subversion修订版放入分支的注释中。
在这个问题上讨论了一些方案