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

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
Previous: Ramsay JonesNext: Junio C Hamano
Message 20 of 22 in “warning: too many files, skipping inexact rename detection”
  1. Andrew MortonApr 26, 2008
  2. Jeff KingApr 26, 2008
  3. Andrew MortonApr 26, 2008
  4. Jeff KingApr 26, 2008
  5. 0/3 rename limit improvementsJeff King, Apr 30, 2008
  6. 1/3 add merge.renamelimit config optionJeff King, Apr 30, 2008
  7. Jeff KingApr 30, 2008
  8. Junio C HamanoMay 3, 2008
  9. Jeff KingMay 4, 2008
  10. 2/3 bump rename limit defaultsJeff King, Apr 30, 2008
  11. 3/3 diff: make "too many files" rename warning optionalJeff King, Apr 30, 2008
  12. Ramsay JonesMay 3, 2008
  13. Jeff KingMay 4, 2008
  14. Paul MackerrasMay 4, 2008
  15. Jeff KingMay 5, 2008
  16. Jeff KingMay 5, 2008
  17. Junio C HamanoMay 5, 2008
  18. Paul MackerrasMay 12, 2008
  19. Ramsay JonesMay 6, 2008
  20. Ramsay JonesMay 6, 2008
  21. Junio C HamanoMay 4, 2008
  22. Jeff KingMay 4, 2008

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.