如何组织SVN的项目目录?

时间:2010-10-06 11:51:08

标签: svn

我是SVN的新手。我应该如何在我的计算机上组织项目目录结构(不在REPOSITORY中)?它应该与存储库(主干,标签,分支)中的相同,还是通常使用不同的结构?感谢。

4 个答案:

答案 0 :(得分:3)

我倾向于使用的格式是只检查我需要的分支,标签或主干。 当然,如果出于某种原因我需要多次检查多个分支,甚至多个分支。

我不会检查整个项目的主干分支和标签 - 这是不正常的。我喜欢鼓励多个分支进行实验和工作,以及每个机会的标签。当我对其中的1%感兴趣时,将所有这些都降下来只会浪费每个人的时间。

为简单起见,我倾向于将所有这些工作副本放在同一个文件夹中,命名为我可以识别它们:

例如:

c:\development
          \EmergencyFix-UICrash-V1.8
          \Refactoring-ServerComponent
          \NewCustomerUI

在每个工作副本下,它是存储库中显示的分支的直接副本。重要的是,您只需签出一个分支,并在磁盘上的工作副本中具有正确的结构。如果你必须手动移动东西,或将东西复制到特定的位置,或者将不同的东西检查到不同的位置,那么很多构建信息都是与你的源代码分开进行的(而且它通常只在你的头脑中,维护恶梦!)。把它们放在一起,让你的源代码控制工具为此做繁重的工作,你可能有机会控制你的构建。

如果你真的不能忍受镜像分支结构的工作副本,可以利用svn:externals以可控的方式缩小差距。虽然我知道有些人认为他们是反模式,但我觉得他们在以理智的方式使用时提供了宝贵而强大的选择。

但要注意......有一个工作副本,其中包含二十多个其他存储库检出,其中没有一个在多个位置保证稳定,并且更改不可预测的随机子目录不是以合理的方式使用外部...

答案 1 :(得分:2)

从repo签出后,存储库结构将复制到您的磁盘上。您唯一应该决定的是实际的根目录名称,就是它。

答案 2 :(得分:1)

我想说这完全取决于应用程序以及您如何使用它。如果您正在处理不同的分支,则可以检出整个存储库以轻松地提交每个分支。

如果您只有读取权限,则应该只检查您感兴趣的分支(除非有几兆字节,否则不会造成伤害。)

您可以询问使用同一项目的其他人,他们如何组织他们的环境。例如。对于TYPO3 CMS,您可以将符号链接指向源文件夹,从而轻松检出整个存储库。对于其他应用程序,这肯定是不可能的。

答案 3 :(得分:0)

您可以根据需要使用svn switch使本地目录结构与存储库中的目录结构不同。