Browse Source

Merge branch 'jk/maint-1.7.2-status-ignored'

* 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
maint
Junio C Hamano 14 years ago
parent
commit
50cebdade1
  1. 7
      Documentation/git-status.txt
  2. 121
      t/t7508-status.sh
  3. 2
      wt-status.c

7
Documentation/git-status.txt

@ -69,6 +69,9 @@ configuration variable documented in linkgit:git-config[1]. @@ -69,6 +69,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.
@ -119,7 +122,8 @@ codes can be interpreted as follows: @@ -119,7 +122,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
-------------------------------------------------
@ -142,6 +146,7 @@ Ignored files are not listed. @@ -142,6 +146,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

121
t/t7508-status.sh

@ -131,6 +131,127 @@ test_expect_success 'status -s' ' @@ -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

2
wt-status.c

@ -642,7 +642,7 @@ static void wt_status_print_other(struct wt_status *s, @@ -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);

Loading…
Cancel
Save