我已经阅读了太多关于 SO 的帖子,我现在处于分析瘫痪状态!
我使用 Visual Studio 2010,我有许多小项目,其中许多参考库/共享项目。
如果我对共享代码进行更改,我真的不介意必须检查/重新构建依赖项目......我会尽快安排 TeamCity 来协助解决这个问题,但目前,我只是修改代码下次我做一个项目的时候。许多项目是“一次编写后忘记”,因此它们永远不需要更新。
该团队目前非常小(我!),但预计今年年初会有新的开发人员,但它仍然是一个非常小的内部团队,如果这有什么不同的话,项目周期会很快。
目前我在磁盘上有一个非常扁平的文件夹结构,所以我的所有sln
文件都在磁盘上的“开发”文件夹中。然后每个 VS 项目都有一个文件夹。这使共享变得非常简单,并且还为我留下了一个packages
用于nuget
.
我即将将所有内容导入 SVN (VisualSVN),我想开始添加诸如database scripts
、docs
、UAT tests
等之类的内容。
- 我是否保持我的扁平结构并在根级别有一个主干/分支/标签?
- 我是否将结构扩展到
an SVN folder-per-solution
然后拥有trunk/src
并trunk/docs
管理诸如nuget packages
with之类的东西svn:eternals
? - 我是否混合了这个并
an SVN folder-per-solution
在docs
VS 解决方案中使用了?
注意:我正在使用 SVN,因此我可以引入一些 Java 开发,但以单一方式管理源代码。我们还将与希望将 docs/sql sripts 等放入其中的 DB 团队共享。我打算为 DB 和 Java 分别建立一个单独的存储库——但希望它们每个都有一个“相似”的文件夹结构。
NOTE2:我有一些 SVN 用户经验,但没有管理员经验。新开发者完全没有经验(他们来自 AS/400 背景),所以解决方案越简单越好!我已经看过了repo per project and svn:extenals
,虽然它是一个很好的解决方案,但它需要我一直管理和维护(以及我自己的工作!哈哈)
非常感谢那些“去过那里,做过那件事-GTTS”的人的任何建议。
好的,我现在有以下本地解决方案结构:
我所有的 sln/suo 文件都在同一个文件夹中。
我所有的项目文件夹/文件都是子文件夹
这使得共享项目很容易......但看起来很乱而且很难找到任何东西:(
我应该使用 svn:externals 来管理“参考”项目,以便我可以分支/标记它们吗?
我应该只引用构建的 DLL - 以及随之而来的所有管理吗?
我应该让 VS2010 管理我的文件夹,而不关心我有很多“nuget”文件夹等吗?
现在非常非常困惑......任何体面的答案?:(
注意:将尽快将 TeamCity(或类似的东西)添加到组合中以提供 CI 功能。对 CI 的任何严肃(和免费)建议也表示赞赏。