1

我想知道当项目或分支完成(永远不会再更改)或被放弃时,推荐的策略是什么。

如果是项目,我应该:

  • 保持原状
  • 有一个存储库根文件夹,所有项目在完成/放弃时都会移动到其中
  • 只需将文件夹重命名为“CLOSED - 项目名称”
  • 将其移至包含所有已关​​闭项目的新存储库(我认为这不是一个好主意,因为我会丢失所有历史记录)
  • 另一个解决方案?

如果是分支机构,我应该:

  • 保持原状
  • 将其移动到名为 CLOSED 或 ABANDONED 的分支内的文件夹中
  • 将分支重命名为“已关闭 - 分支名称”
  • 另一个解决方案?
4

3 回答 3

1

You can just delete it. All the history will be retained inside the repository - the repository (almost) never forgets.

You can access it using the command line tools by specifying a peg revision:

svn command item@PEG-REV

In TortoiseSVN you can go back in time by setting the peg revision using this button:

Repo-Browser

If you don't know the correct peg revision, use the log to find it.

于 2012-10-15T12:10:05.693 回答
0

我不喜欢从 Subversion 中删除旧项目。尽管很多人说它们将永远存在于历史中,但事实是它确实无法被发现,因为您必须开始随机选择过去的日期才能找出项目在哪里以及何时被删除。如果您不知道要查找的确切名称,那么在 Subversion 中查找已删除的项目真的很重要。

我更喜欢在 SVN 中创建名为“存档”的顶级目录的不同策略。任何旧项目都移到那里,这样您就保留了旧项目不再出现在主干中的优势,但是如果您需要查阅旧项目的源代码,那么很容易找到,并且它将旧的已失效项目保留在一个地方。

在我的情况下,存储库结构是这样的:

/trunk
/tags
/branches
/archive
  /projects
于 2012-10-16T10:38:46.790 回答
0

我建议使用适当的标记方法来跟踪最新的项目/分支状态。即使分支历史记录在被删除后保存在存储库中,有时也很难(或者只是需要很长时间)使用peg revisions.

至于我,我使用细粒度标记方法,可以通过下图来说明(在这里你可以找到代表相同原理的更详细的图):

标记方法

正如您所看到的,它使用了构建存储库的特定约定。标签目录将有以下子目录:

/tags
    /builds
        /PA
        /A
        /B
    /releases
        /AR
        /BR
        /RC
        /ST

PA表示pre-alpha A 表示alpha B 表示beta AR表示alpha-release BR表示beta-release RC表示候选版本 ST表示稳定

按照所描述的约定,您的存储库中将具有特定的目录结构:

/tags
        /builds
            /PA
                /1.x.0
                /1.x.3
                /2.x.0
            /A
                /1.x.1
                /1.x.4
                /2.x.1
            /B
                /1.x.2
                /1.x.5
             -> /2.x.2 <-
        /releases
            /AR
                /1.0.0
            /BR
                /1.0.1
            /RC
                /1.0.2
                /1.0.3
            /ST
             -> /1.0.4 <-

预计在您删除分支之前,您在相应的目录中创建标签。然后,您可以轻松地在例如目录tags/builds/Btags/releases/ST目录中找到已删除分支的最新状态。

于 2012-10-16T08:16:01.563 回答