Re: git diff bug?
- From
Michael J Gruber <git@drmicha.warpmail.net>
- Date
- Apr 6, 2009, 14:44 UTC
- Message-ID
- <49DA156A.1000105@drmicha.warpmail.net>
- In-Reply-To
- <1BF9172A-BE91-4D1C-932A-EB9FD79BA402@boostpro.com>
David Abrahams venit, vidit, dixit 06.04.2009 11:09:
Show 62 quoted lines
>
> 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!Well, I don't think anayone else has tried putting config lines into .gitattributes ;)
The "*.el" line goes into .gitattributes (or .git/info/a...), the other lines are config lines and thus goe into .git/config or .gitconfig.
Michael