• J
    strbuf_check_ref_format(): expand only local branches · 7d5c960b
    Jeff King 提交于
    This function asks strbuf_branchname() to expand any @-marks
    in the branchname, and then we blindly stick refs/heads/ in
    front of the result. This is obviously nonsense if the
    expansion is "HEAD" or a ref in refs/remotes/.
    
    The most obvious end-user effect is that creating or
    renaming a branch with an expansion may have confusing
    results (e.g., creating refs/heads/origin/master from
    "@{upstream}" when the operation should be disallowed).
    
    We can fix this by telling strbuf_branchname() that we are
    only interested in local expansions. Any unexpanded bits are
    then fed to check_ref_format(), which either disallows them
    (in the case of "@{upstream}") or lets them through
    ("refs/heads/@" is technically valid, if a bit silly).
    Signed-off-by: NJeff King <peff@peff.net>
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    7d5c960b
sha1_name.c 39.6 KB