我是Subversion的新手,所以如果这是一个愚蠢的问题我现在不知道:
我继承了一个平面结构的subversion存储库,没有/ trunk / tags / branches顶级)。
我想重新构建它,以便它遵循
/trunk
/tags
/branches
的布局。
这可能吗?
答案 0 :(得分:21)
特别是如果您使用的是Subversion 1.4,请参阅此答案以获取替代方法:
svn: replace trunk with branch
否则,move
是实现重组的最简单方法。正如@JoelFan所说,move
将对目录起作用,因此您可以在没有工作副本的情况下执行此操作:
svn mkdir --quiet --message "Restructuring" http://svnhost/svnrepos/trunk
svn mkdir --quiet --message "Restructuring" http://svnhost/svnrepos/tags
svn mkdir --quiet --message "Restructuring" http://svnhost/svnrepos/branches
然后,为您的来源提供适当的move
命令:
svn move --message "Restructuring" http://svnhost/svnrepos/dir01 http://svnhost/svnrepos/trunk/dir01
注意:如果现有存储库具有如下结构:
/repos
/projectA
/branches
/tags
/trunk
/projectB
/branches
/tags
/trunk
我建议保留这种方式 - 如果由于某种原因你需要这样做,它会将项目分成单独的存储库非常简单。
答案 1 :(得分:4)
答案 2 :(得分:4)
如果你使用TortoiseSVN:
/trunk /tags /branches
)TortoiseSVN > Repo-Browser
,只需选择所有(/trunk /tags /branches
除外)并拖放到/trunk
目录(全部在Repo-Browser窗口内)Ok > Submit > Ok
答案 3 :(得分:1)
是。只需创建所需的顶级结构,使用svn add添加这些目录。签入(svn ci)然后用svn move将东西移动到所需的位置。中间的签到可能甚至没有必要,但这就是我做的方式。
答案 4 :(得分:0)
是。只需使用svn move命令!