Why is not platform specific 'realpath' used instead of 'os.path.realpath' ?

FUJIWARA Katsunori foozy at lares.dti.ne.jp
Thu Aug 9 10:04:26 CDT 2012


At Thu, 09 Aug 2012 12:30:48 +0200,
Mads Kiilerich wrote:
> 
> On 09/08/12 09:48, FUJIWARA Katsunori wrote:
> > Hi, devels.
> >
> > I found that:
> >
> >    - platform specific 'realpath()' is defined in posix.py and
> >      windows.py,
> >
> >    - 'os.path.realpath' is not replaced by it, so it should be used via
> >      'util.realpath()', but
> >
> >    - there is no implementation using 'util.realpath()'
> >
> >      even though fixing about platform specific 'realpath()' were done
> >      in 2009, 2010 and 2011:
> >
> >        - 40196d036a71
> >        - e98bf6948092
> >        - ab600a25dfc0
> >
> > Are there any historical/technical reasons not to use
> > 'util.realpath()' ?
> >
> > If not, we should use 'util.realpath()' instead of
> > 'os.path.realpath()', shouldn't we ?
> >
> > I just checked only 'realpath' symbol usage in current implementation,
> > so please tell me if I overlook any important points.
> >
> 
> Some digging shows that it was used in 
> http://selenic.com/repo/hg/rev/26fa0e31011d but backed out again in 
> http://selenic.com/repo/hg/rev/f6683a7011e9 .
> 
> It was discussed around 
> http://www.selenic.com/pipermail/mercurial-devel/2011-October/ . It was 
> fixed http://selenic.com/repo/hg/rev/ab600a25dfc0 and used 
> http://selenic.com/repo/hg/rev/42630f54e513 and used everywhere 
> http://selenic.com/repo/hg/rev/dbdb777502dc ... and all uses backed out 
> again in http://selenic.com/repo/hg/rev/c519cd8f0169 .
> 
> Here be dragons!
> 
> But yes, all uses of os.path should IMO go away and be replaced by the 
> VFS (or other means).
> 
> /Mads

Thank you for important information ! but, ..... it seems to be big
dragon .....

I'll confirm circumstances of changes around 'os.path.realpath' and
migrate them to 'util.realpath' invocation via VFS.

----------------------------------------------------------------------
[FUJIWARA Katsunori]                             foozy at lares.dti.ne.jp


More information about the Mercurial-devel mailing list