我以为我对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。尽管从分支机构退房,它仍然说“主干”而不是分支。
两个问题:
怎么可能? 如何从分支机构签出特定版本?
答案 0 :(得分:3)
您的分支机构在r13708
处不存在。因此,你没有那里来检查。
您的构建系统的哪一部分依赖于此行为可能需要修复。