Add configuration option for default untracked files mode
By default, the untracked files mode for commit/status is 'normal' Signed-off-by: Marius Storm-Olsen <marius@trolltech.com>
This commit is contained in:
parent
6c2ce048bb
commit
d6293d1f2c
@ -1013,6 +1013,25 @@ status.relativePaths::
|
|||||||
relative to the repository root (this was the default for git
|
relative to the repository root (this was the default for git
|
||||||
prior to v1.5.4).
|
prior to v1.5.4).
|
||||||
|
|
||||||
|
status.showUntrackedFiles::
|
||||||
|
By default, linkgit:git-status[1] and linkgit:git-commit[1] show
|
||||||
|
files which are not currently tracked by Git. Directories which
|
||||||
|
contain only untracked files, are shown with the directory name
|
||||||
|
only. Showing untracked files means that Git needs to lstat() all
|
||||||
|
all the files in the whole repository, which might be slow on some
|
||||||
|
systems. So, this variable controls how the commands displays
|
||||||
|
the untracked files. Possible values are:
|
||||||
|
+
|
||||||
|
--
|
||||||
|
- 'no' - Show no untracked files
|
||||||
|
- 'normal' - Shows untracked files and directories
|
||||||
|
- 'all' - Shows also individual files in untracked directories.
|
||||||
|
--
|
||||||
|
+
|
||||||
|
If this variable is not specified, it defaults to 'normal'.
|
||||||
|
This variable can be overridden with the -u|--untracked-files option
|
||||||
|
of linkgit:git-status[1] and linkgit:git-commit[1].
|
||||||
|
|
||||||
tar.umask::
|
tar.umask::
|
||||||
This variable can be used to restrict the permission bits of
|
This variable can be used to restrict the permission bits of
|
||||||
tar archive entries. The default is 0002, which turns off the
|
tar archive entries. The default is 0002, which turns off the
|
||||||
|
@ -161,6 +161,10 @@ the handling of untracked files. The possible options are:
|
|||||||
- 'normal' - Shows untracked files and directories
|
- 'normal' - Shows untracked files and directories
|
||||||
- 'all' - Also shows individual files in untracked directories.
|
- 'all' - Also shows individual files in untracked directories.
|
||||||
--
|
--
|
||||||
|
+
|
||||||
|
See linkgit:git-config[1] for configuration variable
|
||||||
|
used to change the default for when the option is not
|
||||||
|
specified.
|
||||||
|
|
||||||
-v|--verbose::
|
-v|--verbose::
|
||||||
Show unified diff between the HEAD commit and what
|
Show unified diff between the HEAD commit and what
|
||||||
|
@ -89,6 +89,12 @@ test_expect_success 'status -uno' '
|
|||||||
test_cmp expect output
|
test_cmp expect output
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'status (status.showUntrackedFiles no)' '
|
||||||
|
git config status.showuntrackedfiles no
|
||||||
|
git status >output &&
|
||||||
|
test_cmp expect output
|
||||||
|
'
|
||||||
|
|
||||||
cat >expect <<EOF
|
cat >expect <<EOF
|
||||||
# On branch master
|
# On branch master
|
||||||
# Changes to be committed:
|
# Changes to be committed:
|
||||||
@ -117,6 +123,12 @@ test_expect_success 'status -unormal' '
|
|||||||
test_cmp expect output
|
test_cmp expect output
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'status (status.showUntrackedFiles normal)' '
|
||||||
|
git config status.showuntrackedfiles normal
|
||||||
|
git status >output &&
|
||||||
|
test_cmp expect output
|
||||||
|
'
|
||||||
|
|
||||||
cat >expect <<EOF
|
cat >expect <<EOF
|
||||||
# On branch master
|
# On branch master
|
||||||
# Changes to be committed:
|
# Changes to be committed:
|
||||||
@ -143,7 +155,13 @@ cat >expect <<EOF
|
|||||||
EOF
|
EOF
|
||||||
test_expect_success 'status -uall' '
|
test_expect_success 'status -uall' '
|
||||||
git status -uall >output &&
|
git status -uall >output &&
|
||||||
|
test_cmp expect output
|
||||||
|
'
|
||||||
|
test_expect_success 'status (status.showUntrackedFiles all)' '
|
||||||
|
git config status.showuntrackedfiles all
|
||||||
|
git status >output &&
|
||||||
rm -rf dir3 &&
|
rm -rf dir3 &&
|
||||||
|
git config --unset status.showuntrackedfiles &&
|
||||||
test_cmp expect output
|
test_cmp expect output
|
||||||
'
|
'
|
||||||
|
|
||||||
|
13
wt-status.c
13
wt-status.c
@ -397,5 +397,18 @@ int git_status_config(const char *k, const char *v, void *cb)
|
|||||||
wt_status_relative_paths = git_config_bool(k, v);
|
wt_status_relative_paths = git_config_bool(k, v);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
if (!strcmp(k, "status.showuntrackedfiles")) {
|
||||||
|
if (!v)
|
||||||
|
return config_error_nonbool(v);
|
||||||
|
else if (!strcmp(v, "no"))
|
||||||
|
show_untracked_files = SHOW_NO_UNTRACKED_FILES;
|
||||||
|
else if (!strcmp(v, "normal"))
|
||||||
|
show_untracked_files = SHOW_NORMAL_UNTRACKED_FILES;
|
||||||
|
else if (!strcmp(v, "all"))
|
||||||
|
show_untracked_files = SHOW_ALL_UNTRACKED_FILES;
|
||||||
|
else
|
||||||
|
return error("Invalid untracked files mode '%s'", v);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
return git_color_default_config(k, v, cb);
|
return git_color_default_config(k, v, cb);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user