X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=setup.c;h=43cd3f94ea31a7a2a8f8a07cbb67598bb1e52c39;hb=5d3d1cacc139194672a6a184509bb620a19b2497;hp=df006d9c4a674b224f36318742ef01b339d797b3;hpb=e0901de4b139f8a74f2ce6efa9be83e9b7d40afd;p=git.git diff --git a/setup.c b/setup.c index df006d9c4..43cd3f94e 100644 --- a/setup.c +++ b/setup.c @@ -206,13 +206,20 @@ static const char *set_work_tree(const char *dir) return NULL; } -void setup_work_tree(void) { - const char *work_tree = get_git_work_tree(); - const char *git_dir = get_git_dir(); +void setup_work_tree(void) +{ + const char *work_tree, *git_dir; + static int initialized = 0; + + if (initialized) + return; + work_tree = get_git_work_tree(); + git_dir = get_git_dir(); if (!is_absolute_path(git_dir)) set_git_dir(make_absolute_path(git_dir)); if (!work_tree || chdir(work_tree)) die("This operation must be run in a work tree"); + initialized = 1; } /*