Re: [PATCH 4/8] Add a function to set a non-default work tree
On Friday 18 April 2008, Daniel Barkalow wrote:
Show 30 quoted lines
> Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
> ---
> cache.h | 1 +
> environment.c | 6 ++++++
> 2 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/cache.h b/cache.h
> index 96dcb49..d88a4e2 100644
> --- a/cache.h
> +++ b/cache.h
> @@ -311,6 +311,7 @@ extern char *get_index_file(void);
> extern char *get_graft_file(void);
> extern int set_git_dir(const char *path);
> extern const char *get_git_work_tree(void);
> +extern void set_git_work_tree(const char *tree);
>
> #define ALTERNATE_DB_ENVIRONMENT "GIT_ALTERNATE_OBJECT_DIRECTORIES"
>
> diff --git a/environment.c b/environment.c
> index 6739a3f..d6c6a6b 100644
> --- a/environment.c
> +++ b/environment.c
> @@ -81,6 +81,12 @@ const char *get_git_dir(void)
> return git_dir;
> }
>
> +void set_git_work_tree(const char *new_work_tree)
> +{
> + get_git_work_tree(); /* make sure it's initialized */
> + work_tree = xstrdup(make_absolute_path(new_work_tree));Shouldn't we free(work_tree) before resetting it?
Show 5 quoted lines
> +}
> +
> const char *get_git_work_tree(void)
> {
> static int initialized = 0;--
Johan Herland, <johan@herland.net>
www.herland.net