Skip to content

Commit

Permalink
Merge pull request #565 from ndevenish/no_commit_main_default
Browse files Browse the repository at this point in the history
no-commit-to-branch: Add 'main' to branches blocked by default
  • Loading branch information
asottile committed Mar 4, 2021
2 parents 51e14fc + 3abbd47 commit 2618198
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 2 deletions.
2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -140,7 +140,7 @@ Assert that files in tests/ end in `_test.py`.
#### `no-commit-to-branch`
Protect specific branches from direct checkins.
- Use `args: [--branch, staging, --branch, master]` to set the branch.
`master` is the default if no branch argument is set.
Both `master` and `main` are protected by default if no branch argument is set.
- `-b` / `--branch` may be specified multiple times to protect multiple
branches.
- `-p` / `--pattern` can be used to protect branches that match a supplied regex
Expand Down
2 changes: 1 addition & 1 deletion pre_commit_hooks/no_commit_to_branch.py
Expand Up @@ -38,7 +38,7 @@ def main(argv: Optional[Sequence[str]] = None) -> int:
)
args = parser.parse_args(argv)

protected = frozenset(args.branch or ('master',))
protected = frozenset(args.branch or ('master', 'main'))
patterns = frozenset(args.pattern or ())
return int(is_on_branch(protected, patterns))

Expand Down
7 changes: 7 additions & 0 deletions tests/no_commit_to_branch_test.py
Expand Up @@ -67,3 +67,10 @@ def test_not_on_a_branch(temp_git_dir):
cmd_output('git', 'checkout', head)
# we're not on a branch!
assert main(()) == 0


@pytest.mark.parametrize('branch_name', ('master', 'main'))
def test_default_branch_names(temp_git_dir, branch_name):
with temp_git_dir.as_cwd():
cmd_output('git', 'checkout', '-b', branch_name)
assert main(()) == 1

0 comments on commit 2618198

Please sign in to comment.