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>maint
							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
	
	 Marius Storm-Olsen
						Marius Storm-Olsen