在本地存储库上创建 SVN 分支
Posted
技术标签:
【中文标题】在本地存储库上创建 SVN 分支【英文标题】:Creating SVN Branch on Local Repository 【发布时间】:2012-07-10 20:59:46 【问题描述】:我正在尝试在我的计算机上的本地存储库上创建一个 svn 分支。根据我对svn book 中所读内容的理解,我应该首先创建分支目录(使用 svn mkdir),然后从我的存储库复制到我的工作副本的分支目录中(这是正确的吗?)。
这里是我的存储库和工作目录的位置:
我的本地存储库:“SVN/repo”。 我的工作副本:“SVN_WORK_COPY/repo/trunk” 我的分支目的地:“SVN_WORK_COPY/repo/branches/my_code_branch”
当我输入时:
svn copy SVN/repo SVN_WORK_COPY/repo/branches/my_code_branch -m "Created first branch"
我收到以下消息:
svn:本地、非提交操作不接受日志消息或 修订属性
当我输入时:
svn copy SVN/repo SVN_WORK_COPY/repo/branches/my_code_branch
我收到以下消息:
svn: 'SVN\repo' 不是工作副本
当我输入时:
svn copy SVN_WORK_COPY/repo/trunk SVN_WORK_COPY/repo/branches/my_code_branch -m "First Branch"
我又收到了这条消息:
svn:本地、非提交操作不接受日志消息或 修订属性
最后,当我输入时:
svn copy SVN_WORK_COPY/repo/trunk SVN_WORK_COPY/repo/branches/my_code_branch
我明白了:
一个 SVN_WORK_COPY/repo/branches/my_code_branch\trunk
我的文件(code.txt)在这个主干目录中。但是,我非常怀疑我是否正确创建了一个分支,因为
-
不允许我创建消息(使用 -m)
我不想要“my_code_branch”目录中的“trunk”目录
我没有看到消息“已提交修订版 4”(我在修订版 4
目前)
那么我哪里做错了?
【问题讨论】:
【参考方案1】:不,这不是您创建分支的方式。你先在 SVN repo 中制作一个主干的副本(分支就是这个副本):
svn copy http://the.url/theProject/trunk http://the.url/theProject/branches/my_new_branch -m "created new branch"
然后要么将当前工作副本切换到这个新分支(但你应该将目录重命名为除了主干之外的其他名称,因为这会造成混淆),或者,如果你想在本地拥有主干和分支,则签出分支到另一个位置。
【讨论】:
对于我计算机上的本地存储库,我是否按照您的建议使用“http”? 您使用与所有其他命令相同的协议。可能是file://
、http://
、https://
或svn://
。这完全取决于您如何安装 SVN。如果您没有任何 SVN 服务器,则为 file://
。
我不断收到错误消息“svn: Source 和 dest 似乎不在同一个存储库中 (src: 'file:///svn/repo'; dst 'file://SVN_WORK_COPY/repo /branches/my_code_branch')" 键入后:svn copy file:///svn/repo file:///SVN_WORK_COPY/repo/branches/my_code_branch -m "我的第一个分支"。我也按照你的建议尝试了“file://”,但我得到了同样的错误。
重新阅读我的答案。这两个 URL 都是存储库中的 URL。第一个是 repo 中主干的 URL。第二个是repo中分支的URL。
非常感谢您的帮助 JB Nizet!它工作: svn copy file:///svn/repo/trunk file:///svn/repo/branches/my_code_branch -m "First Branch" 。我收到消息“提交的修订版 5”【参考方案2】:
使用这个命令,消息应该用单引号引起来。
svn copy https://example.com/svn/repo/trunk https://example.com/svn/repo/branches/new_branch -m 'creating new branch'
【讨论】:
【参考方案3】:试试:
svn copy -m "creating" http://10.4.55.7/svn/repos/myproject/trunk http://10.4.55.7/svn/repos/myproject/branch/sss
注意-m "creating"
可以放在行尾。
【讨论】:
以上是关于在本地存储库上创建 SVN 分支的主要内容,如果未能解决你的问题,请参考以下文章