对subversion中trunk的认识

在将数据导入到仓库之前,你必须先想好如何组织存放你的数据。如果你使用一种我们推荐的规划方式,你将在以后的使用中感觉到很舒服。

我们这里有很多种标准的推荐仓库组织形式。大多数人会创建一个trunk目录来存放开发的“主线”,一个branches目录来存放支线副本,另外还有一个tags目录来存放标签副本。假如一个仓库只保存一个项目,经常会创建这样的几个顶级目录:

/trunk

/branches

/tags

如果一个仓库存放多个项目,经常会像下面这样根据分支来规划:

/trunk/paint

/trunk/calc

/branches/paint

/branches/calc

/tags/paint

/tags/calc

...或者根据项目分成多个目录:

/paint/trunk

/paint/branches

/paint/tags

/calc/trunk

/calc/branches

/calc/tags

如果多个项目之间的关系不是很紧密,并且他们都是被单独取出的,那根据项目来规划会比较有意义些。For related projects where you may want to check out all projects in one go, or where the projects are all tied together in a single distribution package, it is often better to index by branch. This way you have only one trunk to checkout, and the relationships between the sub-projects is more easily visible.对那些相关的项目(),最好根据分支来组织规划。这样的话,你就只有一个trunk需要checkout,而且子项目间的关系会更明显。

你如果采用/trunk /tags /branches并列于根目录的方式,那你必须为每个branch和tag复制整个trunk,也就是说这种结构显得更机动些。

对不相干的项目来说,你可以使用多个不同的仓库。当你提交一个改动,版本号会是整个仓库的版本号,而不是项目的版本号。2个不相干的项目共享一个仓库会在版本号方面导致极大的不方便。Subversion和TortoiseSVN的项目看起来好像在同一个地址,但事实上他们在完全不同的仓库中研发着,并且在版本号方面完全的不相干。

当然,你可以不管上面提到的这些形式。你可以随意发挥以满足你或者你的团队的需要。记住不管你怎么选择,那都不会是一个永久的形式,你可以在任何时候重新组织你的仓库。因为branches和tags都是很普通的目录,只要你愿意,TortoiseSVN可以随时移动它们,或改名。

从一种形式转换到另一种形式仅仅需要在服务器端做一些文件或目录移动操作;如果你不喜欢你仓库的某种组织形式,尽管大胆的操作那些目录。

到这里,如果你还没有在你的仓库中创建一个基本的目录架构,接下来你应该这么做:

1.        在你的硬盘中创建一个空目录。

2.        在这个目录中创建一个你中意的目录组织形式。注意现在不要放任何文件进去。

3.        接下来把这个结构导入仓库。在新建的那个目录上单击鼠标右键,选择Import…。这样,就把你刚才创建的临时目录导入到仓库的根目录了,并创建了仓库的基本架构。

注意:你导入的这个目录的目录名是不应该出现在仓库中的,应该只有目录中的内容会出现。比如,创建下面的目录结构:

C:\Temp\New\trunk

C:\Temp\New\branches

C:\Temp\New\tags

将C:\Temp\New 导入到仓库的根目录,那么根目录看起来应该是这样的:

/trunk

/branches

/tags

另外你也可以使用仓库浏览器(repository browser)直接在仓库中创建新目录。


我发现了一个学习SVN的好网址,大家可以去看看。http://blog.csdn.net/happy4nothing/archive/2005/05/19/376604.aspx

转载连接:http://hi.baidu.com/jackywdx/blog/item/24c00e819cad56dbbd3e1e4e.html

你可能感兴趣的:(数据结构,C++,c,SVN,subversion)