解决我对远程存储库上的SVN“项目”的困惑

时间:2011-03-11 08:16:42

标签: svn tortoisesvn

我一直在快速掌握SVN并了解基础知识。但是,对我来说,有一点困惑,我希望帮助理解。

我已经通过我发现在StackOverflow上其他地方链接的这个伟大指南做了一堆阅读: http://svnbook.red-bean.com/nightly/en/svn.tour.importing.html#svn.tour.importing.layout

特别是,我正在建议我的3个项目安排我的存储库,如下所示:

\repository\projectA\trunk
\repository\projectA\branches
\repository\projectA\tags

\repository\projectB\trunk
\repository\projectB\branches
\repository\projectB\tags

但是,我的问题与上述安排无关,因为关于这方面已经有一百个关于此的问题。

相反,我的问题是远程存储库如何与我想要的组织一起工作以及TortoiseSVN如何使用它。我特别使用xp-dev,但这个问题适用于我看到的其他远程SVN存储库(如编码)。

我没有看到创建存储库的方法,只有“项目”。因此,我对“项目”的术语与术语“远程存储库”之间的区别感到困惑,因为就我而言,只关注“远程项目”。

所以考虑到我想像上面所描述的那样安排我的存储库,我应该在xp-dev(“projectA”和“projectB”)或单个项目上创建 2 项目(比如说“foo”) “)中有2个子文件夹?

2 个答案:

答案 0 :(得分:2)

让我们看看这是否有帮助:Subversion 存储库是响应svn客户端命令的deamon / server进程。此外,可通过单个服务器访问的整个内容可视为存储库

项目只不过是整个subversion托管内容中的一个简单文件夹。

事实上,这就是你如上所述使用布局的原因:如果你想拥有不同的分支或标签,你可以将整个项目“复制”到tags下的新位置或{ {1}}文件夹,“创建”一个独立的项目来托管分离的代码库。而且这也是为什么TortoiseSVN(和任何SVN客户端)不关心你的存储库布局的原因:他们只需要知道与你的本地文件相关的绝对远程URL,并且它们绝对没问题。

通常,为了在单个SVN存储库中拥有多个项目,您可以为每个项目创建一个基本文件夹,然后为您已经知道的正常布局创建,例如:

branches

由于没有颠覆“项目”正式定义这样的东西,只需将它们视为xp-dev逻辑实体并创建两个独立的项目,每个项目一个: - )

编辑:更新以明确说明建议是什么

答案 1 :(得分:1)

另一个回复是正确的。在示例中,您放置一个“项目”只是另一个文件夹。

但是,让我在Codesion上下文中展开它,就像你提到的代码。:

你可以有一个代码项目,有一个存储库....所以你可以拥有: (CompanyProjectX只是这里的一个文件夹)

MyCodesionProjectRepo
  |
  |\-> CompanyProjectA
        |
         \trunk
         \branches
         \tags
  |\-> CompanyProjectB
        |
         \trunk
         \branches
         \tags

或者你也可以拥有2个代码项目(ea带有它自己的回购):

MyCodesionProjectRepoA
   |
    \trunk
    \branches
    \tags

MyCodesionProjectRepoB
   |
    \trunk
    \branches
    \tags

根据其他答案的建议,根据您的公司/组织项目

创建存储库(或代码项目)可能会更好

喝彩!

托纳