我有一些C#.dll项目,这些项目对很多应用程序来说很常见.目前,我有一个大的存储库.我将每个DLL存储为存储库中的单独项目,并将每个应用程序项目存储为同一存储库中的项目.
我最近切换到Subversion进行源代码控制,我担心我没有很好地构建存储库.我想听听其他人在做什么.
Subversion存储库通常细分为:
branch/
tags/
trunk/
Run Code Online (Sandbox Code Playgroud)
您可以将所有DLL和应用程序项目放入主干中,然后根据需要为所有这些项目使用分支和标记:
branch/
tags/
trunk/
project1/
project2/
Run Code Online (Sandbox Code Playgroud)
或者,您可以为根中的每个项目创建文件夹,然后将公共分支,标记和主干文件夹放在其中.
project1/
branch/
tags/
trunk/
project2/
branch/
tags/
trunk/
Run Code Online (Sandbox Code Playgroud)
请注意,这种做法只是惯例,SVN中没有任何内容需要(或真正促进)这样做.但是,每个人都习惯了.所以,你会帮助人们一起去做.
为了进一步阐述,行李箱是您主要开发的地方.当你想标记特定的版本(例如一个发布版本),然后简单地SVN 复制项目到标签目录.此外,当您想要做一些戏剧性的或延长的事情并且不想阻碍主干的进展时,只需将代码复制到分支目录中.以后你可以使用svn 合并的分支回到主干当它准备采取行动!
如果您想在当前的Subverion存储库中更正错误,那么只需使用svn move重新定位它们即可.与CVS的删除和添加过程不同,move将保留新位置的版本历史记录.
使用分支/主干/标记存储库结构是非常标准的,但如果我正确理解你,你的问题是你有一组在多个项目中使用的常见dll项目.这肯定会变得难以管理.
所以这里的典型场景是你有一些名为Common.Helpers的类库,它们具有所有应用程序通用的代码.
假设我正在启动一个名为StackOverflow.Web的新应用程序,需要引用Common.Helpers.
通常你要做的是创建一个新的解决方案文件并添加一个名为Stackoverflow.Web的新项目并添加现有的Common.Helpers项目,然后从新的Stackoverflow.Web项目中引用它.
我通常尝试做的是为Common.Helpers项目创建一个存储库,然后在subversion中将它作为外部引用.这样,您可以将源代码控制下的代码保存在一个位置,但仍然可以在多个项目中单独使用它.
| 归档时间: |
|
| 查看次数: |
1555 次 |
| 最近记录: |