具有公共/私有部分的分布式版本控制存储库结构

时间:2012-02-28 16:31:15

标签: .net mercurial dvcs directory-structure

我阅读了大量关于这个主题的文档和论坛,需要一些帮助来澄清现在的事情。

这是我目前的SVN回购结构:

 
trunk/    
 Build/
   Projects_VS2010/
   Solution.sln  
 Engine/
 Plugins/    
 Tasks/  

我们将从Svn转变为Hg,同时转向开源。然而,解决方案中的项目无法开源。

我现在提出的最佳结构是:

Private/  
  Build/  
    Solution_internal.sln  
  Libs/  
  Plugins/  
  Public/ -- nested repo, .hgsub content: Public = path_to_repo   
    Build/  
      Solution_public.sln  
    Bin/  
    Engine/   
    Plugins/  
    Tasks/  
    Libs/  

你认为这是一个健全的结构吗?每个项目都将在Public / Bin目录中输出,该目录不在VC下。

在此期间继续测试嵌套的存储库行为。

1 个答案:

答案 0 :(得分:1)

对我来说很好看。我想这几乎是唯一可行的方法。

我希望项目的公共部分实际上可以在没有私人部分的情况下使用? 否则开源就没有意义了。

(好吧,至少每个人都能够阅读公共部分的代码,但是如果它没有工作没有私有部分,那么在没有私有代码的情况下阅读代码部分可能也没有多大意义)