diff options
author | Junio C Hamano <gitster@pobox.com> | 2014-10-09 00:05:32 +0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-10-09 00:05:32 +0400 |
commit | f0d89001750a27c1c447b2eb3149b998521fa52c (patch) | |
tree | 01a5829fe13f88fa399429c56fdc1d3f798309cf /config.c | |
parent | 9342f49738a6b539b94a344fdfd45cf29c93ffcd (diff) | |
parent | 9079ab7cb6768fa04e086303f90be043b423cca4 (diff) |
Merge branch 'sp/stream-clean-filter'
When running a required clean filter, we do not have to mmap the
original before feeding the filter. Instead, stream the file
contents directly to the filter and process its output.
* sp/stream-clean-filter:
sha1_file: don't convert off_t to size_t too early to avoid potential die()
convert: stream from fd to required clean filter to reduce used address space
copy_fd(): do not close the input file descriptor
mmap_limit: introduce GIT_MMAP_LIMIT to allow testing expected mmap size
memory_limit: use git_env_ulong() to parse GIT_ALLOC_LIMIT
config.c: add git_env_ulong() to parse environment variable
convert: drop arguments other than 'path' from would_convert_to_git()
Diffstat (limited to 'config.c')
-rw-r--r-- | config.c | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -1139,12 +1139,28 @@ const char *git_etc_gitconfig(void) return system_wide; } +/* + * Parse environment variable 'k' as a boolean (in various + * possible spellings); if missing, use the default value 'def'. + */ int git_env_bool(const char *k, int def) { const char *v = getenv(k); return v ? git_config_bool(k, v) : def; } +/* + * Parse environment variable 'k' as ulong with possibly a unit + * suffix; if missing, use the default value 'val'. + */ +unsigned long git_env_ulong(const char *k, unsigned long val) +{ + const char *v = getenv(k); + if (v && !git_parse_ulong(v, &val)) + die("failed to parse %s", k); + return val; +} + int git_config_system(void) { return !git_env_bool("GIT_CONFIG_NOSYSTEM", 0); |