è€åã§ãã
ããããå
ã¯ãäŸã«ãã£ãŠ GOTO ãããžã®æ¥åé£çµ¡ã§ã(ç¬)ã
ä¿®æ£ç win32mbcs ã¯ã察åŠå¯Ÿè±¡ã« os.path.abspathãos.path.realpath
ãå ããã®ã§ãããå©çšããŠããç®æãçµæ§ãã£ãã®ã§ãæå³çã«é€å€ããŠãã
ã®ãïŒãšå¿é
ãããããŠãŸãããã©ããªã®ã§ãããïŒ
========================================
diff -r 5983de86462c hgext/win32mbcs.py
--- a/hgext/win32mbcs.py   Thu May 03 16:03:08 2012 -0500
+++ b/hgext/win32mbcs.py   Fri May 18 19:44:17 2012 +0900
@@ -127,7 +127,8 @@
 # NOTE: os.path.dirname() and os.path.basename() are safe because
 #      they use result of os.path.split()
 funcs = '''os.path.join os.path.split os.path.splitext
- os.path.normpath os.makedirs
+ os.path.normpath os.path.abspath os.path.realpath
+ os.makedirs
 mercurial.util.endswithsep mercurial.util.splitpath mercurial.util.checkcase
 mercurial.util.fspath mercurial.util.pconvert mercurial.util.normpath
 mercurial.util.checkwinfilename mercurial.util.checkosfilename'''
========================================
ãããã¯ãPython ã®çã«ãã£ãŠæåãéããšãïŒ
ç§ã® Python 2.7.2 @ win7 64bit ç°å¢ã ãš:
========================================
>> p = 'c:\\\x8b\x40\x94\x5c'
>> print p
c:\æ©èœ
>> os.path.abspath(p)
'c:\\\x8b@\x94'
>> print os.path.abspath(p)
c:\æ©(å£ããæå)
========================================
ã¿ãããªæãã§ããã¹æ«å°Ÿã®ããã¯ã¹ã©ãã·ã¥ãç Žæ£ãããŠããŸãã®
ã§ã-R ã§ãªããžããªãã¹ãæå®ãããšããããã§åŠçæžã¿ã®ãã¹ãæ¢ã
ã«è¡ã£ãŠãããªããžããªãç¡ããããšãšã©ãŒäžæããŠããŸããŸãã
ãã®å Žåã§ãããšã©ãŒã¡ãã»ãŒãžäžã«è¡šç€ºããããã¹ã¯åŠçåã®ãã¹ãªã®ã§ã
ãç¡ããšèšã£ãŠãããã¹ã¯ã¡ãããšååšããŠããã®ã«ïŒïŒããªã©ãšé©ãäºæ
ã«ã
2012幎5æ18æ¥éææ¥ 19æ28å53ç§ UTC+9 ããžã¯ã©: