在开始之前,以下内容基于通过使用OrtoiseSVN 1.6.x和ASP.NET web项目(以Visual Studio 2008为例)获得的知识。
比如说,在欢乐日场景中,典型的subversion存储库结构可能类似于:
/trunk
/Solution1
/ProjectA
/ProjectB
/ProjectC
/tags
/Solution1
/version_1.0-rc
/version_1.1
/branches
/users
/travis
/Solution1
/john
/Solution1
-
Solution1
-
用户正在处理自己的解决方案分支,偶尔会合并回主干。没有人直接在后备箱上工作。
-
只要有公共版本,就从主干创建标记。
然而,在VisualStudio中,许多项目都不是简单的共享解决方案。存储库看起来更像:
/trunk
/CandyLand
/Candy.Web.Pages
/Candy.Web.Services
/Candy.Tests
/LollyApp
/Lolly.App.WinForm
/Lolly.App.Services
/Lolly.Tests
/Fundamental
/Fundamental.BusinessObjects
/Fundamental.DataAccess
/Components.ExternalLibraries
/Subsonic-2.2
/Moq-3.1
/Lucene.NET-2.0
Candy
和
Lolly
Fundamental
和
Components.ExternalLibraries
文件夹。
假设在行李箱外工作,以便在
CandyLand
Visual Studio解决方案,我需要从存储库中签出其文件以及所需的组件,因此解决方案结构可能类似于:
+ CandyLand
+ Candy.Web.Pages
+ Candy.Web.Services
+ Candy.Tests
+ Fundamental.BusinessObjects
+ Fundamental.DataAccess
+ Subsonic-2.2
+ Moq-3.1
将签出和嵌套文件夹移到一起可能有点烦人,我们使用批处理脚本来完成这项工作。
问题
与标记相同,我无法创建同时包含产品解决方案的修订快照及其共享组件的标记。
我走错方向了吗?我是否使此存储库太难管理?