0

我对以下情况的 svn merge 有疑问:

repo/A 是主干。它有两个子分支调用 repo/B 和 repo/C

  1. 假设最初 repo/B 有修订版 10。
  2. repo/C 将 foo.c 合并到 repo/A,修订版变为 11。
  3. repo/B 的工作副本提交 bar.c 到 repo/B,revision 变为 12。注意此时 repo/B 没有 foo.c。我们称之为“NO-FOO-STATE”。
  4. 现在 repo/B 从 repo/A 合并并得到 foo.c,repo/B 中的修订版变为 13。

我的问题是:

  1. 所以现在如果我从 repo/B 中查看第 12 版。我还将在我的工作目录中获取 foo.c,对吗?我如何(或我能够)签出与“NO-FOO-STATE”内容完全相同的第 12 版?

  2. 如果我使用以下命令 sudo 代码:

svn 删除回购/B

svn 复制 repo/B@12 repo/B

我尝试通过删除 repo/B 和 svn copy repo/B@12 来恢复到修订版 12。新还原的 repo/B 是否还有 foo.c?如果是,我怎样才能恢复到“NO-FOO-STATE”。

非常感谢。

4

1 回答 1

1

如果我从 repo/B 查看第 12 版。我还将在我的工作目录中获取 foo.c,对吗?

不,您不会从 repo/B 获得 R12 中的 foo.c,仅在 R13 中

为了检查 repo-tree 的任何非 HEAD 版本,请使用 PEG-revisions 格式:

svn co URL@REV

于 2013-05-17T07:31:16.517 回答