要开始了,我已经看过了以下页面,并不太有我的答案是: how-would-you-organize-a-subversion-repository-for-in-house-software-projects和 how-do-you-organize-your-version-control-repository最佳方式
我也看了一下第8章Pragmatic Version Control using Subversion。
他们都有很好的意见,但我在它与我的需求很难。
基本上,我想组织的代码,我们的Web服务器。我们有一个$ WEBROOT/htdocs和$ WEBROOT/cgi-bin。在我们的htdocs目录下,我们有用于java脚本和样式表的$ WEBROOT/htdocs/js和$ WEBROOT/htdocs/css。
我们的“项目”都算不上的项目,但小的代码位 - 也许一个Perl脚本,Java脚本文件和样式表。我们可能有一百个左右的小型“项目”几乎都是相互独立的,但都在同一个Web服务器上同一个$ WEBROOT下。
我们的代码是不是在颠覆,但我希望它是 - 我只是有麻烦组织的效率吧。如果需要,我们可以有多个svn存储库,但是如果每个存储库只有3-10个元素,那对我来说似乎是一种浪费。
我认为可以工作的是这样的:如果我编写一个脚本来统计Web服务器上运行的进程(为了举例)。假设我有一个perl脚本,一个js文件和一个css文件。我能说出“项目” webserver_processes,并检查它到仓库为:
/svnrepo/webserver_processes/trunk
下树干,我可以有:
htdocs/html/webserver_processes
htdocs/js/webserver_processes
htdocs/css/webserver_processes
cgi-bin/webserver_processes
我没有任何静态html格式的文档在这个“项目“,但如果我这样做,他们会去”html“目录。
我在这个结构中看到的好处是,我可以一次签出一个“项目”,而不会真正影响Web服务器上的其他任何内容。缺点(也许这不是一个真正的缺点)正在部署。我将不得不一次从存储库部署一个项目。我没有看到如何使用这种方法创建一个具有$ WEBROOT/htdocs和$ WEBROOT/cgi-bin结构的工作副本。
另一种选择:
我可以创建一个svn存储库这样的:
/svnrepo/webcode/trunk
在树干将是我所有的web服务器上的代码,在这两个目录:
htdocs
cgi-bin
一个巨大的缺点是,对于一个小代码更改为1个元素,我将不得不签出我的web环境中的每一段代码换货。好处(有点)是我可以在我们的Web服务器上执行一个“svn update”来选择提交到存储库的任何更改。
也许我只是把它做得比它应该更复杂一点,但是没有人对我如何在颠覆中有效地组织我的代码有任何建议吗?
非常感谢提前!
布赖恩
似乎你的两个选项是一样的,除了你已经命名了顶级目录webserver_processes在一个web代码和另一个web代码? – Sol 2009-02-09 18:23:13
第二种选择是我的$ WEBROOT下的所有东西都是颠覆中的单个项目。第一种选择是,我们工作的每个“项目”都是它在Subversion存储库中的自己的项目。 – BrianH 2009-02-09 18:26:02