Re: [PATCH 1/3] make_absolute_path: Don't try to copy a string to itself

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On miÃ, 2011-03-16 at 21:04 +0700, Nguyen Thai Ngoc Duy wrote:
> On Wed, Mar 16, 2011 at 12:02 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote:
> > Carlos MartÃn Nieto <cmn@xxxxxxxx> 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 <cmn@xxxxxxxx> 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.

 There only real use for absolute_path/make_nonrelative_path would be
for paths that are written to disk (as we should respect the user's path
preferences). For paths we never write out, real_path/make_absolute_path
makes sense.

 The way I want to split it up is to have real_path use a simplistic
approach, and use a resolve_link function if it needs to. From logging
what paths make_absolute_path is called with, all I could find were
directories ("." is used very often as well). This should make real_path
very easy to understand. I'll start a new thread with the renaming
patches and then split up the function.

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]