Merge lp:~luoyonggang/subvertpy/unittest-win32 into lp:~jelmer/subvertpy/trunk

Proposed by Yonggang Luo
Status: Merged
Merged at revision: 2446
Proposed branch: lp:~luoyonggang/subvertpy/unittest-win32
Merge into: lp:~jelmer/subvertpy/trunk
Diff against target: 19 lines (+2/-1)
1 file modified
subvertpy/tests/__init__.py (+2/-1)
To merge this branch: bzr merge lp:~luoyonggang/subvertpy/unittest-win32
Reviewer Review Type Date Requested Status
Jelmer Vernooij Needs Fixing
Review via email: mp+96920@code.launchpad.net

Description of the change

Test result:
D:\CI\bld\vcs\subvertpy-origin>python setup.py test
running test
running build
copying D:\CI\bld\vcs\svn-win32-1.6.17\bin\libapr-1.dll -> build\..\subvertpy
copying D:\CI\bld\vcs\svn-win32-1.6.17\bin\libapriconv-1.dll -> build\..\subvertpy
copying D:\CI\bld\vcs\svn-win32-1.6.17\bin\libaprutil-1.dll -> build\..\subvertpy
copying D:\CI\bld\vcs\svn-win32-1.6.17\bin\libsvn_client-1.dll -> build\..\subvertpy
copying D:\CI\bld\vcs\svn-win32-1.6.17\bin\libsvn_delta-1.dll -> build\..\subvertpy
copying D:\CI\bld\vcs\svn-win32-1.6.17\bin\libsvn_diff-1.dll -> build\..\subvertpy
copying D:\CI\bld\vcs\svn-win32-1.6.17\bin\libsvn_fs-1.dll -> build\..\subvertpy
copying D:\CI\bld\vcs\svn-win32-1.6.17\bin\libsvn_ra-1.dll -> build\..\subvertpy
copying D:\CI\bld\vcs\svn-win32-1.6.17\bin\libsvn_repos-1.dll -> build\..\subvertpy
copying D:\CI\bld\vcs\svn-win32-1.6.17\bin\libsvn_subr-1.dll -> build\..\subvertpy
copying D:\CI\bld\vcs\svn-win32-1.6.17\bin\libsvn_wc-1.dll -> build\..\subvertpy
copying D:\CI\bld\vcs\svn-win32-1.6.17\bin\libsasl.dll -> build\..\subvertpy
copying D:\CI\bld\vcs\svn-win32-1.6.17\bin\libdb44.dll -> build\..\subvertpy
copying D:\CI\bld\vcs\svn-win32-1.6.17\bin\intl3_svn.dll -> build\..\subvertpy
copying D:\CI\bld\vcs\svn-win32-1.6.17\bin\libeay32.dll -> build\..\subvertpy
copying D:\CI\bld\vcs\svn-win32-1.6.17\bin\ssleay32.dll -> build\..\subvertpy
running build_py
creating build
creating build\lib.win32-2.7
creating build\lib.win32-2.7\subvertpy
copying subvertpy\delta.py -> build\lib.win32-2.7\subvertpy
copying subvertpy\marshall.py -> build\lib.win32-2.7\subvertpy
copying subvertpy\properties.py -> build\lib.win32-2.7\subvertpy
copying subvertpy\ra.py -> build\lib.win32-2.7\subvertpy
copying subvertpy\ra_svn.py -> build\lib.win32-2.7\subvertpy
copying subvertpy\server.py -> build\lib.win32-2.7\subvertpy
copying subvertpy\__init__.py -> build\lib.win32-2.7\subvertpy
creating build\lib.win32-2.7\subvertpy\tests
copying subvertpy\tests\test_client.py -> build\lib.win32-2.7\subvertpy\tests
copying subvertpy\tests\test_core.py -> build\lib.win32-2.7\subvertpy\tests
copying subvertpy\tests\test_delta.py -> build\lib.win32-2.7\subvertpy\tests
copying subvertpy\tests\test_marshall.py -> build\lib.win32-2.7\subvertpy\tests
copying subvertpy\tests\test_properties.py -> build\lib.win32-2.7\subvertpy\tests
copying subvertpy\tests\test_ra.py -> build\lib.win32-2.7\subvertpy\tests
copying subvertpy\tests\test_repos.py -> build\lib.win32-2.7\subvertpy\tests
copying subvertpy\tests\test_server.py -> build\lib.win32-2.7\subvertpy\tests
copying subvertpy\tests\test_wc.py -> build\lib.win32-2.7\subvertpy\tests
copying subvertpy\tests\__init__.py -> build\lib.win32-2.7\subvertpy\tests
copying subvertpy\intl3_svn.dll -> build\lib.win32-2.7\subvertpy
copying subvertpy\libapr-1.dll -> build\lib.win32-2.7\subvertpy
copying subvertpy\libapriconv-1.dll -> build\lib.win32-2.7\subvertpy
copying subvertpy\libaprutil-1.dll -> build\lib.win32-2.7\subvertpy
copying subvertpy\libdb44.dll -> build\lib.win32-2.7\subvertpy
copying subvertpy\libeay32.dll -> build\lib.win32-2.7\subvertpy
copying subvertpy\libsasl.dll -> build\lib.win32-2.7\subvertpy
copying subvertpy\libsvn_client-1.dll -> build\lib.win32-2.7\subvertpy
copying subvertpy\libsvn_delta-1.dll -> build\lib.win32-2.7\subvertpy
copying subvertpy\libsvn_diff-1.dll -> build\lib.win32-2.7\subvertpy
copying subvertpy\libsvn_fs-1.dll -> build\lib.win32-2.7\subvertpy
copying subvertpy\libsvn_ra-1.dll -> build\lib.win32-2.7\subvertpy
copying subvertpy\libsvn_repos-1.dll -> build\lib.win32-2.7\subvertpy
copying subvertpy\libsvn_subr-1.dll -> build\lib.win32-2.7\subvertpy
copying subvertpy\libsvn_wc-1.dll -> build\lib.win32-2.7\subvertpy
copying subvertpy\ssleay32.dll -> build\lib.win32-2.7\subvertpy
running build_ext
building 'subvertpy.client' extension
creating build\temp.win32-2.7
creating build\temp.win32-2.7\Release
creating build\temp.win32-2.7\Release\subvertpy
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DWIN32 -I. -I. -ID:\CI\bld\vcs\svn-win32-1.6.17
\include\apr -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-util -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-iconv -ID:\CI\bld\vcs\svn-win32-1.6.17\inc
lude -Isubvertpy -IC:\Python27\include -IC:\Python27\PC /Tcsubvertpy\client.c /Fobuild\temp.win32-2.7\Release\subvertpy\client.obj
client.c
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DWIN32 -I. -I. -ID:\CI\bld\vcs\svn-win32-1.6.17
\include\apr -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-util -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-iconv -ID:\CI\bld\vcs\svn-win32-1.6.17\inc
lude -Isubvertpy -IC:\Python27\include -IC:\Python27\PC /Tcsubvertpy\editor.c /Fobuild\temp.win32-2.7\Release\subvertpy\editor.obj
editor.c
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DWIN32 -I. -I. -ID:\CI\bld\vcs\svn-win32-1.6.17
\include\apr -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-util -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-iconv -ID:\CI\bld\vcs\svn-win32-1.6.17\inc
lude -Isubvertpy -IC:\Python27\include -IC:\Python27\PC /Tcsubvertpy\util.c /Fobuild\temp.win32-2.7\Release\subvertpy\util.obj
util.c
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DWIN32 -I. -I. -ID:\CI\bld\vcs\svn-win32-1.6.17
\include\apr -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-util -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-iconv -ID:\CI\bld\vcs\svn-win32-1.6.17\inc
lude -Isubvertpy -IC:\Python27\include -IC:\Python27\PC /Tcsubvertpy\_ra.c /Fobuild\temp.win32-2.7\Release\subvertpy\_ra.obj
_ra.c
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DWIN32 -I. -I. -ID:\CI\bld\vcs\svn-win32-1.6.17
\include\apr -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-util -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-iconv -ID:\CI\bld\vcs\svn-win32-1.6.17\inc
lude -Isubvertpy -IC:\Python27\include -IC:\Python27\PC /Tcsubvertpy\wc.c /Fobuild\temp.win32-2.7\Release\subvertpy\wc.obj
wc.c
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:D:\CI\bld\vcs\svn-win32-1.6.17\lib /LIBPATH:D
:\CI\bld\vcs\svn-win32-1.6.17\lib\apr /LIBPATH:D:\CI\bld\vcs\svn-win32-1.6.17\lib\apr-iconv /LIBPATH:D:\CI\bld\vcs\svn-win32-1.6.17\lib\apr-util /LIBP
ATH:D:\CI\bld\vcs\svn-win32-1.6.17\lib\neon /LIBPATH:D:\CI\bld\vcs\db4-win32-4.4.20\lib /LIBPATH:D:\CI\bld\vcs\svn-win32-libintl\lib /LIBPATH:C:\Pytho
n27\libs /LIBPATH:C:\Python27\PCbuild libapr-1.lib libapriconv-1.lib libaprutil-1.lib libneon.lib libsvn_subr-1.lib libsvn_client-1.lib libsvn_ra-1.li
b libsvn_ra_local-1.lib libsvn_ra_svn-1.lib libsvn_repos-1.lib libsvn_wc-1.lib libsvn_delta-1.lib libsvn_diff-1.lib libsvn_fs-1.lib libsvn_repos-1.lib
 libsvn_fs_fs-1.lib libsvn_fs_base-1.lib intl3_svn.lib xml.lib advapi32.lib shell32.lib ws2_32.lib zlibstat.lib libdb44.lib /EXPORT:initclient build\t
emp.win32-2.7\Release\subvertpy\client.obj build\temp.win32-2.7\Release\subvertpy\editor.obj build\temp.win32-2.7\Release\subvertpy\util.obj build\tem
p.win32-2.7\Release\subvertpy\_ra.obj build\temp.win32-2.7\Release\subvertpy\wc.obj /OUT:build\lib.win32-2.7\subvertpy\client.pyd /IMPLIB:build\temp.w
in32-2.7\Release\subvertpy\client.lib /MANIFESTFILE:build\temp.win32-2.7\Release\subvertpy\client.pyd.manifest
   Creating library build\temp.win32-2.7\Release\subvertpy\client.lib and object build\temp.win32-2.7\Release\subvertpy\client.exp
C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\mt.exe -nologo -manifest build\temp.win32-2.7\Release\subvertpy\client.pyd.manifest -outputresource:
build\lib.win32-2.7\subvertpy\client.pyd;2
building 'subvertpy._ra' extension
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DWIN32 -I. -I. -ID:\CI\bld\vcs\svn-win32-1.6.17
\include\apr -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-util -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-iconv -ID:\CI\bld\vcs\svn-win32-1.6.17\inc
lude -Isubvertpy -IC:\Python27\include -IC:\Python27\PC /Tcsubvertpy\_ra.c /Fobuild\temp.win32-2.7\Release\subvertpy\_ra.obj
_ra.c
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DWIN32 -I. -I. -ID:\CI\bld\vcs\svn-win32-1.6.17
\include\apr -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-util -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-iconv -ID:\CI\bld\vcs\svn-win32-1.6.17\inc
lude -Isubvertpy -IC:\Python27\include -IC:\Python27\PC /Tcsubvertpy\util.c /Fobuild\temp.win32-2.7\Release\subvertpy\util.obj
util.c
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DWIN32 -I. -I. -ID:\CI\bld\vcs\svn-win32-1.6.17
\include\apr -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-util -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-iconv -ID:\CI\bld\vcs\svn-win32-1.6.17\inc
lude -Isubvertpy -IC:\Python27\include -IC:\Python27\PC /Tcsubvertpy\editor.c /Fobuild\temp.win32-2.7\Release\subvertpy\editor.obj
editor.c
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:D:\CI\bld\vcs\svn-win32-1.6.17\lib /LIBPATH:D
:\CI\bld\vcs\svn-win32-1.6.17\lib\apr /LIBPATH:D:\CI\bld\vcs\svn-win32-1.6.17\lib\apr-iconv /LIBPATH:D:\CI\bld\vcs\svn-win32-1.6.17\lib\apr-util /LIBP
ATH:D:\CI\bld\vcs\svn-win32-1.6.17\lib\neon /LIBPATH:D:\CI\bld\vcs\db4-win32-4.4.20\lib /LIBPATH:D:\CI\bld\vcs\svn-win32-libintl\lib /LIBPATH:C:\Pytho
n27\libs /LIBPATH:C:\Python27\PCbuild libapr-1.lib libapriconv-1.lib libaprutil-1.lib libneon.lib libsvn_subr-1.lib libsvn_client-1.lib libsvn_ra-1.li
b libsvn_ra_local-1.lib libsvn_ra_svn-1.lib libsvn_repos-1.lib libsvn_wc-1.lib libsvn_delta-1.lib libsvn_diff-1.lib libsvn_fs-1.lib libsvn_repos-1.lib
 libsvn_fs_fs-1.lib libsvn_fs_base-1.lib intl3_svn.lib xml.lib advapi32.lib shell32.lib ws2_32.lib zlibstat.lib libdb44.lib /EXPORT:init_ra build\temp
.win32-2.7\Release\subvertpy\_ra.obj build\temp.win32-2.7\Release\subvertpy\util.obj build\temp.win32-2.7\Release\subvertpy\editor.obj /OUT:build\lib.
win32-2.7\subvertpy\_ra.pyd /IMPLIB:build\temp.win32-2.7\Release\subvertpy\_ra.lib /MANIFESTFILE:build\temp.win32-2.7\Release\subvertpy\_ra.pyd.manife
st
   Creating library build\temp.win32-2.7\Release\subvertpy\_ra.lib and object build\temp.win32-2.7\Release\subvertpy\_ra.exp
C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\mt.exe -nologo -manifest build\temp.win32-2.7\Release\subvertpy\_ra.pyd.manifest -outputresource:bui
ld\lib.win32-2.7\subvertpy\_ra.pyd;2
building 'subvertpy.repos' extension
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DWIN32 -I. -I. -ID:\CI\bld\vcs\svn-win32-1.6.17
\include\apr -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-util -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-iconv -ID:\CI\bld\vcs\svn-win32-1.6.17\inc
lude -Isubvertpy -IC:\Python27\include -IC:\Python27\PC /Tcsubvertpy\repos.c /Fobuild\temp.win32-2.7\Release\subvertpy\repos.obj
repos.c
subvertpy\repos.c(762) : warning C4244: 'function' : conversion from 'svn_filesize_t' to 'long', possible loss of data
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DWIN32 -I. -I. -ID:\CI\bld\vcs\svn-win32-1.6.17
\include\apr -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-util -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-iconv -ID:\CI\bld\vcs\svn-win32-1.6.17\inc
lude -Isubvertpy -IC:\Python27\include -IC:\Python27\PC /Tcsubvertpy\util.c /Fobuild\temp.win32-2.7\Release\subvertpy\util.obj
util.c
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:D:\CI\bld\vcs\svn-win32-1.6.17\lib /LIBPATH:D
:\CI\bld\vcs\svn-win32-1.6.17\lib\apr /LIBPATH:D:\CI\bld\vcs\svn-win32-1.6.17\lib\apr-iconv /LIBPATH:D:\CI\bld\vcs\svn-win32-1.6.17\lib\apr-util /LIBP
ATH:D:\CI\bld\vcs\svn-win32-1.6.17\lib\neon /LIBPATH:D:\CI\bld\vcs\db4-win32-4.4.20\lib /LIBPATH:D:\CI\bld\vcs\svn-win32-libintl\lib /LIBPATH:C:\Pytho
n27\libs /LIBPATH:C:\Python27\PCbuild libapr-1.lib libapriconv-1.lib libaprutil-1.lib libneon.lib libsvn_subr-1.lib libsvn_client-1.lib libsvn_ra-1.li
b libsvn_ra_local-1.lib libsvn_ra_svn-1.lib libsvn_repos-1.lib libsvn_wc-1.lib libsvn_delta-1.lib libsvn_diff-1.lib libsvn_fs-1.lib libsvn_repos-1.lib
 libsvn_fs_fs-1.lib libsvn_fs_base-1.lib intl3_svn.lib xml.lib advapi32.lib shell32.lib ws2_32.lib zlibstat.lib libdb44.lib /EXPORT:initrepos build\te
mp.win32-2.7\Release\subvertpy\repos.obj build\temp.win32-2.7\Release\subvertpy\util.obj /OUT:build\lib.win32-2.7\subvertpy\repos.pyd /IMPLIB:build\te
mp.win32-2.7\Release\subvertpy\repos.lib /MANIFESTFILE:build\temp.win32-2.7\Release\subvertpy\repos.pyd.manifest
   Creating library build\temp.win32-2.7\Release\subvertpy\repos.lib and object build\temp.win32-2.7\Release\subvertpy\repos.exp
C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\mt.exe -nologo -manifest build\temp.win32-2.7\Release\subvertpy\repos.pyd.manifest -outputresource:b
uild\lib.win32-2.7\subvertpy\repos.pyd;2
building 'subvertpy.wc' extension
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DWIN32 -I. -I. -ID:\CI\bld\vcs\svn-win32-1.6.17
\include\apr -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-util -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-iconv -ID:\CI\bld\vcs\svn-win32-1.6.17\inc
lude -Isubvertpy -IC:\Python27\include -IC:\Python27\PC /Tcsubvertpy\wc.c /Fobuild\temp.win32-2.7\Release\subvertpy\wc.obj
wc.c
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DWIN32 -I. -I. -ID:\CI\bld\vcs\svn-win32-1.6.17
\include\apr -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-util -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-iconv -ID:\CI\bld\vcs\svn-win32-1.6.17\inc
lude -Isubvertpy -IC:\Python27\include -IC:\Python27\PC /Tcsubvertpy\util.c /Fobuild\temp.win32-2.7\Release\subvertpy\util.obj
util.c
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DWIN32 -I. -I. -ID:\CI\bld\vcs\svn-win32-1.6.17
\include\apr -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-util -ID:\CI\bld\vcs\svn-win32-1.6.17\include\apr-iconv -ID:\CI\bld\vcs\svn-win32-1.6.17\inc
lude -Isubvertpy -IC:\Python27\include -IC:\Python27\PC /Tcsubvertpy\editor.c /Fobuild\temp.win32-2.7\Release\subvertpy\editor.obj
editor.c
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:D:\CI\bld\vcs\svn-win32-1.6.17\lib /LIBPATH:D
:\CI\bld\vcs\svn-win32-1.6.17\lib\apr /LIBPATH:D:\CI\bld\vcs\svn-win32-1.6.17\lib\apr-iconv /LIBPATH:D:\CI\bld\vcs\svn-win32-1.6.17\lib\apr-util /LIBP
ATH:D:\CI\bld\vcs\svn-win32-1.6.17\lib\neon /LIBPATH:D:\CI\bld\vcs\db4-win32-4.4.20\lib /LIBPATH:D:\CI\bld\vcs\svn-win32-libintl\lib /LIBPATH:C:\Pytho
n27\libs /LIBPATH:C:\Python27\PCbuild libapr-1.lib libapriconv-1.lib libaprutil-1.lib libneon.lib libsvn_subr-1.lib libsvn_client-1.lib libsvn_ra-1.li
b libsvn_ra_local-1.lib libsvn_ra_svn-1.lib libsvn_repos-1.lib libsvn_wc-1.lib libsvn_delta-1.lib libsvn_diff-1.lib libsvn_fs-1.lib libsvn_repos-1.lib
 libsvn_fs_fs-1.lib libsvn_fs_base-1.lib intl3_svn.lib xml.lib advapi32.lib shell32.lib ws2_32.lib zlibstat.lib libdb44.lib /EXPORT:initwc build\temp.
win32-2.7\Release\subvertpy\wc.obj build\temp.win32-2.7\Release\subvertpy\util.obj build\temp.win32-2.7\Release\subvertpy\editor.obj /OUT:build\lib.wi
n32-2.7\subvertpy\wc.pyd /IMPLIB:build\temp.win32-2.7\Release\subvertpy\wc.lib /MANIFESTFILE:build\temp.win32-2.7\Release\subvertpy\wc.pyd.manifest
   Creating library build\temp.win32-2.7\Release\subvertpy\wc.lib and object build\temp.win32-2.7\Release\subvertpy\wc.exp
C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\mt.exe -nologo -manifest build\temp.win32-2.7\Release\subvertpy\wc.pyd.manifest -outputresource:buil
d\lib.win32-2.7\subvertpy\wc.pyd;2
running build_scripts
creating build\scripts-2.7
copying and adjusting bin\subvertpy-fast-export -> build\scripts-2.7
Running unittest without install.
.E...E.................................................................s............................................................................F.
.E....................
======================================================================
ERROR: test_add_recursive (subvertpy.tests.test_client.TestClient)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "build\lib.win32-2.7\subvertpy\tests\test_client.py", line 100, in test_add_recursive
    e = adm.entry(os.path.join(os.getcwd(), "dc", "trunk"))
KeyError: "No such entry 'c:\\users\\dreamkxd\\appdata\\local\\temp\\tmpxe7c07\\dc\\trunk'"

======================================================================
ERROR: test_diff (subvertpy.tests.test_client.TestClient)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "build\lib.win32-2.7\subvertpy\tests\test_client.py", line 142, in test_diff
    (outf, errf) = self.client.diff(1, 2, self.repos_url, self.repos_url)
OSError: [Errno 13] Permission denied

======================================================================
ERROR: test_probe_try (subvertpy.tests.test_wc.AdmTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "build\lib.win32-2.7\subvertpy\tests\test_wc.py", line 300, in test_probe_try
    self.assertEquals("checkout", adm.probe_try(os.path.join("checkout", "bar")).access_path())
AttributeError: 'NoneType' object has no attribute 'access_path'

======================================================================
FAIL: test_is_wc_root (subvertpy.tests.test_wc.AdmTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "build\lib.win32-2.7\subvertpy\tests\test_wc.py", line 226, in test_is_wc_root
    self.assertFalse(adm.is_wc_root(os.path.join(self.test_dir, "bar")))
AssertionError: True is not false

----------------------------------------------------------------------
Ran 172 tests in 74.845s

FAILED (failures=1, errors=3, skipped=1)

To post a comment you must log in.
Revision history for this message
Jelmer Vernooij (jelmer) wrote :

This has conflicts too, and the problematic change for mkdtemp.

review: Needs Fixing
Revision history for this message
Yonggang Luo (luoyonggang) wrote :

2012/3/11 Jelmer Vernooij <email address hidden>

> Review: Needs Fixing
>
> This has conflicts too, and the problematic change for mkdtemp.
> --
>
> https://code.launchpad.net/~luoyonggang/subvertpy/unittest-win32/+merge/96920
> You are the owner of lp:~luoyonggang/subvertpy/unittest-win32.
>
Do you have other ways to deal with mkdtemp? from my points of view, this
is the simplest way to deal with it?
Or can you get it to be fixed by yourself with you way?

--
         此致

罗勇刚
Yours
    sincerely,
Yonggang Luo

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

This is not a fix. It's a workaround that happens to work on your machine, and we don't even know why.

For all we know it might break on other machines, for example machines on which TEMP uses a different case. It changes the default behavior for finding a location to store temporary files.

If e.g. the svn libraries always lowercase the URLs on Windows, then we should make sure to call .lower() on our generated URL in subvertpy too when comparing.

Revision history for this message
Yonggang Luo (luoyonggang) wrote :

2012/3/11 Jelmer Vernooij <email address hidden>

> This is not a fix. It's a workaround that happens to work on your machine,
> and we don't even know why.
>
> For all we know it might break on other machines, for example machines on
> which TEMP uses a different case. It changes the default behavior for
> finding a location to store temporary files.
>
 I am already make sure it's only change the behavior on *Windows*. that's
I am familiar, and I can 100% sure that's the correct behavior, I know
that's a PYTHON bug, but we can work around it, because it's a bug across
python 2.x - python 3.2, so that's make sense to do that.
and at last, it's UNITTEST, the destination of UNITTEST is to test the
program. that's is, if the program is correct, then it's PASSED,
we should not show it's FAILED when it's was correct.
*+ if os.name == 'nt':
*+ self.test_dir = tempfile.mkdtemp(dir =
+ os.getenv("TEMP", None) or os.getenv("TMP", None))
+ else:
+ self.test_dir = tempfile.mkdtemp()

>
> If e.g. the svn libraries always lowercase the URLs on Windows, then we
> should make sure to call .lower() on our generated URL in subvertpy too
> when comparing.
> --
>
> https://code.launchpad.net/~luoyonggang/subvertpy/unittest-win32/+merge/96920
> You are the owner of lp:~luoyonggang/subvertpy/unittest-win32.
>

--
         此致

罗勇刚
Yours
    sincerely,
Yonggang Luo

Revision history for this message
Yonggang Luo (luoyonggang) wrote :

Please read the test result carefully. And you will know why do the things in this way.
The test result is under

Description of the Change

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

> Please read the test result carefully. And you will know why do the things in
> this way.
> The test result is under
>
> Description of the Change
That only explains *what* is failing for you. It doesn't explain *why* it is failing, and why your fix addresses that. That's the bit I'm interested in.

Revision history for this message
Yonggang Luo (luoyonggang) wrote :

2012/3/11 Jelmer Vernooij <email address hidden>

> > Please read the test result carefully. And you will know why do the
> things in
> > this way.
> > The test result is under
> >
> > Description of the Change
> That only explains *what* is failing for you. It doesn't explain *why* it
> is failing, and why your fix addresses that. That's the bit I'm interested
> in.
>
It's failed just because Python's maketemp didn't return the corrent
tempfile file path.
For example, tempfile.mkdtemp() on windows will gives us with the file path
c:\users\uername\appdata\local\temp\hash_code , but the real file path
is C:\Users\username\AppData\Local\Temp\hash_code.
When I use
  tempfile.mkdtemp(dir =
                os.getenv("TEMP", None) or os.getenv("TMP", None))
it's will give us the exact file path with the windows file system.
TEMP and TMP is recorded by the OS. and even if TEMP and TMP is not exist,
it's sill works, just because dir accept None as
a default input.

The unittest failed, is just because Subversion changed the file path
from c:\users\uername\appdata\local\temp\hash_code
to C:\users\uername\appdata\local\temp\hash_code, but under Windows file
system, these two path represents the same path,
so it's should not be FAILED.
If we use path generated by tempfile.mkdtemp(dir =
                os.getenv("TEMP", None) or os.getenv("TMP", None)), then
subversion will works properly with it.

--
>
> https://code.launchpad.net/~luoyonggang/subvertpy/unittest-win32/+merge/96920
> You are the owner of lp:~luoyonggang/subvertpy/unittest-win32.
>

--
         此致

罗勇刚
Yours
    sincerely,
Yonggang Luo

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

> 2012/3/11 Jelmer Vernooij <email address hidden>
>
> > > Please read the test result carefully. And you will know why do the
> > things in
> > > this way.
> > > The test result is under
> > >
> > > Description of the Change
> > That only explains *what* is failing for you. It doesn't explain *why* it
> > is failing, and why your fix addresses that. That's the bit I'm interested
> > in.
> It's failed just because Python's maketemp didn't return the corrent
> tempfile file path.
> For example, tempfile.mkdtemp() on windows will gives us with the file path
> c:\users\uername\appdata\local\temp\hash_code , but the real file path
> is C:\Users\username\AppData\Local\Temp\hash_code.
> When I use
> tempfile.mkdtemp(dir =
> os.getenv("TEMP", None) or os.getenv("TMP", None))
> it's will give us the exact file path with the windows file system.
> TEMP and TMP is recorded by the OS. and even if TEMP and TMP is not exist,
> it's sill works, just because dir accept None as
> a default input.
TEMP and TMP can be set by the user too as far as I know. What if the user has set them to "C:\users\USeRName\AppData\Local\Temp\hash_code" ? That's a perfectly valid path, as path lookups are case insensitive.

If TEMP and TMP do not exist, we get the same behaviour as currently so users who have that will still hit that bg - and that means this fix is incomplete in that situation.

> The unittest failed, is just because Subversion changed the file path
> from c:\users\uername\appdata\local\temp\hash_code
> to C:\users\uername\appdata\local\temp\hash_code, but under Windows file
> system, these two path represents the same path,
> so it's should not be FAILED.
Then why not simply call os.path.normcase() on both paths before comparing them? That seems like a much cleaner solution to me.

Cheers,

Jelmer

Revision history for this message
Yonggang Luo (luoyonggang) wrote :

2012/3/12 Jelmer Vernooij <email address hidden>

> > 2012/3/11 Jelmer Vernooij <email address hidden>
> >
> > > > Please read the test result carefully. And you will know why do the
> > > things in
> > > > this way.
> > > > The test result is under
> > > >
> > > > Description of the Change
> > > That only explains *what* is failing for you. It doesn't explain *why*
> it
> > > is failing, and why your fix addresses that. That's the bit I'm
> interested
> > > in.
> > It's failed just because Python's maketemp didn't return the corrent
> > tempfile file path.
> > For example, tempfile.mkdtemp() on windows will gives us with the file
> path
> > c:\users\uername\appdata\local\temp\hash_code , but the real file path
> > is C:\Users\username\AppData\Local\Temp\hash_code.
> > When I use
> > tempfile.mkdtemp(dir =
> > os.getenv("TEMP", None) or os.getenv("TMP", None))
> > it's will give us the exact file path with the windows file system.
> > TEMP and TMP is recorded by the OS. and even if TEMP and TMP is not
> exist,
> > it's sill works, just because dir accept None as
> > a default input.
> TEMP and TMP can be set by the user too as far as I know. What if the user
> has set them to "C:\users\USeRName\AppData\Local\Temp\hash_code" ? That's a
> perfectly valid path, as path lookups are case insensitive.
>
> If TEMP and TMP do not exist, we get the same behaviour as currently so
> users who have that will still hit that bg - and that means this fix is
> incomplete in that situation.
>
> > The unittest failed, is just because Subversion changed the file path
> > from c:\users\uername\appdata\local\temp\hash_code
> > to C:\users\uername\appdata\local\temp\hash_code, but under Windows file
> > system, these two path represents the same path,
> > so it's should not be FAILED.
> Then why not simply call os.path.normcase() on both paths before comparing
> them? That seems like a much cleaner solution to me.
>
That's why I ask you better solution, thanks.

>
> Cheers,
>
> Jelmer
> --
>
> https://code.launchpad.net/~luoyonggang/subvertpy/unittest-win32/+merge/96920
> You are the owner of lp:~luoyonggang/subvertpy/unittest-win32.
>

--
         此致

罗勇刚
Yours
    sincerely,
Yonggang Luo

Revision history for this message
Yonggang Luo (luoyonggang) wrote :

2012/3/12 Yonggang Luo <email address hidden>

> 2012/3/12 Jelmer Vernooij <email address hidden>
>
> > > 2012/3/11 Jelmer Vernooij <email address hidden>
> > >
> > > > > Please read the test result carefully. And you will know why do the
> > > > things in
> > > > > this way.
> > > > > The test result is under
> > > > >
> > > > > Description of the Change
> > > > That only explains *what* is failing for you. It doesn't explain
> *why*
> > it
> > > > is failing, and why your fix addresses that. That's the bit I'm
> > interested
> > > > in.
> > > It's failed just because Python's maketemp didn't return the corrent
> > > tempfile file path.
> > > For example, tempfile.mkdtemp() on windows will gives us with the file
> > path
> > > c:\users\uername\appdata\local\temp\hash_code , but the real file path
> > > is C:\Users\username\AppData\Local\Temp\hash_code.
> > > When I use
> > > tempfile.mkdtemp(dir =
> > > os.getenv("TEMP", None) or os.getenv("TMP", None))
> > > it's will give us the exact file path with the windows file system.
> > > TEMP and TMP is recorded by the OS. and even if TEMP and TMP is not
> > exist,
> > > it's sill works, just because dir accept None as
> > > a default input.
> > TEMP and TMP can be set by the user too as far as I know. What if the
> user
> > has set them to "C:\users\USeRName\AppData\Local\Temp\hash_code" ?
> That's a
> > perfectly valid path, as path lookups are case insensitive.
> >
> > If TEMP and TMP do not exist, we get the same behaviour as currently so
> > users who have that will still hit that bg - and that means this fix is
> > incomplete in that situation.
> >
> > > The unittest failed, is just because Subversion changed the file path
> > > from c:\users\uername\appdata\local\temp\hash_code
> > > to C:\users\uername\appdata\local\temp\hash_code, but under Windows
> file
> > > system, these two path represents the same path,
> > > so it's should not be FAILED.
> > Then why not simply call os.path.normcase() on both paths before
> comparing
> > them? That seems like a much cleaner solution to me.
> >
> That's why I ask you better solution, thanks.
>
It's not works, still return the path with incorrect case.

>
> >
> > Cheers,
> >
> > Jelmer
> > --
> >
> >
> https://code.launchpad.net/~luoyonggang/subvertpy/unittest-win32/+merge/96920
> > You are the owner of lp:~luoyonggang/subvertpy/unittest-win32.
> >
>
>
>
> --
> 此致
> 礼
> 罗勇刚
> Yours
> sincerely,
> Yonggang Luo
>
>
> https://code.launchpad.net/~luoyonggang/subvertpy/unittest-win32/+merge/96920
> You are the owner of lp:~luoyonggang/subvertpy/unittest-win32.
>

--
         此致

罗勇刚
Yours
    sincerely,
Yonggang Luo

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

Am 12/03/12 02:10, schrieb Yonggang Luo:
> 2012/3/12 Yonggang Luo<email address hidden>
>
>> 2012/3/12 Jelmer Vernooij<email address hidden>
>>
>>>> 2012/3/11 Jelmer Vernooij<email address hidden>
>>>>
>>>>>> Please read the test result carefully. And you will know why do the
>>>>> things in
>>>>>> this way.
>>>>>> The test result is under
>>>>>>
>>>>>> Description of the Change
>>>>> That only explains *what* is failing for you. It doesn't explain
>> *why*
>>> it
>>>>> is failing, and why your fix addresses that. That's the bit I'm
>>> interested
>>>>> in.
>>>> It's failed just because Python's maketemp didn't return the corrent
>>>> tempfile file path.
>>>> For example, tempfile.mkdtemp() on windows will gives us with the file
>>> path
>>>> c:\users\uername\appdata\local\temp\hash_code , but the real file path
>>>> is C:\Users\username\AppData\Local\Temp\hash_code.
>>>> When I use
>>>> tempfile.mkdtemp(dir =
>>>> os.getenv("TEMP", None) or os.getenv("TMP", None))
>>>> it's will give us the exact file path with the windows file system.
>>>> TEMP and TMP is recorded by the OS. and even if TEMP and TMP is not
>>> exist,
>>>> it's sill works, just because dir accept None as
>>>> a default input.
>>> TEMP and TMP can be set by the user too as far as I know. What if the
>> user
>>> has set them to "C:\users\USeRName\AppData\Local\Temp\hash_code" ?
>> That's a
>>> perfectly valid path, as path lookups are case insensitive.
>>>
>>> If TEMP and TMP do not exist, we get the same behaviour as currently so
>>> users who have that will still hit that bg - and that means this fix is
>>> incomplete in that situation.
>>>
>>>> The unittest failed, is just because Subversion changed the file path
>>>> from c:\users\uername\appdata\local\temp\hash_code
>>>> to C:\users\uername\appdata\local\temp\hash_code, but under Windows
>> file
>>>> system, these two path represents the same path,
>>>> so it's should not be FAILED.
>>> Then why not simply call os.path.normcase() on both paths before
>> comparing
>>> them? That seems like a much cleaner solution to me.
>>>
>> That's why I ask you better solution, thanks.
>>
> It's not works, still return the path with incorrect case.
Can you please elaborate? What doesn't work ? Does os.path.normcase not
return a normalized case?

Cheers,

Jelmer

Revision history for this message
Yonggang Luo (luoyonggang) wrote :

2012/3/12 Jelmer Vernooij <email address hidden>

> Am 12/03/12 02:10, schrieb Yonggang Luo:
>
> 2012/3/12 Yonggang Luo<email address hidden>
>>
>> 2012/3/12 Jelmer Vernooij<email address hidden>
>>>
>>> 2012/3/11 Jelmer Vernooij<email address hidden>
>>>>>
>>>>> Please read the test result carefully. And you will know why do the
>>>>>>>
>>>>>> things in
>>>>>>
>>>>>>> this way.
>>>>>>> The test result is under
>>>>>>>
>>>>>>> Description of the Change
>>>>>>>
>>>>>> That only explains *what* is failing for you. It doesn't explain
>>>>>>
>>>>> *why*
>>>
>>>> it
>>>>
>>>>> is failing, and why your fix addresses that. That's the bit I'm
>>>>>>
>>>>> interested
>>>>
>>>>> in.
>>>>>>
>>>>> It's failed just because Python's maketemp didn't return the corrent
>>>>> tempfile file path.
>>>>> For example, tempfile.mkdtemp() on windows will gives us with the file
>>>>>
>>>> path
>>>>
>>>>> c:\users\uername\appdata\**local\temp\hash_code , but the real file
>>>>> path
>>>>> is C:\Users\username\AppData\**Local\Temp\hash_code.
>>>>> When I use
>>>>> tempfile.mkdtemp(dir =
>>>>> os.getenv("TEMP", None) or os.getenv("TMP", None))
>>>>> it's will give us the exact file path with the windows file system.
>>>>> TEMP and TMP is recorded by the OS. and even if TEMP and TMP is not
>>>>>
>>>> exist,
>>>>
>>>>> it's sill works, just because dir accept None as
>>>>> a default input.
>>>>>
>>>> TEMP and TMP can be set by the user too as far as I know. What if the
>>>>
>>> user
>>>
>>>> has set them to "C:\users\USeRName\AppData\**Local\Temp\hash_code" ?
>>>>
>>> That's a
>>>
>>>> perfectly valid path, as path lookups are case insensitive.
>>>>
>>>> If TEMP and TMP do not exist, we get the same behaviour as currently so
>>>> users who have that will still hit that bg - and that means this fix is
>>>> incomplete in that situation.
>>>>
>>>> The unittest failed, is just because Subversion changed the file path
>>>>> from c:\users\uername\appdata\**local\temp\hash_code
>>>>> to C:\users\uername\appdata\**local\temp\hash_code, but under Windows
>>>>>
>>>> file
>>>
>>>> system, these two path represents the same path,
>>>>> so it's should not be FAILED.
>>>>>
>>>> Then why not simply call os.path.normcase() on both paths before
>>>>
>>> comparing
>>>
>>>> them? That seems like a much cleaner solution to me.
>>>>
>>>> That's why I ask you better solution, thanks.
>>>
>>> It's not works, still return the path with incorrect case.
>>
> Can you please elaborate? What doesn't work ? Does os.path.normcase not
> return a normalized case?
>
It's didn't change the result, just act with os.path.normcase 's documented
case.
The path is return without change except \ are replaced with /.

>
> Cheers,
>
> Jelmer
>

--
         此致

罗勇刚
Yours
    sincerely,
Yonggang Luo

Revision history for this message
Jelmer Vernooij (jelmer) wrote :
Download full text (3.9 KiB)

On 03/12/2012 02:46 AM, 罗勇刚(Yonggang Luo) wrote:
>
>
> 2012/3/12 Jelmer Vernooij <<email address hidden> <mailto:<email address hidden>>>
>
> Am 12/03/12 02:10, schrieb Yonggang Luo:
>
> 2012/3/12 Yonggang Luo<<email address hidden>
> <mailto:<email address hidden>>>
>
> 2012/3/12 Jelmer Vernooij<<email address hidden>
> <mailto:<email address hidden>>>
>
> 2012/3/11 Jelmer Vernooij<<email address hidden>
> <mailto:<email address hidden>>>
>
> Please read the test result carefully. And
> you will know why do the
>
> things in
>
> this way.
> The test result is under
>
> Description of the Change
>
> That only explains *what* is failing for you.
> It doesn't explain
>
> *why*
>
> it
>
> is failing, and why your fix addresses that.
> That's the bit I'm
>
> interested
>
> in.
>
> It's failed just because Python's maketemp didn't
> return the corrent
> tempfile file path.
> For example, tempfile.mkdtemp() on windows will
> gives us with the file
>
> path
>
> c:\users\uername\appdata\local\temp\hash_code ,
> but the real file path
> is C:\Users\username\AppData\Local\Temp\hash_code.
> When I use
> tempfile.mkdtemp(dir =
> os.getenv("TEMP", None) or
> os.getenv("TMP", None))
> it's will give us the exact file path with the
> windows file system.
> TEMP and TMP is recorded by the OS. and even if
> TEMP and TMP is not
>
> exist,
>
> it's sill works, just because dir accept None as
> a default input.
>
> TEMP and TMP can be set by the user too as far as I
> know. What if the
>
> user
>
> has set them to
> "C:\users\USeRName\AppData\Local\Temp\hash_code" ?
>
> That's a
>
> perfectly valid path, as path lookups are case
> insensitive.
>
> If TEMP and TMP do not exist, we get the same
> behaviour as currently so
> users who have that will still hit that bg - and that
> means this fix is
> incomplete in that situation.
>
> The unittest failed, is just because Subversion
> changed the file path
> from c:\users\uername\appdata\local\temp\hash_code
> to C:\users\uername\appdata\local\temp\hash_code,
> but under Windows
>
> file
>
> system, these two path represe...

Read more...

Revision history for this message
Yonggang Luo (luoyonggang) wrote :

Please review again, I found the fundamental cause is the URL is not matched. because urllib changed the URL case.
So I changed the code to use urllib.pathname2url to retrieve correct URL.

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

Thanks.

urllib.pathname2url will only return a single leading slash on UNIX, so you'll need to keep the special casing specific to windows.

review: Needs Fixing
Revision history for this message
Yonggang Luo (luoyonggang) wrote :

2012/3/12 Jelmer Vernooij <email address hidden>

> Review: Needs Fixing
>
> Thanks.
>
> urllib.pathname2url will only return a single leading slash on UNIX, so
> you'll need to keep the special casing specific to windows.
> --
>
> https://code.launchpad.net/~luoyonggang/subvertpy/unittest-win32/+merge/96920
> You are the owner of lp:~luoyonggang/subvertpy/unittest-win32.
>
can you be more specific? or just merge with modification...
give me a path example.. is that the things like
"file://%s" on unix?

--
         此致

罗勇刚
Yours
    sincerely,
Yonggang Luo

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

On 03/12/2012 03:25 AM, Yonggang Luo wrote:
> 2012/3/12 Jelmer Vernooij<email address hidden>
>
>> Review: Needs Fixing
>>
>> Thanks.
>>
>> urllib.pathname2url will only return a single leading slash on UNIX, so
>> you'll need to keep the special casing specific to windows.
>> --
>>
>> https://code.launchpad.net/~luoyonggang/subvertpy/unittest-win32/+merge/96920
>> You are the owner of lp:~luoyonggang/subvertpy/unittest-win32.
>>
> can you be more specific? or just merge with modification...
> give me a path example.. is that the things like
> "file://%s" on unix?

urllib.pathname2url("/foo") just returns "/foo" on UNIX (and the URL
needs to be "file:///foo"), so you'll have to keep the existing if
statement for sys.platform in.

Cheers,

Jelmer

2446. By Yonggang Luo

path to url should call pathname2url, so that the URL is consistent.

Revision history for this message
Yonggang Luo (luoyonggang) wrote :

OK, updated, please review it again:)..

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

On 03/12/2012 05:47 PM, Yonggang Luo wrote:
> OK, updated, please review it again:)..
Merged, thanks!

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'subvertpy/tests/__init__.py'
2--- subvertpy/tests/__init__.py 2012-03-01 21:40:39 +0000
3+++ subvertpy/tests/__init__.py 2012-03-12 16:39:18 +0000
4@@ -34,6 +34,7 @@
5 except ImportError:
6 from testtools.testcase import TestSkipped as SkipTest
7 import urllib2
8+import urllib
9 import urlparse
10
11 from subvertpy import (
12@@ -251,7 +252,7 @@
13 os.chmod(revprop_hook, os.stat(revprop_hook).st_mode | 0111)
14
15 if sys.platform == 'win32':
16- return "file:///%s" % abspath.replace("\\", "/")
17+ return 'file:%s' % urllib.pathname2url(abspath)
18 else:
19 return "file://%s" % abspath
20

Subscribers

People subscribed via source and target branches

to all changes: