我执行了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 安全吗?
答案 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
(推迟)那样留下文件痕迹。