diff --git a/go/libraries/doltcore/ref/branchname.go b/go/libraries/doltcore/ref/branchname.go index 353fce03e56..e80f66644db 100644 --- a/go/libraries/doltcore/ref/branchname.go +++ b/go/libraries/doltcore/ref/branchname.go @@ -24,8 +24,8 @@ import ( // InvalidBranchNameRegex is a list of patterns forbidden in a branch name. // For additional constraints on ref names, see datas.ValidateDatasetId var InvalidBranchNameRegex = regexp.MustCompile(strings.Join([]string{ - // An exact name of "", "HEAD" or "-" - `\A\z`, `\AHEAD\z`, `\A-\z`, + // An exact name of "", "HEAD" or starts with "-" + `\A\z`, `\AHEAD\z`, `^-.{0,}`, // A name that looks exactly like a commit id `\A[0-9a-v]{32}\z`, // Any empty component; that is, starting or ending with "/" or any appearance of "//" diff --git a/go/libraries/doltcore/ref/branchname_test.go b/go/libraries/doltcore/ref/branchname_test.go index 2b2339349a1..3ca9586f04a 100644 --- a/go/libraries/doltcore/ref/branchname_test.go +++ b/go/libraries/doltcore/ref/branchname_test.go @@ -82,4 +82,5 @@ func TestBranchName(t *testing.T) { assert.False(t, IsValidBranchName("user.lock/working/mybranch")) assert.False(t, IsValidBranchName("HEAD")) assert.False(t, IsValidBranchName("-")) + assert.False(t, IsValidBranchName("-test")) }