Skip to content

Commit

Permalink
Merge branch 'jk/maint-1.7.2-status-ignored' into maint
Browse files Browse the repository at this point in the history
* jk/maint-1.7.2-status-ignored:
  git status --ignored: tests and docs
  status: fix bug with missing --ignore files

Conflicts:
	Documentation/git-status.txt
	t/t7508-status.sh
  • Loading branch information
Junio C Hamano committed Sep 12, 2011
2 parents 30962fb + 150b493 commit 3fc44a1
Show file tree
Hide file tree
Showing 3 changed files with 128 additions and 2 deletions.
7 changes: 6 additions & 1 deletion Documentation/git-status.txt
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,9 @@ configuration variable documented in linkgit:git-config[1].
(and suppresses the output of submodule summaries when the config option
`status.submodulesummary` is set).

--ignored::
Show ignored files as well.

-z::
Terminate entries with NUL, instead of LF. This implies
the `--porcelain` output format if no other format is given.
Expand Down Expand Up @@ -120,7 +123,8 @@ codes can be interpreted as follows:
* 'C' = copied
* 'U' = updated but unmerged

Ignored files are not listed.
Ignored files are not listed, unless `--ignored` option is in effect,
in which case `XY` are `!!`.

X Y Meaning
-------------------------------------------------
Expand All @@ -143,6 +147,7 @@ Ignored files are not listed.
U U unmerged, both modified
-------------------------------------------------
? ? untracked
! ! ignored
-------------------------------------------------

If -b is used the short-format status is preceded by a line
Expand Down
121 changes: 121 additions & 0 deletions t/t7508-status.sh
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,127 @@ test_expect_success 'status -s' '
'

test_expect_success 'status with gitignore' '
{
echo ".gitignore" &&
echo "expect" &&
echo "output" &&
echo "untracked"
} >.gitignore &&
cat >expect <<-\EOF &&
M dir1/modified
A dir2/added
?? dir2/modified
EOF
git status -s >output &&
test_cmp expect output &&
cat >expect <<-\EOF &&
M dir1/modified
A dir2/added
?? dir2/modified
!! .gitignore
!! dir1/untracked
!! dir2/untracked
!! expect
!! output
!! untracked
EOF
git status -s --ignored >output &&
test_cmp expect output &&
cat >expect <<-\EOF &&
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: dir2/added
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: dir1/modified
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# dir2/modified
# Ignored files:
# (use "git add -f <file>..." to include in what will be committed)
#
# .gitignore
# dir1/untracked
# dir2/untracked
# expect
# output
# untracked
EOF
git status --ignored >output &&
test_cmp expect output
'

test_expect_success 'status with gitignore (nothing untracked)' '
{
echo ".gitignore" &&
echo "expect" &&
echo "dir2/modified" &&
echo "output" &&
echo "untracked"
} >.gitignore &&
cat >expect <<-\EOF &&
M dir1/modified
A dir2/added
EOF
git status -s >output &&
test_cmp expect output &&
cat >expect <<-\EOF &&
M dir1/modified
A dir2/added
!! .gitignore
!! dir1/untracked
!! dir2/modified
!! dir2/untracked
!! expect
!! output
!! untracked
EOF
git status -s --ignored >output &&
test_cmp expect output &&
cat >expect <<-\EOF &&
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: dir2/added
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: dir1/modified
#
# Ignored files:
# (use "git add -f <file>..." to include in what will be committed)
#
# .gitignore
# dir1/untracked
# dir2/modified
# dir2/untracked
# expect
# output
# untracked
EOF
git status --ignored >output &&
test_cmp expect output
'

rm -f .gitignore

cat >expect <<\EOF
## master
M dir1/modified
Expand Down
2 changes: 1 addition & 1 deletion wt-status.c
Original file line number Diff line number Diff line change
Expand Up @@ -642,7 +642,7 @@ static void wt_status_print_other(struct wt_status *s,
int i;
struct strbuf buf = STRBUF_INIT;

if (!s->untracked.nr)
if (!l->nr)
return;

wt_status_print_other_header(s, what, how);
Expand Down

0 comments on commit 3fc44a1

Please sign in to comment.