Subject: Re: [PATCH] Avoid invoking diff drivers during git-stash

From: Johannes Sixt <[email-masked]>
Date: Fri, 19 Oct 2007 08:08:23 +0200

Shawn,

thanks for the fast response with a patch.

Shawn O. Pearce schrieb:
>  Johannes Sixt <[email-masked]> wrote:
>  > (1) Looking at git-stash.sh I see a few uses of 'git diff' in
>  > apply_stash(). Shouldn't these use one of git-diff-{tree,index,files)? The
>  > reason is that porcelain 'git diff' invokes custom diff drivers (that in my   
>  > case run a UI program), whereas the plumbing does not.
>  >
>  > Is there a particular reason to use porcelain 'git diff'?
> 
>  Does this fix the problem?

It does!

> @@ -110,7 +110,7 @@ show_stash () {
>  
>  	w_commit=$(git rev-parse --verify "$s") &&
>  	b_commit=$(git rev-parse --verify "$s^") &&
> -	git diff $flags $b_commit $w_commit
> +	git diff-tree $flags $b_commit $w_commit

However, this porcelain 'git diff' should actually remain because it's part 
of show_stash().

-- Hannes