Skip to content

Commit

Permalink
Merge branch 'jg/status-config'
Browse files Browse the repository at this point in the history
"git status" learned status.branch and status.short configuration
variables to use --branch and --short options by default (override
with --no-branch and --no-short options from the command line).

* jg/status-config:
  status: introduce status.branch to enable --branch by default
  status: introduce status.short to enable --short by default
  • Loading branch information
Junio C Hamano committed Jun 23, 2013
2 parents 3e7a5b4 + 0e254bb commit 1a22bd3
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 0 deletions.
8 changes: 8 additions & 0 deletions Documentation/config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2075,6 +2075,14 @@ status.relativePaths::
relative to the repository root (this was the default for Git
prior to v1.5.4).

status.short::
Set to true to enable --short by default in linkgit:git-status[1].
The option --no-short takes precedence over this variable.

status.branch::
Set to true to enable --branch by default in linkgit:git-status[1].
The option --no-branch takes precedence over this variable.

status.showUntrackedFiles::
By default, linkgit:git-status[1] and linkgit:git-commit[1] show
files which are not currently tracked by Git. Directories which
Expand Down
11 changes: 11 additions & 0 deletions builtin/commit.c
Original file line number Diff line number Diff line change
Expand Up @@ -1112,6 +1112,17 @@ static int git_status_config(const char *k, const char *v, void *cb)
s->submodule_summary = -1;
return 0;
}
if (!strcmp(k, "status.short")) {
if (git_config_bool(k, v))
status_format = STATUS_FORMAT_SHORT;
else
status_format = STATUS_FORMAT_NONE;
return 0;
}
if (!strcmp(k, "status.branch")) {
s->show_branch = git_config_bool(k, v);
return 0;
}
if (!strcmp(k, "status.color") || !strcmp(k, "color.status")) {
s->use_color = git_config_colorbool(k, v);
return 0;
Expand Down
57 changes: 57 additions & 0 deletions t/t7508-status.sh
Original file line number Diff line number Diff line change
Expand Up @@ -1335,4 +1335,61 @@ test_expect_failure '.git/config ignore=all suppresses submodule summary' '
git config -f .gitmodules --remove-section submodule.subname
'

test_expect_success 'setup of test environment' '
git config status.showUntrackedFiles no &&
git status -s >expected_short &&
git status --no-short >expected_noshort
'

test_expect_success '"status.short=true" same as "-s"' '
git -c status.short=true status >actual &&
test_cmp expected_short actual
'

test_expect_success '"status.short=true" weaker than "--no-short"' '
git -c status.short=true status --no-short >actual &&
test_cmp expected_noshort actual
'

test_expect_success '"status.short=false" same as "--no-short"' '
git -c status.short=false status >actual &&
test_cmp expected_noshort actual
'

test_expect_success '"status.short=false" weaker than "-s"' '
git -c status.short=false status -s >actual &&
test_cmp expected_short actual
'

test_expect_success '"status.branch=true" same as "-b"' '
git status -sb >expected_branch &&
git -c status.branch=true status -s >actual &&
test_cmp expected_branch actual
'

test_expect_success '"status.branch=true" different from "--no-branch"' '
git status -s --no-branch >expected_nobranch &&
git -c status.branch=true status -s >actual &&
test_must_fail test_cmp expected_nobranch actual
'

test_expect_success '"status.branch=true" weaker than "--no-branch"' '
git -c status.branch=true status -s --no-branch >actual &&
test_cmp expected_nobranch actual
'

test_expect_success '"status.branch=false" same as "--no-branch"' '
git -c status.branch=false status -s >actual &&
test_cmp expected_nobranch actual
'

test_expect_success '"status.branch=false" weaker than "-b"' '
git -c status.branch=false status -sb >actual &&
test_cmp expected_branch actual
'

test_expect_success 'Restore default test environment' '
git config --unset status.showUntrackedFiles
'

test_done

0 comments on commit 1a22bd3

Please sign in to comment.