2

我以为我对 Subversion 非常熟悉,但现在我认为微不足道的事情让我感到难过。

首先,我从特定版本的主干上创建了一个分支,如下所示:

# svn copy http://server/project/trunk@13708 http://server/project/branches/b2012_03
Committed revision 13717

这似乎很高兴。请注意,我的主干有额外的提交,因此 13717 提交的修订版和我需要分支出特定版本。无论如何它在那里。

接下来,我想从分支结帐,但恰好在 13708(创建它的位置)而不是 13717 ......这对我的构建过程很重要,不要问它与问题无关。

首先,我尝试了这个(使用子目录'conf'作为测试):

# svn co http://server/project/branches/b2012_03/conf conf
yada yada ...
Checked out revision 13717.

# cd conf
# svn info
Path: .
Working Copy Root Path: C:\Users\Brett\conf
URL: http://server/project/branches/b2012_03/conf
Repository Root: http://server/project
Repository UUID: f3edbe5d-cdcd-4b35-8400-34e3054bdd74
Revision: 13717
...

这不是我需要的,我需要在 13708 进行修订...清除“conf”并尝试以下操作:

# svn -r 13708 co http://server/project/branches/b2012_03/conf conf
yada yada ...
Checked out revision 13708.

嘿,这看起来令人鼓舞,直到...

# cd conf
# svn info
Path: .
Working Copy Root Path: C:\Users\Brett\conf
URL: http://server/project/trunk/conf
Repository Root: http://server/project
Repository UUID: f3edbe5d-cdcd-4b35-8400-34e3054bdd74
Revision: 13708

修订是正确的,但请注意 URL。尽管从分支签出,但它说“主干”而不是分支。

两个问题:

这怎么可能?如何从分支签出特定版本?

4

1 回答 1

3

您的分支在 不存在r13708。因此,您没有任何东西可以检查。

您的构建系统的任何部分都取决于此行为,可能需要修复。

于 2012-06-21T02:47:46.090 回答