mirror of
https://github.com/git/git
synced 2024-08-28 12:09:19 +00:00
![David Reiss](/assets/img/avatar_default.png)
Make git recognize a new environment variable that prevents it from chdir'ing up into specified directories when looking for a GIT_DIR. Useful for avoiding slow network directories. For example, I use git in an environment where homedirs are automounted and "ls /home/nonexistent" takes about 9 seconds. Setting GIT_CEILING_DIRS="/home" allows "git help -a" (for bash completion) and "git symbolic-ref" (for my shell prompt) to run in a reasonable time. Signed-off-by: David Reiss <dreiss@facebook.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
27 lines
566 B
C
27 lines
566 B
C
#include "cache.h"
|
|
|
|
int main(int argc, char **argv)
|
|
{
|
|
if (argc == 3 && !strcmp(argv[1], "normalize_absolute_path")) {
|
|
char *buf = xmalloc(strlen(argv[2])+1);
|
|
int rv = normalize_absolute_path(buf, argv[2]);
|
|
assert(strlen(buf) == rv);
|
|
puts(buf);
|
|
}
|
|
|
|
if (argc >= 2 && !strcmp(argv[1], "make_absolute_path")) {
|
|
while (argc > 2) {
|
|
puts(make_absolute_path(argv[2]));
|
|
argc--;
|
|
argv++;
|
|
}
|
|
}
|
|
|
|
if (argc == 4 && !strcmp(argv[1], "longest_ancestor_length")) {
|
|
int len = longest_ancestor_length(argv[2], argv[3]);
|
|
printf("%d\n", len);
|
|
}
|
|
|
|
return 0;
|
|
}
|