首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >svn:使用vim合并冲突

svn:使用vim合并冲突
EN

Stack Overflow用户
提问于 2013-10-30 09:49:00
回答 1查看 4.8K关注 0票数 12

我正在试着看看如何使svn中的合并变得容易。

这个页面提到可以使用外部工具进行合并。vim可以用作外部合并工具吗?

所需额外经费:

  1. 文件应水平/垂直分割,以提供更好的视图。
  2. 窗口标题应适当设置。

例句:如在

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-30 09:49:00

步骤1:

保存以下脚本,例如: merger.sh:

代码语言:javascript
复制
#!/bin/sh
#


BASE=${1}
THEIRS=${2}
MINE=${3}
MERGED=${4}
WCPATH=${5}

vimdiff $MINE $THEIRS -c ":botright split $MERGED" -c ":diffthis" -c "setl statusline=MERGED | wincmd W | setl statusline=THEIRS | wincmd W | setl statusline=MINE"

第2步:

编辑.subversion/config并添加以下行:

代码语言:javascript
复制
merge-tool-cmd = /path/to/merger.sh

第3步:

当您在svn合并命令中获得以下选项时,选择选项'l‘。这是为了启动外部工具来解决冲突。

代码语言:javascript
复制
Conflict discovered in 'main.h'.
Select: (p) postpone, (df) diff-full, (e) edit,
        (mc) mine-conflict, (tc) theirs-conflict,
        (s) show all options: l

步骤4:现在vim将以不同的方式打开,包含3个文件--我的,他们的和合并的。在合并的文件中进行所需的更改,然后进行保存和退出(:wqa)。

第5步:

下面的选项将再次出现,选择“r”(以接受合并的版本)。

代码语言:javascript
复制
Select: (p) postpone, (df) diff-full, (e) edit,
            (mc) mine-conflict, (tc) theirs-conflict,
            (s) show all options: r
票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19678860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档