diff options
author | Junio C Hamano <gitster@pobox.com> | 2016-04-14 18:57:46 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-04-14 18:57:46 -0700 |
commit | 237e6db5c08b095d84d352206e6dcd332fbfca5a (patch) | |
tree | f08b974058b1bd1a0ef8ddb09f1065806a205796 /builtin | |
parent | Merge branch 'jk/getwholeline-getdelim-empty' into maint (diff) | |
parent | use setup_git_directory() in test-* programs (diff) | |
download | tgif-237e6db5c08b095d84d352206e6dcd332fbfca5a.tar.xz |
Merge branch 'jk/startup-info' into maint
The startup_info data, which records if we are working inside a
repository (among other things), are now uniformly available to Git
subcommand implementations, and Git avoids attempting to touch
references when we are not in a repository.
* jk/startup-info:
use setup_git_directory() in test-* programs
grep: turn off gitlink detection for --no-index
mailmap: do not resolve blobs in a non-repository
remote: don't resolve HEAD in non-repository
setup: set startup_info->have_repository more reliably
setup: make startup_info available everywhere
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/grep.c | 6 | ||||
-rw-r--r-- | builtin/init-db.c | 1 |
2 files changed, 5 insertions, 2 deletions
diff --git a/builtin/grep.c b/builtin/grep.c index aa7435f380..111b6f6cf1 100644 --- a/builtin/grep.c +++ b/builtin/grep.c @@ -522,12 +522,14 @@ static int grep_objects(struct grep_opt *opt, const struct pathspec *pathspec, } static int grep_directory(struct grep_opt *opt, const struct pathspec *pathspec, - int exc_std) + int exc_std, int use_index) { struct dir_struct dir; int i, hit = 0; memset(&dir, 0, sizeof(dir)); + if (!use_index) + dir.flags |= DIR_NO_GITLINKS; if (exc_std) setup_standard_excludes(&dir); @@ -902,7 +904,7 @@ int cmd_grep(int argc, const char **argv, const char *prefix) int use_exclude = (opt_exclude < 0) ? use_index : !!opt_exclude; if (list.nr) die(_("--no-index or --untracked cannot be used with revs.")); - hit = grep_directory(&opt, &pathspec, use_exclude); + hit = grep_directory(&opt, &pathspec, use_exclude, use_index); } else if (0 <= opt_exclude) { die(_("--[no-]exclude-standard cannot be used for tracked contents.")); } else if (!list.nr) { diff --git a/builtin/init-db.c b/builtin/init-db.c index 6223b7d46a..da531f6b76 100644 --- a/builtin/init-db.c +++ b/builtin/init-db.c @@ -322,6 +322,7 @@ int set_git_dir_init(const char *git_dir, const char *real_git_dir, set_git_dir(real_path(git_dir)); git_link = NULL; } + startup_info->have_repository = 1; return 0; } |