• J
    find_unique_abbrev(): redefine semantics · b66fde9a
    Junio C Hamano 提交于
    The function returned NULL when no object that matches the name
    was found, but that made the callers more complicated, as nobody
    used that NULL return as an indication that no object with such
    a name exists.  They (at least the careful ones) instead took
    the full 40-hexdigit and used in such a case, and the careless
    ones segfaulted.
    
    With this "git rev-parse --short 5555555555555555555555555555555555555555"
    would stop segfaulting.
    
    This is based on Jeff King's rewrite to my RFC patch, but "missing"
    logic swapped to "exists".  The final logic reads:
    
        For existing objects, make sure the abbreviated string uniquely
        identifies it.  Otherwise, make sure the abbreviated string is
        long enough so that it would not name any existing object.
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    b66fde9a
sha1_name.c 16.1 KB