• J
    Fix per-directory exclude handing for "git add" · 41a7aa58
    Junio C Hamano 提交于
    In "dir_struct", each exclusion element in the exclusion stack records a
    base string (pointer to the beginning with length) so that we can tell
    where it came from, but this pointer is just pointing at the parameter
    that is given by the caller to the push_exclude_per_directory()
    function.
    
    While read_directory_recursive() runs, calls to excluded() makes use
    the data in the exclusion elements, including this base string.  The
    caller of read_directory_recursive() is not supposed to free the
    buffer it gave to push_exclude_per_directory() earlier, until it
    returns.
    
    The test case Bruce Stephens gave in the mailing list discussion
    was simplified and added to the t3700 test.
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    41a7aa58
t3700-add.sh 4.7 KB