首先,我知道这一点:您如何为内部软件项目组织Subversion存储库? 接下来,实际问题:我的团队正在重构我们的存储库,我正在寻找有关如何组织它的提示.(在这种情况下为SVN).这就是我们想出的.我们有一个存储库,多个项目和多个svn:externals交叉引用
\commonTools /*tools used in all projects. Referenced in each project with svn:externals*/
\NUnit.v2.4.8
\NCover.v.1.5.8
\<other similar tools>
\commonFiles /*settings strong name keys etc.*/
\ReSharper.settings
\VisualStudio.settings
\trash /*each member of the team has trash for samples, experiments etc*/
\user1
\user2
\projects
\Solution1 /*Single actual project (Visual Studio Solution)*/
\trunk
\src
\Project1 /*Each sub-project resulting in single .dll or .exe*/
\Project2
\lib
\tools
\tests
\Solution1.sln
\tags
\branches
\Solution2
\trunk
\src
\Project3 /*Each sub-project resulting in single .dll or .exe*/ …Run Code Online (Sandbox Code Playgroud) 我正在尝试为自己的个人使用找到一个尽可能简单的源代码控件.我需要的主要功能是能够读取/拉取我的代码的过去版本.我是唯一的开发人员.我看过很多不同的版本控制系统,但它们看起来都比我需要的更复杂.我需要一个简单的,在Windows下运行,并且不会将自己暴露给网络.
具体来说,版本控制系统应该不要求暴露的HTTP接口,它应该只与本地文件系统交互.它只需要是一个版本控制系统,仅适用于一个人和一个人.图形用户界面是一个加号.
有谁知道软件能满足我的要求吗?
谢谢!
-麦克风
我被告知大多数开发商店都有以下结构或者至少接近这个结构:
所以:
ReponsitoryMain
Project1
branches
trunk
tags
Project2
...
Run Code Online (Sandbox Code Playgroud)
那为什么这更好或更好?如果你以另一种方式做到,会发生什么或者你有什么心痛?
首先,我看了以下几页,并没有得到我的答案: 你如何组织一个颠覆 - 内部存储库软件项目以及 你如何做 -组织-您的版本控制系统信息库
我还查看了使用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
Run Code Online (Sandbox Code Playgroud)
在行李箱下,我可以:
htdocs/html/webserver_processes
htdocs/js/webserver_processes
htdocs/css/webserver_processes
cgi-bin/webserver_processes
Run Code Online (Sandbox Code Playgroud)
我在这个"项目"中没有任何静态html文档,但如果我这样做,他们会进入"html"目录.
我在这个结构中看到的好处是,我可以一次签出一个"项目",而不会真正影响Web服务器上的任何其他内容.缺点(也许并非真正的缺点)是部署.我必须一次从存储库部署1个项目.我不知道如何用我的$ WEBROOT/htdocs结构和$ WEBROOT/cgi-bin使用这种方法创建一个工作副本.
另外一个选项:
我可以像这样创建一个svn存储库:
/svnrepo/webcode/trunk
Run Code Online (Sandbox Code Playgroud)
在trunk下面是我的web服务器上的所有代码,在这两个目录中:
htdocs
cgi-bin
Run Code Online (Sandbox Code Playgroud)
最大的缺点是,对于1个元素的小代码更改,我将不得不检查我的Web环境中的每一段代码.好处(有点)是我可以在我们的Web服务器上执行"svn update"以获取对存储库提交的任何更改.
也许我只是让它变得比它应该更复杂,但是有没有人对如何在subversion中有效地组织我的代码有任何建议?
提前谢谢了!
布赖恩