branch: split validate_new_branchname() into two

Checking if a proposed name is appropriate for a branch is strictly
a subset of checking if we want to allow creating or updating a
branch with such a name.  The mysterious sounding 'attr_only'
parameter to validate_new_branchname() is used to switch the
function between these two roles.

Instead, split the function into two, and adjust the callers.  A new
helper validate_branchname() only checks the name and reports if the
branch already exists.

This loses one NEEDSWORK from the branch API.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Junio C Hamano
2017-10-13 13:45:40 +09:00
parent 8280c4c1ea
commit bc1c9c0e67
4 changed files with 44 additions and 35 deletions

View File

@ -1289,11 +1289,11 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)
if (opts.new_branch) {
struct strbuf buf = STRBUF_INIT;
opts.branch_exists =
validate_new_branchname(opts.new_branch, &buf,
!!opts.new_branch_force,
!!opts.new_branch_force);
if (opts.new_branch_force)
opts.branch_exists = validate_branchname(opts.new_branch, &buf);
else
opts.branch_exists =
validate_new_branchname(opts.new_branch, &buf, 0);
strbuf_release(&buf);
}