From: David Abrahams Date: Mon, 06 Apr 2009 09:09:32 GMT Subject: Re: git diff bug? Message-ID: <1BF9172A-BE91-4D1C-932A-EB9FD79BA402@boostpro.com> In-Reply-To: <20090404014527.GA13350@coredump.intra.peff.net> On Apr 3, 2009, at 9:45 PM, Jeff King wrote: > On Fri, Apr 03, 2009 at 09:10:42PM -0400, David Abrahams wrote: > >> 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