svn - CVS 和 Subversion 可以设置为忽略合并中的空格吗?

标签 svn version-control cvs whitespace

CVS 和 Subversion 都有方便的合并功能,这样当您更新已修改的源文件时,它就会合并其他人对同一文件所做的更改。

但是,如果您的更改与其他更改不兼容(通常如果您都更改了代码的相同部分),则会产生冲突。这两段源代码都将包含在合并的文件中,您需要手动找出要保留的更改。到目前为止一切都很好。

我的问题是,我们中的一些人使用不同的开发环境(Netbeans 与 vi,如果您必须知道的话),并且 Netbeans 具有自动缩进功能,可以重新缩进代码。因此,当我们合并更改时,有时会遇到巨大的冲突,这些冲突大多是由缩进的简单更改引起的,而不是对代码的真正更改。通常,这些会产生数百行明显的冲突,必须手动解决,但通常它们会归结为只有几行实际更改。当某人的编辑器将 UNIX 更改为 Windows 换行符或反之亦然时,也会发生类似的情况。

那么 - 在比较两个版本时,我可以设置合并来忽略这些“冲突”吗? Diff 有 --ignore-space-change 或 -b 选项,我希望在 cvs 或 svn 中具有本质上相同的功能。我们在不同的项目中使用每种工具,因此我很高兴获得其中一个或两个工具的答案。

最后两个注意事项:

  • 显然,合并过程必须任意选择在合并文件中使用哪个版本的空白。我对此表示同意 - 我们以后随时可以重新格式化它。
  • 我可以通过更加自律和更频繁地检查来避免这种情况 - 得到承认和理解。但我并不完美。

最佳答案

对于SVN:在命令行工具中,有一个选项-x,您可以将其设置为“b”或“w”忽略空间变化。所有空间。
您还可以提供第三方工具来进行合并。因此,如果您有一个忽略空格的合并,则可以使用这个。 TortoiseSVN 一如既往,是所有参数的前端,因此它也支持忽略空格。

svn merge命令描述here 。您需要的选项是--diff3-cmd

关于svn - CVS 和 Subversion 可以设置为忽略合并中的空格吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/193271/

相关文章:

java - 下载 Eclipse 的源代码

cvs - 'cvs logout' 怎么不起作用?

version-control - SCM代表什么?

git - 我怎样才能知道有多少 master 中的提交不在我的分支中?

windows-7 - 如何解决 CVS 错误 : cannot rename file CVS/Entries. Extra.Backup 到 CVS/Entries.Extra:地址错误

svn - 如何分离本地 SVN 工作副本?

git - `git fetch origin master:master` 是什么意思?

macos - SVN 1.8.4 libserf-1.1.3.0.dylib

svn - 如何在 subversion 中管理多个发布分支?

svn - 取回已删除的 .svn 文件夹