Re: git diff bug?
flat view
From: David Abrahams <hidden>
Date: 2016-06-15 22:46:33
On Apr 3, 2009, at 9:45 PM, Jeff King wrote:
On Fri, Apr 03, 2009 at 09:10:42PM -0400, David Abrahams wrote:quoted
Please see http://github.com/techarcana/elisp/commit/63d672c296316c85690085930b05c642b88a9978#diff-2 Note how the @@ ... @@ clauses are followed by text from the previous line's comment. Not sure, but this strikes me as a line-ending issue. custom.el was originally built on a linux machine; now I'm using a Mac.This is as designed. The original file ("git show e7dd7db") contains (my numbering seems different than what git produces; it is produced by "nl" which is maybe treating some line endings differently earlier in the file): 102 '(mm-attachment-override-types (quote ("text/x-vcard" "application/pkcs7-mime" "application/x-pkcs7-mime" "application/pkcs7-signature" "application/x-pkcs7-signature" "image/*")) nil nil " 103 Added image/* to display attached images inline") 104 '(mm-discouraged-alternatives (quote ("text/html" "text/richtext" "image/.*")) nil nil " 105 The documentation for this variable says it all") 106 '(mm-inline-text-html-with-images t) 107 '(muse-project-alist (quote (("WikiPlanner" ("~/plans" :default "index" :major-mode planner-mode :visit-link planner-visit-link))))) 108 '(org-agenda-files (quote ("~/organizer.org"))) The changed text in your diff starts on 108. So we show 105-107 as context lines. The text after the @@ clause is the "function header"; this is equivalent to "-p" in GNU diff. It's basically a guess about the most interesting context to show, and looks alphabetic characters that are left-aligned. In the case of lisp, it really isn't all that interesting (and what looks so weird is that your file contains a lot of "\nSome text" so the text strings are all left-aligned. You can customize the regex used to guess at the function header. See "defining a custom hunk-header" in "git help attributes".
Hmm, so I tried sticking this .gitattributes in my repo
*.el diff=el
[diff "el"]
xfuncname = "^(\\(def[a-z]+ .+)$"
and git diff barfed with
"el"] is not a valid attribute name: .gitattributes:2
"^(\\(def[a-z]+ is not a valid attribute name: .gitattributes:3
What am I missing? I tried googling, but from what turns up for me, it doesn't look like anyone else has ever tried to use this feature!
TIA,
--
David Abrahams
BoostPro Computing
http://boostpro.com