Skip to content
  • Linus Torvalds's avatar
    Fix the rename detection limit checking · 0024a549
    Linus Torvalds authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    This adds more proper rename detection limits. Instead of just checking
    the limit against the number of potential rename destinations, we verify
    that the rename matrix (which is what really matters) doesn't grow
    ridiculously large, and we also make sure that we don't overflow when
    doing the matrix size calculation.
    
    This also changes the default limits from unlimited, to a rename matrix
    that is limited to 100 entries on a side. You can raise it with the config
    entry, or by using the "-l<n>" command line flag, but at least the default
    is now a sane number that avoids spending lots of time (and memory) in
    situations that likely don't merit it.
    
    The choice of default value is of course very debatable. Limiting the
    rename matrix to a 100x100 size will mean that even if you have just one
    obvious rename, but you also create (or delete) 10,000 files, the rename
    matrix will be so big that we disable the heuristics. Sounds reasonable to
    me, but let's see if people hit this (and, perhaps more importantly,
    actually *care*) in real life.
    
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    0024a549