On Mon, Oct 16, 2017 at 07:45:46PM +0900, Junio C Hamano wrote:
> Junio C Hamano <gits...@pobox.com> writes:
> 
> [..]
> 
> diff --git a/builtin/check-ref-format.c b/builtin/check-ref-format.c
> index 1e5f9835f0..4e62852089 100644
> --- a/builtin/check-ref-format.c
> +++ b/builtin/check-ref-format.c
> @@ -38,12 +38,22 @@ static char *collapse_slashes(const char *refname)
>  
>  static int check_ref_format_branch(const char *arg)
>  {
> +     int nongit, malformed;
>       struct strbuf sb = STRBUF_INIT;
> +     const char *name = arg;
>  
> -     setup_git_directory();
> -     if (strbuf_check_branch_ref(&sb, arg))
> +     setup_git_directory_gently(&nongit);
> +
> +     if (!nongit)
> +             malformed = (strbuf_check_branch_ref(&sb, arg) ||
> +                          !skip_prefix(sb.buf, "refs/heads/", &name));
> +     else
> +             malformed = check_branch_ref_format(arg);
> +

Would it make sense to swap the logic and get rid of the double
negative (!nongit)?

> +     if (malformed)
>               die("'%s' is not a valid branch name", arg);
> -     printf("%s\n", sb.buf + 11);
> +     printf("%s\n", name);
> +     strbuf_release(&sb);
>       return 0;
>  }
>  

Reply via email to