SVN:将待处理更改移动到新分支

22

源代码存在本地修改,这些修改不能提交到主干,而是应该提交到一个尚不存在的分支。

这是svn info显示的内容:

Pfad: .
URL: svn://10.8.0.1/fx_dev
Basis des Projektarchivs: svn://10.8.0.1/fx_dev
UUID des Projektarchivs: 6279aca8-1485-11de-bcb4-29f147300bdb
Revision: 859
Knotentyp: Verzeichnis
Plan: normal
Letzter Autor: andy_svn
Letzte geänderte Rev: 859
Letztes Änderungsdatum: 2010-12-02 15:08:11 +0100 (Do, 02. Dez 2010)

(虽然是德语,但我猜你仍然能理解)

如何创建一个分支并将待定更改移动到该分支上?

3个回答

44

通过以下方式创建分支:

svn copy URL/trunk URL/branches/B_NAME -m"- New Branch"
进行一个
svn switch URL/branches/B_NAME

然后提交你的更改

这是因为复制发生在服务器上,而不是客户端上。当切换到新分支时,svn switch命令不会覆盖本地更改。


我现在尝试了 svn copy svn://10.8.0.1/fx_dev/trunk svn://10.8.0.1/fx_dev/branches/sidebar -m"- New Branch" - 这与我在阅读文档后尝试的命令类似。但是我收到了以下错误信息:svn: 路径 »svn://10.8.0.1/fx_dev/trunk« 在版本 863 中不存在(错误消息从德语翻译,可能与英语不完全相同)。 - eflorico
我甚至尝试了这个:https://dev59.com/YkXRa4cB1Zd3GeqPv_AH 没有改善 :-( - eflorico
服务器的目录结构完全错误是可能的吗?这份文档(http://www.abbeyworkshop.com/howto/misc/svn01/)指出应该设置目录结构,但显然可以用不同的方式完成?仓库和项目之间有什么区别? - eflorico
好的,就是这样了。SVN服务器端的设置完全搞砸了 :D - eflorico
@khmarbaise为什么不直接从WC复制/提交到一个新分支呢?我从未尝试过,但如果像svn help copy所说的那样是可能的,那将会更加容易,不是吗? - Chris

1

1
这会创建新的分支吗?还是他必须使用svn复制创建分支,然后调用svn switch? - Scott
1
你所引用的Subversion书籍的URL是5年前的版本。Google有一个讨厌的习惯,总是会显示最老的SVN Book版本。在使用Google和它的Subversion Book链接时要小心。 - jgifford25

1

我现在解决了问题:服务器端的目录结构完全错误,缺少TTB(主干、标签、分支)目录。我改变了这个,现在一切都好了!

我不知道主干、标签和分支是仓库中每个人都可以添加和删除的实际目录,我一直以为它们是由SVN不可变地提供的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接