c# - 我如何通过使用 K&R 而不是 B&D 作为编码标准来证明我与 Git 的冲突最少?

标签 c# git coding-style merge-conflict-resolution

Git 很聪明,会“跟随”历史上的变化,让 merge 更容易,自动 merge 对我来说更多。冲突由未更改的更改周围的线描绘。使用 K&R,您不会像在 B&D 中那样出现只有“{”的模棱两可的行。我将如何测试 Git 在围绕更改的行方面的上下文敏感性限制?

我想避免解决我可能不需要的冲突。但我需要一些方法来测试通过切换到 K&R 以及它带来的额外上下文我将节省多少潜在冲突。

到目前为止,Git 非常聪明,不会被琐碎的例子所愚弄。

感谢任何帮助。提前致谢。

最佳答案

所以这是目前为止我发现的最接近的证据。
http://git.661346.n2.nabble.com/Bram-Cohen-speaks-up-about-patience-diff-td2277041.html

这封电子邮件正在讨论 Git 中“耐心”算法的目的。在其中,Bram 解释了多余的匹配行如何产生令人讨厌的冲突,这些冲突很难解决,但仅限于涉及大补丁的相当复杂的 merge 。换句话说,简单的人为示例将无法显示此行为。

虽然他确实也提到了诸如 End 之类的东西会影响结果,但可以推断在它自己的行上放置左大括号会增加多余的匹配行的数量,从而可能导致这些冲突的可能性更大。

我会说这不是铁定的,但它确实为这个理论提供了一些可信度。

So 'unique lines' is a simple cross-language proxy for 'unimportant lines'.

在这次讨论中,这句话对我来说很突出,因为我们基本上是在匹配我们认为应该给我们上下文的重要行,但是大括号本身并不重要,也没有提供任何上下文。

关于c# - 我如何通过使用 K&R 而不是 B&D 作为编码标准来证明我与 Git 的冲突最少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5560462/

相关文章:

c# - 浏览控件和组件

android - 从 .pack 文件中提取源代码

debugging - 面对看似无法解决的有时间限制的情况该怎么办?

c# run方法来自抽象和继承者的单个实例

java - 在私有(private)实用程序类构造函数中使用的首选 Throwable 是什么?

c# - 修剪 url 字符串。 C#

C# Excel 生成

c# - 使用默认链接的 web api 版本控制

git - git 无法检测到 IntelliJ 新的类文件

ruby - 如何为 rugged 的​​提交选择合适的差异/补丁