From: Nguyen Thai Ngoc Duy Date: Wed, 16 Mar 2011 14:04:11 GMT Subject: Re: [PATCH 1/3] make_absolute_path: Don't try to copy a string to itself Message-ID: In-Reply-To: <7vd3lsb9m3.fsf@alter.siamese.dyndns.org> On Wed, Mar 16, 2011 at 12:02 AM, Junio C Hamano wrote: > Carlos Martín Nieto writes: > >> On mar, 2011-03-15 at 12:59 +0100, Carlos Martín Nieto wrote: >>> On lun, 2011-03-14 at 15:58 -0700, Junio C Hamano wrote: >>> > Carlos Martín Nieto writes: >> [...] >>> > >>> > >  There is however the extra functionality the function offers, namely >>> > > resolving links. It might be good to split it into two functions so each >>> > > caller can specify what it wants. >>> > >>> > Probably. >>> >>>  With the changes mentioned earlier, if you want an absolute pathname, >>> you'd call absolute_path/make_nonrelative_path and if you want to make >>> sure you have the real path of the target file, you'd use real_path just >>> as you'd use realpath on a sane system, with >> >>  ... a comment on the functions and maybe some documentation in >> Documentation/techncal, as it doesn't seem to exist yet. > > We probably should involve Nguyễn in this thread as his fingers are > everywhere on the codepaths related to setup. Thanks, my attempt to fix up setup code leaves more traces that I expect. Splitting functions is fine, but is there any use of absolute_path/make_nonrelative_path alone? Most setup code uses make_absolute_path() for $GIT_{DIR,WORK_TREE}. For GIT_DIR, a resolved/normalized path is preferred. For GIT_WORK_TREE, I'm not sure. I tend to treat it the same way as GIT_DIR, but you guys may have a special case. -- Duy