如何使用单个SVN存储库跟踪Visual Studio解决方案中每个项目的版本?

时间:2010-02-11 04:47:59

标签: visual-studio svn

我一直在使用subversion来存储我的Visual Studio解决方案。到目前为止,我总是将整个解决方案存储在一个trunk文件夹中,并使用一个tags文件夹来存储整个解决方案的修订版。

\trunk\
\tags\1.0\
\tags\1.0\
\tags\3.0\

到目前为止,我的VS解决方案通常只包含一个项目,如果它们包含多个项目,那么它仍然不会超过一个项目。当我完成“官方”版本时,我一直在创建整个解决方案的标签,无论哪个项目实际发生了变化。

但是现在我正在研究包含许多项目的解决方案,我认为我应该开始分别跟踪每个项目的版本。在SVN存储库中设置文件夹的首选方法是什么?我见过这样的例子。

\project1\trunk\
\project1\tags\1.0\
\project1\tags\2.0\
\project1\tags\3.0\
\project2\trunk\
\project2\tags\1.1\
\project1\tags\2.2\

我在哪里放置解决方案(* .sln)文件?我真的不喜欢这个设置,因为我没有看到任何简单的方法来导出最新的工作解决方案和所有项目,而不是在我的工作副本中以\ trunk \文件夹结尾,或者单独导出每个项目,这似乎是一个痛。

1 个答案:

答案 0 :(得分:0)

你会做这样的事情:

// Solution file and all projects here in trunk.
\world-domination\trunk\
\world-domination\trunk\volcano-lair          // <-- This is a sub-project.
\world-domination\trunk\airborne-virus        // <-- This is a sub-project.
\world-domination\trunk\orbital-space-station // <-- This is a sub-project.
// ...

// Tags are named after the sub-project...
\world-domination\tags\volcano-lair-1.7.4
\world-domination\tags\airborne-virus-3.6
\world-domination\tags\orbital-space-station-5.2

// ... or the whole system.
\world-domination\tags\1.0-release

// But in either case they are snapshots of trunk.