Re: git diff bug?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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




--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]