• M
    check-ref-format --print: Normalize refnames that start with slashes · 2f633f41
    Michael Haggerty 提交于
    When asked if "refs///heads/master" is valid, check-ref-format says "Yes,
    it is well formed", and when asked to print canonical form, it shows
    "refs/heads/master". This is so that it can be tucked after "$GIT_DIR/"
    to form a valid pathname for a loose ref, and we normalize a pathname like
    "$GIT_DIR/refs///heads/master" to de-dup the slashes in it.
    
    Similarly, when asked if "/refs/heads/master" is valid, check-ref-format
    says "Yes, it is Ok", but the leading slash is not removed when printing,
    leading to "$GIT_DIR//refs/heads/master".
    
    Fix it to make sure such leading slashes are removed.  Add tests that such
    refnames are accepted and normalized correctly.
    Signed-off-by: NMichael Haggerty <mhagger@alum.mit.edu>
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    2f633f41
check-ref-format.c 1.6 KB