当前位置:  开发笔记 > 编程语言 > 正文

组织许多小项目的subversion存储库的最佳方法

如何解决《组织许多小项目的subversion存储库的最佳方法》经验,为你挑选了1个好方法。

首先,我看了以下几页,并没有得到我的答案: 你如何组织一个颠覆 - 内部存储库软件项目以及 你如何做 -组织-您的版本控制系统信息库

我还查看了使用Subversion的实用版控制的第8章.

他们都有很好的建议,但我很难将其与我的需求联系起来.

基本上,我想组织我们的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文件.我可以将"project"命名为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服务器上的任何其他内容.缺点(也许并非真正的缺点)是部署.我必须一次从存储库部署1个项目.我不知道如何用我的$ WEBROOT/htdocs结构和$ WEBROOT/cgi-bin使用这种方法创建一个工作副本.

另外一个选项:

我可以像这样创建一个svn存储库:

/svnrepo/webcode/trunk

在trunk下面是我的web服务器上的所有代码,在这两个目录中:

htdocs
cgi-bin

最大的缺点是,对于1个元素的小代码更改,我将不得不检查我的Web环境中的每一段代码.好处(有点)是我可以在我们的Web服务器上执行"svn update"以获取对存储库提交的任何更改.

也许我只是让它变得比它应该更复杂,但是有没有人对如何在subversion中有效地组织我的代码有任何建议?

提前谢谢了!

布赖恩



1> Nathan..:

我认为您通过为许多项目保留单个存储库来进行正确的调用,因此我只会对您的部署过程进行更改:

你的svn回购看起来像(你的第一个选择.)

/svnrepo/project1/trunk
/svnrepo/project1/trunk/htdocs
/svnrepo/project1/trunk/css
...
/svnrepo/project1/branches/branch1
/svnrepo/project1/tags/blah
/svnrepo/project2/trunk
/svnrepo/project3/trunk

当您要部署时,使用脚本将文件复制到应该部署的位置.

通过这种方式,您可以保留一个人工障碍(文件夹),以便在项目之间组织您的想法,而不仅仅是一大堆文件.

编辑:为清晰起见,添加了意外保存和其他目录

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有