Migrate 'work_tree' to be stored in 'the_repository'.

Signed-off-by: Brandon Williams <bmw...@google.com>
---
 environment.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/environment.c b/environment.c
index aa79ef83e..3fd4b1084 100644
--- a/environment.c
+++ b/environment.c
@@ -96,7 +96,6 @@ int ignore_untracked_cache_config;
 
 /* This is set by setup_git_dir_gently() and/or git_default_config() */
 char *git_work_tree_cfg;
-static char *work_tree;
 
 static const char *namespace;
 
@@ -223,19 +222,19 @@ void set_git_work_tree(const char *new_work_tree)
 {
        if (git_work_tree_initialized) {
                new_work_tree = real_path(new_work_tree);
-               if (strcmp(new_work_tree, work_tree))
+               if (strcmp(new_work_tree, the_repository->worktree))
                        die("internal error: work tree has already been set\n"
                            "Current worktree: %s\nNew worktree: %s",
-                           work_tree, new_work_tree);
+                           the_repository->worktree, new_work_tree);
                return;
        }
        git_work_tree_initialized = 1;
-       work_tree = real_pathdup(new_work_tree, 1);
+       repo_set_worktree(the_repository, new_work_tree);
 }
 
 const char *get_git_work_tree(void)
 {
-       return work_tree;
+       return the_repository->worktree;
 }
 
 char *get_object_directory(void)
-- 
2.13.1.611.g7e3b11ae1-goog

Reply via email to