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

Re: [RFC] Introduce git-xxdiff to invoke xxdiff for manual conflict resolution

From
MCMartin Langhoff (CatalystIT) <martin@catalyst.net.nz>
Date
Aug 4, 2006, 00:16 UTC
Message-ID
<44D291EF.4020506@catalyst.net.nz>
In-Reply-To
<7v64h9pdx4.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano wrote:
Show 23 quoted lines
>>diff --git a/git-xxdiff.sh b/git-xxdiff.sh
>>new file mode 100755
>>index 0000000..d562ab2
>>--- /dev/null
>>+++ b/git-xxdiff.sh
>>@@ -0,0 +1,38 @@
>>+#!/bin/sh
>>+
>>+USAGE='<path>'
>>+SUBDIRECTORY_OK=No
>>+. git-sh-setup
>>+
>>+FILE=$1
>>+MERGE_HEAD=`git rev-parse MERGE_HEAD`
>>+
>>+# Sanity checks
> 
> 
> We can have unmerged index without MERGE_HEAD (for example,
> think "rebase --merge" or "am -3"); drop check for that and
> instead check for stage 2 ("ours") for the path.
> 
> 	git cat-file blob :2:$FILE
(didn't know the :$stage: trick, neat)

I did think of using merge stages but I wasn't sure whether all the merge strategies followed the same convention. I'll fix up and re-post it.

> Can xxdiff take more than one file pairs?
Not that I can see.
>>+xxdiff -wbB --show-merged-pane --merged-filename $FILE~merged $FILE~HEAD $FILE~MERGE_HEAD
>>\ No newline at end of file
> 
> ;-).
Ouch, yes, I forgot the newline. Grumble.

I am also telling xxdiff to save the merged file as ~merged rather than overwriting the merge attempt that git has made. Better safe than sorry.

cheers,
m
-- 
-----------------------------------------------------------------------
Martin @ Catalyst .Net .NZ  Ltd, PO Box 11-053, Manners St,  Wellington
WEB: http://catalyst.net.nz/           PHYS: Level 2, 150-154 Willis St
OFFICE: +64(4)916-7224                              MOB: +64(21)364-017
       Make things as simple as possible, but no simpler - Einstein
-----------------------------------------------------------------------
Previous: Junio C HamanoNext: Martin Langhoff
Message 3 of 9 in “[RFC] Introduce git-xxdiff to invoke xxdiff for manual conflict resolution”
  1. Martin LanghoffAug 3, 2006
  2. Junio C HamanoAug 4, 2006
  3. Martin Langhoff (CatalystIT)Aug 4, 2006
  4. [RFC] Introduce git-xxdiff to invoke xxdiff for manual conflict resolution - take 2Martin Langhoff, Aug 4, 2006
  5. Alex RiesenAug 4, 2006
  6. Martin LanghoffAug 5, 2006
  7. Martin Langhoff (CatalystIT)Aug 4, 2006
  8. Jeff KingAug 4, 2006
  9. Martin Langhoff (CatalystIT)Aug 4, 2006

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.