如何中止当前活动的SVN合并?

时间:2018-05-03 18:21:37

标签: svn

我执行了SVN合并,而我对某些文件进行了未提交的更改。我忘记了未提交的更改,所以我想中止合并。注意到冲突后,SVN目前要求我从选项

中进行选择
Select: (p) postpone, (df) show diff, (e) edit file, (m) merge,
        (mc) my side of conflict, (tc) their side of conflict,
        (s) show all options: 

这些都不等同于" abort"从我所知道的(也没有任何选项显示(s))。我怎么退出这个? ctrl + z 安全吗?

2 个答案:

答案 0 :(得分:0)

从名称来看,我曾假设“(p)推迟”将循环冲突文件,要求我对每一个文件采取行动。相反,在搜索documentation(没有“推迟”的索引条目)后,我发现这是我能找到的最接近“中止”过程的第一步。

选择“推迟”根据合并更改工作副本中的非冲突文件,因此它不是真正的中止。但是,它将返回到命令提示符,其中包含工作副本中的三个附加文件

filename.working
filename.rOLDREV
filename.rNEWREV

对于发生合并冲突的每个文件filename。这来自SVN 1.7上述链接文档的第29页/ pdf第50页的“基本用法”部分。该文档指的是filename.mine而不是filename.working,因此显然这是版本之间的某种变化。

从此处开始,您可以使用命令行命令将工作副本返回到尝试合并之前的状态。例如,假设您尝试合并

$ svn merge -r NEWREV:OLDREV ^ / branches / testing /。

忘记您在testing中有未提交的更改后,从testing/filename分支的工作副本的根目录

。当冲突中断合并时,选择“(p)postpone”返回命令提示符。 testing/filename.mine是您要保留的文件 - 合并前处于工作副本状态的文件。将其移至您的主文件夹或类似的地方以便妥善保管。

工作副本中的大多数文件都与其OLDREV版本相同。

**注意*:此时,我已经写完了这个答案并尝试提交。 Stack Overflow向我展示了一个没有CAPTCHA框的CAPTCHA叠加层,因为我没有为它提供正确的JavaScript。我允许JavaScript并重新加载页面,这会擦除我尚未保存的其余答案,而且我无法重写它。

答案 1 :(得分:0)

q 选项将推迟所有剩余的冲突,并且不会像为每个冲突选择 p(推迟)那样留下文件痕迹。