Re: [PATCH 3/3] diff: make "too many files" rename warning optional
- From
Ramsay Jones <ramsay@ramsay1.demon.co.uk>
- Date
- May 3, 2008, 17:34 UTC
- Message-ID
- <481CA227.1000801@ramsay1.demon.co.uk>
- In-Reply-To
- <20080430172553.GC23747@sigill.intra.peff.net>
Jeff King wrote:
Show 5 quoted lines
> In many cases, the warning ends up as clutter, because the > diff is being done "behind the scenes" from the user (e.g., > when generating a commit diffstat), and whether we show > renames or not is not particularly interesting to the user. >
[snip]
Show 14 quoted lines
> diff --git a/diffcore-rename.c b/diffcore-rename.c
> index 1369a5e..1b2ebb4 100644
> --- a/diffcore-rename.c
> +++ b/diffcore-rename.c
> @@ -492,7 +492,8 @@ void diffcore_rename(struct diff_options *options)
> rename_limit = 32767;
> if ((num_create > rename_limit && num_src > rename_limit) ||
> (num_create * num_src > rename_limit * rename_limit)) {
> - warning("too many files, skipping inexact rename detection");
> + if (options->warn_on_too_large_rename)
> + warning("too many files, skipping inexact rename detection");
> goto cleanup;
> }
> This will also fix the problem I had with gitk on cygwin; namely "gitk --all &" on my "git" repo pops up an error dialog (see below), after which the diff display disappears.
The error dialog shows:
--- >8 ---
warning: too many files, skipping inexact rename detection
warning: too many files, skipping inexact rename detection
while executing
"close $bdf"
(procedure "getblobdiffline" line 89)
invoked from within
"getblobdiffline file102daa00 1d6aeb410dc19893adbc0209bcf859f35ff1c7d6"
("eval" body line 1)
invoked from within
"eval $script"
(procedure "dorunq" line 9)
invoked from within
"dorunq"
("after" script)
--- 8< ---The git command issued by gitk appears to be: git diff-tree -r -p -C --no-commit-id -U3 1d6aeb410dc19893adbc0209bcf859f35ff1c7d6
However, if I type the above into bash (and include --no-pager), then the error message does not appear! Ho hum. Also, the same repo on Linux does not exhibit this problem at all.
In any event, if the above warning() call is commented out, then gitk is quite happy on cygwin as well.
All the best,
Ramsay Jones