author | Junio C Hamano <gitster@pobox.com> | |
Wed, 23 Mar 2011 04:38:12 +0000 (21:38 -0700) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Wed, 23 Mar 2011 04:38:12 +0000 (21:38 -0700) |
* jn/test-sanitize-git-env:
tests: scrub environment of GIT_* variables
config: drop support for GIT_CONFIG_NOGLOBAL
gitattributes: drop support for GIT_ATTR_NOGLOBAL
tests: suppress system gitattributes
tests: stop worrying about obsolete environment variables
tests: scrub environment of GIT_* variables
config: drop support for GIT_CONFIG_NOGLOBAL
gitattributes: drop support for GIT_ATTR_NOGLOBAL
tests: suppress system gitattributes
tests: stop worrying about obsolete environment variables
1 | 2 | |||
---|---|---|---|---|
cache.h | patch | | diff1 | | diff2 | | blob | history |
config.c | patch | | diff1 | | diff2 | | blob | history |
t/test-lib.sh | patch | | diff1 | | diff2 | | blob | history |
diff --combined cache.h
index be6ce7237d4c2d8a6d708629985c3c058c236563,a8ef37a6903ee9768fc12df345fd47af5107723f..872bc9be11d8236673a96ea7ba9c9b77b72034b0
+++ b/cache.h
#include "strbuf.h"
#include "hash.h"
#include "advice.h"
+#include "gettext.h"
#include SHA1_HEADER
#ifndef git_SHA_CTX
struct pathspec {
const char **raw; /* get_pathspec() result, not freed by free_pathspec() */
int nr;
- int has_wildcard:1;
- int recursive:1;
+ unsigned int has_wildcard:1;
+ unsigned int recursive:1;
int max_depth;
struct pathspec_item {
const char *match;
int len;
- int has_wildcard:1;
+ unsigned int has_wildcard:1;
} *items;
};
enum auto_crlf {
AUTO_CRLF_FALSE = 0,
AUTO_CRLF_TRUE = 1,
- AUTO_CRLF_INPUT = -1,
+ AUTO_CRLF_INPUT = -1
};
extern enum auto_crlf auto_crlf;
return path[0] == '/' || has_dos_drive_prefix(path);
}
int is_directory(const char *);
-const char *make_absolute_path(const char *path);
-const char *make_nonrelative_path(const char *path);
-const char *make_relative_path(const char *abs, const char *base);
+const char *real_path(const char *path);
+const char *absolute_path(const char *path);
+const char *relative_path(const char *abs, const char *base);
int normalize_path_copy(char *dst, const char *src);
int longest_ancestor_length(const char *path, const char *prefix_list);
char *strip_path_suffix(const char *path, const char *suffix);
time_t mtime;
int pack_fd;
unsigned pack_local:1,
- pack_keep:1;
+ pack_keep:1,
+ do_not_close:1;
unsigned char sha1[20];
/* something like ".git/objects/pack/xxxxx.pack" */
char pack_name[FLEX_ARRAY]; /* more */
extern int check_repository_format_version(const char *var, const char *value, void *cb);
extern int git_env_bool(const char *, int);
extern int git_config_system(void);
- extern int git_config_global(void);
extern int config_error_nonbool(const char *);
extern const char *get_log_output_encoding(void);
extern const char *get_commit_output_encoding(void);
/* trace.c */
__attribute__((format (printf, 1, 2)))
extern void trace_printf(const char *format, ...);
+extern void trace_vprintf(const char *key, const char *format, va_list ap);
__attribute__((format (printf, 2, 3)))
extern void trace_argv_printf(const char **argv, const char *format, ...);
extern void trace_repo_setup(const char *prefix);
+extern int trace_want(const char *key);
+extern void trace_strbuf(const char *key, const struct strbuf *buf);
+
+void packet_trace_identity(const char *prog);
/* convert.c */
/* returns 1 if *dst was used */
diff --combined config.c
index fa740a6a60a49512b613f70add97d445f622afd2,217a77ddaf43c8eca6d7d4aea06a5ac091880f76..e28197a3f64cb8672f8aeef26cc0402c7c22548d
+++ b/config.c
const char *config_exclusive_filename = NULL;
-struct config_item
-{
+struct config_item {
struct config_item *next;
char *name;
char *value;
return !git_env_bool("GIT_CONFIG_NOSYSTEM", 0);
}
- int git_config_global(void)
- {
- return !git_env_bool("GIT_CONFIG_NOGLOBAL", 0);
- }
-
int git_config_from_parameters(config_fn_t fn, void *data)
{
static int loaded_environment;
}
home = getenv("HOME");
- if (git_config_global() && home) {
+ if (home) {
char *user_config = xstrdup(mkpath("%s/.gitconfig", home));
if (!access(user_config, R_OK)) {
ret += git_config_from_file(fn, user_config, data);
diff --combined t/test-lib.sh
index f4c1e04e4f26ca38b57fc6c47b05cf92111107b6,8aac727fb22eedc7ae57c0db94f1b3405df0de57..7cc9a52cbf78358e545f27cd5b7f69ac2030ecbf
--- 1/t/test-lib.sh
--- 2/t/test-lib.sh
+++ b/t/test-lib.sh
export LANG LC_ALL PAGER TERM TZ
EDITOR=:
unset VISUAL
- unset GIT_EDITOR
- unset AUTHOR_DATE
- unset AUTHOR_EMAIL
- unset AUTHOR_NAME
- unset COMMIT_AUTHOR_EMAIL
- unset COMMIT_AUTHOR_NAME
unset EMAIL
- unset GIT_ALTERNATE_OBJECT_DIRECTORIES
- unset GIT_AUTHOR_DATE
+ unset $(perl -e '
+ my @env = keys %ENV;
+ my @vars = grep(/^GIT_/ && !/^GIT_(TRACE|DEBUG|USE_LOOKUP)/, @env);
+ print join("\n", @vars);
+ ')
GIT_AUTHOR_EMAIL=author@example.com
GIT_AUTHOR_NAME='A U Thor'
- unset GIT_COMMITTER_DATE
GIT_COMMITTER_EMAIL=committer@example.com
GIT_COMMITTER_NAME='C O Mitter'
- unset GIT_DIFF_OPTS
- unset GIT_DIR
- unset GIT_WORK_TREE
- unset GIT_EXTERNAL_DIFF
- unset GIT_INDEX_FILE
- unset GIT_OBJECT_DIRECTORY
- unset GIT_CEILING_DIRECTORIES
- unset SHA1_FILE_DIRECTORIES
- unset SHA1_FILE_DIRECTORY
- unset GIT_NOTES_REF
- unset GIT_NOTES_DISPLAY_REF
- unset GIT_NOTES_REWRITE_REF
- unset GIT_NOTES_REWRITE_MODE
- unset GIT_REFLOG_ACTION
- unset GIT_CHERRY_PICK_HELP
- unset GIT_QUIET
GIT_MERGE_VERBOSITY=5
export GIT_MERGE_VERBOSITY
export GIT_AUTHOR_EMAIL GIT_AUTHOR_NAME
GIT_TEMPLATE_DIR="$GIT_BUILD_DIR"/templates/blt
unset GIT_CONFIG
GIT_CONFIG_NOSYSTEM=1
- GIT_CONFIG_NOGLOBAL=1
- export PATH GIT_EXEC_PATH GIT_TEMPLATE_DIR GIT_CONFIG_NOSYSTEM GIT_CONFIG_NOGLOBAL
+ GIT_ATTR_NOSYSTEM=1
+ export PATH GIT_EXEC_PATH GIT_TEMPLATE_DIR GIT_CONFIG_NOSYSTEM GIT_ATTR_NOSYSTEM
. "$GIT_BUILD_DIR"/GIT-BUILD-OPTIONS
test -z "$NO_PERL" && test_set_prereq PERL
test -z "$NO_PYTHON" && test_set_prereq PYTHON
+# Can we rely on git's output in the C locale?
+if test -n "$GETTEXT_POISON"
+then
+ GIT_GETTEXT_POISON=YesPlease
+ export GIT_GETTEXT_POISON
+else
+ test_set_prereq C_LOCALE_OUTPUT
+fi
+
# test whether the filesystem supports symbolic links
ln -s x y 2>/dev/null && test -h y 2>/dev/null && test_set_prereq SYMLINKS
rm -f y