【问题标题】:vc-diff of git-based file in emacs shows two versions of the file, rather than just diffsemacs 中基于 git 的文件的 vc-diff 显示文件的两个版本,而不仅仅是差异
【发布时间】:2012-09-14 11:38:20
【问题描述】:

如果我在 git repro 的编辑文件中运行 vc-diff,我会生成一个新缓冲区,它显示的内容比我预期的要多。它将文件的 HEAD 版本的每一行标记为已删除,并将文件工作副本的每一行标记为已添加,所以基本上我看到了该文件的两个完整版本。

这不是很有用!

如果我在 dos 或 git bash 中运行 git diff path\to\edited\file,我会得到我期望 vc-diff 给我的东西:只有实际添加和删除的行的简短差异。

我安装了 magit,当我查看其中的差异时,我遇到了同样的问题。

这是在运行 emacs 24.1.1 的官方 windows 二进制文件的 windows 上。

【问题讨论】:

    标签: git emacs


    【解决方案1】:

    我敢打赌,您在编辑器中意外更改了行尾,或者有一个 core.autocrlf 设置为您更改了行尾。换句话说,它显示了差异,因为在一个版本中,行以 CRLF 结尾;另一方面,它们仅以 LF 结尾。

    我会查看您的编辑器设置,看看 git config --global core.autocrlf 返回什么。

    【讨论】:

    • 我认为你是对的。 magit 和 vc-git 似乎忽略了我所有的 git 配置设置——当我提交时,magit 给了我一个无意义的电子邮件地址,而不是我设置的 --global 或当前复制的本地地址。看来我需要问一个不同的问题。
    • @tenpn 是的,因为我根本不知道vc-diff,所以恐怕我无法帮助你,但那肯定可以。
    • 在这里询问为什么 emacs 忽略了我的 git 配置:stackoverflow.com/questions/12424470/…
    猜你喜欢
    • 2020-01-18
    • 2016-03-07
    • 1970-01-01
    • 2017-06-06
    • 2014-04-25
    • 1970-01-01
    • 2020-11-11
    • 1970-01-01
    相关资源
    最近更新 更多