git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: bug with .gitattributes diff and embedded NUL

From
Eric Blake <ebb9@byu.net>
Date
Dec 19, 2007, 14:19 UTC
Message-ID
<47692864.3090300@byu.net>
In-Reply-To
<7vve6vw5kg.fsf@gitster.siamese.dyndns.org>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
According to Junio C Hamano on 12/18/2007 11:40 PM:
Show 10 quoted lines
> Eric Blake <ebb9@byu.net> writes:
> 
>> Looking closer at .dotest/0001, the diff is indeed invalid, containing the
>> single line
> 
> That dataflow loses NUL.  Fixing
> rebase not to reuse the e-mailed patch dataflow is on my to-do list, but
> has been slipping.
> 
> I think you can use "rebase -m" to work this issue around.

Indeed, after learning about git-rebase -m and git-mergetool, adding the merge option alongside the diff option for the file in question, and teaching emacs that it should use emerge-diff-options "-a" so that it can handle embedded NUL, I was finally able to use git-mergetool to do a sane merge of the differences in the mostly-text file. Thanks!

But it raised some additional issues:

Is there a way to specify custom merge tools, rather than the current hard-coded list valid for merge.tool? For example, what if I prefer emacs' ediff driver over its emerge driver?

Using merge.tool of emerge leaves junk around when the merge is aborted. Before I edited emacs' emerge-diff-options, the subsidiary diff3 was failing because it treated the file to merge as binary even though git was trying to treat it as text. As a result, emerge left behind all of its command-line argument files (file.{BASE,LOCAL,REMOTE}.pid), and git did not clean any of them up.

- --
Don't work too hard, make some time for fun as well!
Eric Blake             ebb9@byu.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHaShk84KuGfSFAYARAkDtAJ0XhhhbeJZJS6td3/aeOlxd7iuoawCgiVY6 3s+aMxRO1vjKf/EqncKW2jE= =GrcF -----END PGP SIGNATURE-----

Previous: Junio C Hamano
Message 3 of 3 in “bug with .gitattributes diff and embedded NUL”
  1. Eric BlakeDec 19, 2007
  2. Junio C HamanoDec 19, 2007
  3. Eric BlakeDec 19, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.