Skip to content
  • Junio C Hamano's avatar
    diff: make default rename detection limit configurable. · 3299c6f6
    Junio C Hamano authored
    A while ago, a rename-detection limit logic was implemented as a
    response to this thread:
    
    	http://marc.theaimsgroup.com/?l=git&m=112413080630175
    
    
    
    where gitweb was found to be using a lot of time and memory to
    detect renames on huge commits.  git-diff family takes -l<num>
    flag, and if the number of paths that are rename destination
    candidates (i.e. new paths with -M, or modified paths with -C)
    are larger than that number, skips rename/copy detection even
    when -M or -C is specified on the command line.
    
    This commit makes the rename detection limit easier to use.  You
    can have:
    
    	[diff]
    		renamelimit = 30
    
    in your .git/config file to specify the default rename detection
    limit.  You can override this from the command line; giving 0
    means 'unlimited':
    
    	git diff -M -l0
    
    We might want to change the default behaviour, when you do not
    have the configuration, to limit it to say 20 paths or so.  This
    would also help the diffstat generation after a big 'git pull'.
    
    Signed-off-by: default avatarJunio C Hamano <junkio@cox.net>
    3299c6f6