Re: [PATCH 3/3] diff: make "too many files" rename warning optional
- From
Ramsay Jones <ramsay@ramsay1.demon.co.uk>
- Date
- May 6, 2008, 22:29 UTC
- Message-ID
- <4820DBB3.8020009@ramsay1.demon.co.uk>
- In-Reply-To
- <20080504192332.GB13029@sigill.intra.peff.net>
Jeff King wrote:
Show 7 quoted lines
> On Sat, May 03, 2008 at 06:34:31PM +0100, Ramsay Jones wrote: >> >> The git command issued by gitk appears to be: >> git diff-tree -r -p -C --no-commit-id -U3 1d6aeb410dc19893adbc0209bcf859f35ff1c7d6 > > Hrm. Is gitk on cygwin somehow squishing stderr and stdout together? Or > does gitk in general look at what happens on stderr?
maybe. After further testing, the above "git diff-tree..." does indeed issue the warning on stderr; on both cygwin and Linux.
[I forgot to type ./git-diff-tree as I had not installed the new git yet, since it does not pass "make test". That is a different problem for another day...]
It appears that gitk on Linux is quite happy with that message on stderr, but on cygwin it chokes.
> > Because while I am happy that removing this message fixes your problem, > it is a little disconcerting to think that we can break gitk just by > issuing a warning diagnostic on stderr.
Indeed.
Also note that the warning is issued twice, since gitk issues that same command twice; viz:
$ GIT_TRACE=/home/ramsay/git-trace gitk --all & # exit asap
$ cat /home/ramsay/git-trace
trace: built-in: git 'config' '--get' 'i18n.commitencoding'
trace: built-in: git 'rev-parse' '--git-dir'
trace: built-in: git 'rev-parse' '--no-revs' '--no-flags' '--all'
trace: built-in: git 'rev-parse' '--is-inside-work-tree'
trace: built-in: git 'show-ref' '-d'
trace: built-in: git 'symbolic-ref' 'HEAD'
trace: built-in: git 'log' '--no-color' '-z' '--pretty=raw' '--topo-order' '--parents' '--boundary' '--all' '--'
trace: built-in: git 'diff-index' '--cached' 'HEAD'
trace: built-in: git 'rev-parse' '--git-dir'
trace: built-in: git 'diff-tree' '-r' '--no-commit-id' '1d6aeb410dc19893adbc0209bcf859f35ff1c7d6'
trace: built-in: git 'diff-files'
trace: built-in: git 'diff-tree' '-r' '-p' '-C' '--no-commit-id' '-U3' '1d6aeb410dc19893adbc0209bcf859f35ff1c7d6'
trace: built-in: git 'diff-tree' '-r' '-p' '-C' '--no-commit-id' '-U3' '1d6aeb410dc19893adbc0209bcf859f35ff1c7d6'
$NOTE: I get exactly the same trace on Linux and cygwin.
As a quick-fix, I added a "-l300" parameter to the above git command in ~/bin/gitk. [diff.renamelimit only affects git-diff]
All the Best,
Ramsay Jones