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

“解决我对SVN的困惑”;“项目”;在远程存储库上,svn,tortoisesvn,Svn,Tortoisesvn,我一直在了解SVN的最新情况,并对其基本知识有了一些了解。然而,有一点我很困惑,我想帮助理解 我在StackOverflow上的其他地方找到了链接,我已经阅读了很多这本很棒的指南: 特别是,我采纳了他们的建议,将我的存储库与我的3个项目安排在一起,如下所示: \repository\projectA\trunk \repository\projectA\branches \repository\projectA\tags \repository\projectB\trunk \reposit

我一直在了解SVN的最新情况,并对其基本知识有了一些了解。然而,有一点我很困惑,我想帮助理解

我在StackOverflow上的其他地方找到了链接,我已经阅读了很多这本很棒的指南:

特别是,我采纳了他们的建议,将我的存储库与我的3个项目安排在一起,如下所示:

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

\repository\projectB\trunk
\repository\projectB\branches
\repository\projectB\tags
然而,我的问题不是关于上面的安排,因为已经有100个问题了

相反,我的问题是远程存储库如何与我想要的组织协同工作,以及TortoiseSVN如何与之协同工作。我特别使用xpdev,但这个问题适用于我看到的其他远程SVN存储库(比如codesion)

我没有看到创建存储库的方法,只有一个“项目”。因此,我对“项目”的术语和“远程存储库”的术语感到困惑,因为据我所知,只有“远程项目”


因此,考虑到我想像上面所述那样安排我的存储库,我应该在xp dev上创建2项目(“projectA”和“projectB”)还是单个项目(比如“foo”)有两个子文件夹吗?

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

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

事实上,这正是您使用所述布局的原因:如果您想拥有不同的分支或标记,您可以将整个项目“复制”到
标记或
分支
文件夹下的一个新位置,“创建”一个单独的项目来承载该单独的代码库。这也是为什么TortoiseSVN(和任何SVN客户端)都不关心您的存储库布局的原因:他们只需要知道与本地文件关联的绝对远程URL,而且他们完全可以使用它

通常,为了在单个SVN存储库中有多个项目,您需要为每个项目创建一个基本文件夹,然后创建您已知的常规布局,如:

svn_root/
   |
   |\-> projectA
   |       |
   |        \->trunk
   |        \->tags
   |        \->branches
   |
    \-> projectB
           |
            \->trunk
            \->tags
            \->branches
由于没有subversion“项目”的正式定义,只需将它们视为xp开发逻辑实体,并创建两个独立的项目,每个项目一个:-)


编辑:更新以明确说明建议内容

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

但是,让我在您提到的Codesion上下文中对其进行扩展:

您可以有一个CodeVision项目和一个存储库。。。。因此,您可以: (此处CompanyProjectX只是一个文件夹)

或者您也可以有2个Codesion项目(ea拥有自己的回购协议):

正如另一个答案所建议的那样,可能最好为您的公司/组织项目创建一个存储库(或Codesion项目)

干杯


Tona

更具体地说,你是说在我的远程存储库上创建两个项目,还是一个项目?我是说最好创建两个独立的项目。如果您正在使用诸如xp dev之类的工具,这就更有意义了,因为“项目”是有意义的实体,因为它们用于为您的版本化内容提供管理功能或视图。虽然我同意此答案中的所有内容都适用于Subversion,但OP的问题是关于适用于Codeversion的项目(和其他远程存储库)尤其如此。CodeVersion中的项目可以包含1个Subversion/GIT/CVS存储库。将Subversion存储库添加到CodeVersion项目后,可以将其组织为Subversion“项目”,如本答案中所述。
MyCodesionProjectRepo
  |
  |\-> CompanyProjectA
        |
         \trunk
         \branches
         \tags
  |\-> CompanyProjectB
        |
         \trunk
         \branches
         \tags
MyCodesionProjectRepoA
   |
    \trunk
    \branches
    \tags

MyCodesionProjectRepoB
   |
    \trunk
    \branches
    \tags