From: Jared Hance Date: Sat, 03 Mar 2012 23:23:09 GMT Subject: Re: [PATCH 1/3] Use startup_info->prefix rather than prefix. Message-ID: In-Reply-To: <7vbood742a.fsf@alter.siamese.dyndns.org> Junio C Hamano pobox.com> writes: > Hrm, that explanation is understandable, but it strongly makes me suspect > that this change is making the code _more_ error prone in the longer term. > > When somebody wants to add a new caller to a non-builtin, they need to > think about what prefix to pass, and would realize that they need to call > setup_git_directory() to get it. With the updated code, they can totally > forget and call it without any initialized startup_info. > > Adding a totally new command is rare, new non-builtin is rarer, and adding > trace to it is even more so, so it may not be worth worrying about, but I > wonder if there is a cheap way to check such a programming mistake. > Well, there are really four options: - Old code, where user must pass in prefix - New code, where user must call setup_git_directory() - Have the function deliver a nice diagnostic error message if startup_info hasn't been initialized - Have the function call setup_git_directory() if startup_info hasn't been initialized I think one of the latter two is the most sane here.