2009-04-21 70 views
5

我见过SVN中的仓库,它至少没有在客户端上创建本地干线,分支和标签文件夹。那么,SVN使用的默认文件夹(我正在使用乌龟)还是什么?我不明白为什么有些人拥有这些文件夹,但有些人并没有在某些存储库的实现中。SVN默认文件夹 - 必须使用它们吗?

+1

否 - 你最好不要使用它们,而应该使用Git。 (Ok,mod me down ;-) – Hejazzman 2009-04-21 02:53:09

+1

这个Git vs SVN的东西正在变得有趣,考虑到过去每个人都对VSS。 :P – 2009-04-21 02:59:55

+0

我认为这是git vs其他人 – 2009-04-21 03:03:15

回答

11

正如其他人所说的,它不需要有干线/分支/标签。这些文件夹对于颠覆没有特别的意义,如果它符合您的需求,这只是您可以使用的最佳做法。

但是既然你提到了TortoiseSVN,有一个小细节:当你试图提交到/ tags的子文件夹时,龟龟会发出警告。它强制标签一旦创建就不会被修改(另一种最佳做法)。


更新(在您的评论的回应):

的最佳做法,说,你应该有“主干”,“树枝”,并在你的仓库“标签”的文件夹。一种方法(可能是最常见的一种)使用这些文件夹是这样的:

  • 干线是其中主要的发展发生。
  • 标签包含重要修订/版本的源代码(例如1.0,1.1,2.0等版本)的快照(副本)。
  • 分行用于维护旧版本,例如,您的产品在版本2上,那么您需要修复版本1.0中的错误(然后您可以将1.0标签复制到新分支并在那里进行修改)。

现在要颠覆,所有文件夹(trunk,tags,branches)都是“普通”文件夹。他们现在有特殊的含义,颠覆不会对他们有任何不同(这意味着你可以修改你在“/tags/1.0”中的内容)。

TortoiseSVN尝试通过在尝试提交标签时发出警告(因为通常希望保留标签,因为它们能够随时重建产品的旧版本)来实施最佳做法。

4

由于在Subversion中标记或分支的唯一方法是在其他树中创建副本,省略标准trunk/tags/branches目录,从而防止您在“外部”位置创建存储库副本“你的项目目录。如果您想要在没有默认目录的情况下进行标记或分支,您最终只需创建它们并移动您的项目即可。

6

绝对没有要求。许多公司都认为它是最佳实践,并且有很多软件环境都适用于干线/分支目录,并且对于来自CVS的人来说似乎更为熟悉。

一个例子,它不够理想是在Subversion中存储网站。我工作过的几家公司有一个Devel和Live目录。工作在Devel目录中完成,并在绿灯亮起时合​​并到Live目录中。正如Greg所说,尽管你肯定希望在根目录下有一些目录,但是对特定的结构没有要求。

0

这不会回答你的问题,(如果已经有其他人),但是如果你只想要中继线,只需指定当你做初始的get/checkout。

相关问题