Code

tree_entry_interesting(): fix depth limit with overlapping pathspecs
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Wed, 15 Dec 2010 15:02:45 +0000 (22:02 +0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 16 Dec 2010 21:20:22 +0000 (13:20 -0800)
commit9d7d10ef7b23518c8fa8b683b5d8dc9c3641b61c
tree20c0eeca030b109a51ece2b2f044acd280c6c371
parentc4dc9d4de6cc709cba565c15ffc2603fd9206903
tree_entry_interesting(): fix depth limit with overlapping pathspecs

Suppose we have two pathspecs 'a' and 'a/b' (both are dirs) and depth
limit 1. In current code, pathspecs are checked in input order. When
'a/b' is checked against pathspec 'a', it fails depth limit and
therefore is excluded, although it should match 'a/b' pathspec.

This patch reorders all pathspecs alphabetically, then teaches
tree_entry_interesting() to check against the deepest pathspec first,
so depth limit of a shallower pathspec won't affect a deeper one.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
dir.c
tree-walk.c