From: Junio C Hamano Date: Wed, 27 Apr 2005 06:19:48 GMT Subject: [PATCH 0/6] External diff interface for diff-cache and friends. Message-ID: <7vekcwkagr.fsf@assigned-by-dhcp.cox.net> As discussed earlier, I am sending a series of patches to take advantage of the simplified external diff interface you have already merged. This series consists of the following: [PATCH 1/6] Reworked external diff interface. This patch introduces three public functions for diff-cache and friends can use to call out to the GIT_EXTERNAL_DIFF program when they wish to. A normal "add/remove/change" entry is turned into 7-parameter process invocation of GIT_EXTERNAL_DIFF program as before. In addition, the program can now be called with a single parameter when diff-cache and friends want to report an unmerged path. [PATCH 2/6] Reactivate show-diff patch generation This patch uses the reworked diff interface to generate patches directly out of show-diff when -p is specified. [PATCH 3/6] Add -p (patch) to diff-tree. This patch uses the reworked diff interface to generate patches directly out of diff-tree when -p is specified. [PATCH 4/6] Add -p (patch) to diff-cache. This patch uses the reworked diff interface to generate patches directly out of diff-cache when -p is specified. [PATCH 5/6] Teach diff-tree-helper to handle unmerged paths. This patch teaches diff-tree-helper to call diff_unmreged() so that it can report unmerged paths to GIT_EXTERNAL_DIFF. [PATCH 6/6] Alternative patch to diff-cache.c This is a replacement of PATCH 4, in case you have already applied the "non-cached still looks only at cache" fix I sent you earlier. If you took it, PATCH 4 may not apply cleanly, in which case this should be easier to work with.