From: Nguyen Thai Ngoc Duy Date: Wed, 22 Dec 2010 07:22:30 GMT Subject: Re: [PATCH 44/47] Remove all logic from get_git_work_tree() Message-ID: In-Reply-To: <7vpqsu6059.fsf@alter.siamese.dyndns.org> 2010/12/22 Junio C Hamano : >>  const char *get_git_work_tree(void) >>  { >> -     if (startup_info && !startup_info->setup_explicit) { >> -... >> -     } >>       return work_tree; >>  } > > Would it be a bug in the new set-up code if this function gets called and > work_tree is still NULL? > > There are quite a few callers that call get_git_work_tree() and expect > that it will always return a non NULL pointer.  Perhaps we would want an > assertion here? > While the assertion sounds good, it does not work well. The old function can return NULL in bare repos. is_bare_repository() and is_inside_work_tree() expect NULL from get_git_work_tree() sometimes. I'll see if I can move is_inside_work_tree() over environment.c (so that both callers can access work_tree var directly) and have a clean "make test". It does not look feasible though because of the static variable inside_work_tree in setup.c. -- Duy