aboutsummaryrefslogtreecommitdiffstats
path: root/t
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2019-01-04 13:33:34 -0800
committerJunio C Hamano <gitster@pobox.com>2019-01-04 13:33:34 -0800
commit1328d29943c81602bedba085e8c41acf01b4c866 (patch)
tree6fb53598b781b9d2e93e3f7d400af0660a7b9617 /t
parentMerge branch 'sg/clone-initial-fetch-configuration' (diff)
parentstash: tolerate missing user identity (diff)
downloadgit-1328d29943c81602bedba085e8c41acf01b4c866.tar.gz
git-1328d29943c81602bedba085e8c41acf01b4c866.zip
Merge branch 'sd/stash-wo-user-name'
A properly configured username/email is required under user.useConfigOnly in order to create commits; now "git stash" (even though it creates commit objects to represent stash entries) command is exempt from the requirement. * sd/stash-wo-user-name: stash: tolerate missing user identity
Diffstat (limited to 't')
-rwxr-xr-xt/t3903-stash.sh28
1 files changed, 28 insertions, 0 deletions
diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh
index cd216655b9..5f8272b6f9 100755
--- a/t/t3903-stash.sh
+++ b/t/t3903-stash.sh
@@ -1096,4 +1096,32 @@ test_expect_success 'stash -- <subdir> works with binary files' '
test_path_is_file subdir/untracked
'
+test_expect_success 'stash works when user.name and user.email are not set' '
+ git reset &&
+ >1 &&
+ git add 1 &&
+ echo "$GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>" >expect &&
+ git stash &&
+ git show -s --format="%an <%ae>" refs/stash >actual &&
+ test_cmp expect actual &&
+ >2 &&
+ git add 2 &&
+ test_config user.useconfigonly true &&
+ test_config stash.usebuiltin true &&
+ (
+ sane_unset GIT_AUTHOR_NAME &&
+ sane_unset GIT_AUTHOR_EMAIL &&
+ sane_unset GIT_COMMITTER_NAME &&
+ sane_unset GIT_COMMITTER_EMAIL &&
+ test_unconfig user.email &&
+ test_unconfig user.name &&
+ test_must_fail git commit -m "should fail" &&
+ echo "git stash <git@stash>" >expect &&
+ >2 &&
+ git stash &&
+ git show -s --format="%an <%ae>" refs/stash >actual &&
+ test_cmp expect actual
+ )
+'
+
test_done