-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'da/user-useconfigonly'
The "user.useConfigOnly" configuration variable can be used to force the user to always set user.email & user.name configuration variables, serving as a reminder for those who work on multiple projects and do not want to put these in their $HOME/.gitconfig. * da/user-useconfigonly: ident: add user.useConfigOnly boolean for when ident shouldn't be guessed fmt_ident: refactor strictness checks
- Loading branch information
Showing
3 changed files
with
89 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
#!/bin/sh | ||
# | ||
# Copyright (c) 2016 Dan Aloni | ||
# Copyright (c) 2016 Jeff King | ||
# | ||
|
||
test_description='per-repo forced setting of email address' | ||
|
||
. ./test-lib.sh | ||
|
||
test_expect_success 'setup a likely user.useConfigOnly use case' ' | ||
# we want to make sure a reflog is written, since that needs | ||
# a non-strict ident. So be sure we have an actual commit. | ||
test_commit foo && | ||
sane_unset GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL && | ||
sane_unset GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL && | ||
git config user.name "test" && | ||
git config --global user.useConfigOnly true | ||
' | ||
|
||
test_expect_success 'fails committing if clone email is not set' ' | ||
test_must_fail git commit --allow-empty -m msg | ||
' | ||
|
||
test_expect_success 'fails committing if clone email is not set, but EMAIL set' ' | ||
test_must_fail env EMAIL=test@fail.com git commit --allow-empty -m msg | ||
' | ||
|
||
test_expect_success 'succeeds committing if clone email is set' ' | ||
test_config user.email "test@ok.com" && | ||
git commit --allow-empty -m msg | ||
' | ||
|
||
test_expect_success 'succeeds cloning if global email is not set' ' | ||
git clone . clone | ||
' | ||
|
||
test_done |