Commit 412fa96b authored by SVN-Git Migration's avatar SVN-Git Migration

Imported Upstream version 1.4.2

parent 9e0809a2
#!/bin/echo Usage: . $0
# TARGET is set by the ReleaseEngineering scripts
if [ -z "$TARGET" ]
# default to highest version we can find if no value in $1 and $2
if [ ! -z "$1" ]
then
# set the ReleaseEngineering symbols in development mode
case $(uname -s) in
Darwin)
. ../../ReleaseEngineering/MacOSX/software-version.inc
;;
*)
. ../../ReleaseEngineering/unix/software-version.inc\
;;
esac
PREF_VER=$1.$2
else
if [ "$(uname)" = "Darwin" ]
then
# default to 2.3 on Mac OS X
PREF_VER=2.3
else
PREF_VER=
fi
fi
export WORKDIR=$(cd ..;pwd)
# default to 2.3 if no value in $1 and $2
export PY_MAJ=${1:-2}
export PY_MIN=${2:-3}
for PY_VER in ${PREF_VER} 2.6 2.5 2.4 2.3 2.2
do
# used in pick python to use in Builder driver makefile
export PYTHON=$( which python${PY_VER} )
if [ -e "${PYTHON}" ]
then
break
fi
done
unset PREF_VER
export PYTHON=$( which python${PY_MAJ}.${PY_MIN} )
if [ -e "${PYTHON}" ]
then
# prove the python version selected is as expected
......
BUILD_TYPE=Release
build: all test kit
all: ../Source/Makefile
......@@ -7,7 +5,7 @@ all: ../Source/Makefile
clean: ../Source/Makefile
cd ../Source && $(MAKE) clean && rm Makefile
cd ../Tests && $(MAKE) -f unix.mak clean
cd ../Tests && $(MAKE) clean && rm Makefile
../Source/Makefile: ../Source/setup.py
cd ../Source && $(PYTHON) setup.py configure
......@@ -17,4 +15,4 @@ kit:
cd ../Kit/FreeBSD && $(PYTHON) make_pkg.py
test:
cd ../Tests && $(MAKE) -f unix.mak all
cd ../Tests && $(MAKE) all
BUILD_TYPE=Release
build: all test kit
all: ../Source/Makefile
......@@ -7,7 +5,7 @@ all: ../Source/Makefile
clean: ../Source/Makefile
cd ../Source && $(MAKE) clean && rm Makefile
cd ../Tests && $(MAKE) -f unix.mak clean
cd ../Tests && $(MAKE) clean && rm Makefile
rm -rf ../Kit/Linux/tmp
../Source/Makefile: ../Source/setup.py
......@@ -19,7 +17,7 @@ kit:
install:
echo sudo may prompt for your password to allow installation of the pysvn rpm
sudo rpm -i ../Kit/Linux/tmp/RPMS/i386/py${PY_MAJ}${PY_MIN}_pysvn-*-1.i386.rpm
sudo rpm -i ../Kit/Linux/tmp/RPMS/i386/py*_pysvn-*-1.i386.rpm
test:
cd ../Tests && $(MAKE) -f unix.mak all
cd ../Tests && $(MAKE) all
BUILD_TYPE=Release
build: all test kit
all: ../Source/Makefile
......@@ -7,14 +5,13 @@ all: ../Source/Makefile
clean: ../Source/Makefile
cd ../Source && $(MAKE) clean && rm Makefile
cd ../Tests && $(MAKE) -f unix.mak clean
cd ../Tests && $(MAKE) clean
../Source/Makefile: ../Source/setup.py
cd ../Source && $(PYTHON) setup.py configure
kit:
cd ../Kit/MacOSX && $(PYTHON) make_pkg.py
test:
cd ../Tests && $(MAKE) -f unix.mak all
cd ../Tests && $(MAKE) all
MAJOR=1
MINOR=4
PATCH=1
PATCH=2
BUILD=0
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<style type="text/css">
......@@ -15,9 +17,23 @@ code {background-color: #dddddd; }
<p>To build pysvn you will require:</p>
<ul>
<li><a href="http://subversion.tigris.org">subversion</a> 1.2.x or 1.3.x
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=3180">PyCXX V5.3.5</a> which is included in the pysvn source kit.
<li><a href="http://www.python.org">Python</a> 2.2 or later with these options:
<ul>
<li>Python runtime package
<li>Python development package
<li>Python pyexpat package
</ul>
</li>
<li><a href="http://subversion.tigris.org">subversion</a> 1.2.x or 1.3.x with these options:
<ul>
<li>Subversion client package
<li>Subversion development package
</ul>
</li>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=3180">PyCXX V5.3.5</a> which is included in the pysvn source kit.</li>
</ul>
<p>Some distributions will split python and subversion into more the one package.</p>
<p>You will need to find all the packages that give you the options listed above.</p>
<h3>Building on win32</h3>
<p>These instructions assume you have Microsoft Visual C++ 6.0 to compile the code
......@@ -26,41 +42,41 @@ and <a href="http://www.jrsoftware.org/">INNO</a> 4.0.10 to create the installat
<p>Note: You must build with MSVC 2003.NET for python 2.4 or later.</p>
<ol>
<li>build subversion (tested with SVN 1.2.3 and SVN 1.3.0)
<li>fetch and expand the pysvn source code into <em>extdir</em>
<li>Expand pycxx_5_3_5.tar.gz into <em>extdir</em>\Import if not using a source kit
<li>edit Builder\builder_custom_init.cmd to match the locations of the sources.
<li><code>cd Builder</code>
<li><code>builder_custom_init.cmd</code>
<li><code>nmake -f win32.mak build</code>
<li>build subversion (tested with SVN 1.2.3 and SVN 1.3.0)</li>
<li>fetch and expand the pysvn source code into <em>extdir</em></li>
<li>Expand pycxx_5_3_5.tar.gz into <em>extdir</em>\Import if not using a source kit</li>
<li>edit Builder\builder_custom_init.cmd to match the locations of the sources.</li>
<li><code>cd Builder</code></li>
<li><code>builder_custom_init.cmd</code></li>
<li><code>nmake -f win32.mak build</code></li>
</ol>
<p>To install the built kit</p>
<ol>
<li>Uninstall any previous kit (control panel's Add/Remove programs)
<li><code>nmake -f win32.mak install</code>
<li>Uninstall any previous kit (control panel's Add/Remove programs)</li>
<li><code>nmake -f win32.mak install</code></li>
</ol>
<h3>Building on unix and Mac OS X systems.</h3>
<ol>
<li>Install subversion
<li>get the pysvn source code
<li><code>tar xzf pycxx_5_3_5.tar.gz</code> into <em>extdir</em>/Import if not using a source kit
<li><code>cd Source</code>
<li>Create the Makefile using <code>python setup.py configure</code>
<li><code>make</code>
<li><code>cd Tests</code>
<li>Test pysvn by running <code>make -f unix.mak PYTHON=<em>path-to-python-to-use</em></code>
<li>Install subversion</li>
<li>get the pysvn source code</li>
<li><code>tar xzf pycxx_5_3_5.tar.gz</code> into <em>extdir</em>/Import if not using a source kit</li>
<li><code>cd Source</code></li>
<li>Create the Makefile using <code>python setup.py configure</code></li>
<li><code>make</code></li>
<li><code>cd Tests</code></li>
<li>Test pysvn by running <code>make</code></li>
</ol>
<p>Install pysvn by copying the following from Extension/Source
to python site-specific directory.</p>
<ul>
<li><code>mkdir <em>python-libdir</em>/site-packages/pysvn</code>
<li><code>cp pysvn/__init__.py <em>python-libdir</em>/site-packages/pysvn</code>
<li><code>cp pysvn/_pysvn.so <em>python-libdir</em>/site-packages/pysvn</code>
<li><code>mkdir <em>python-libdir</em>/site-packages/pysvn</code></li>
<li><code>cp pysvn/__init__.py <em>python-libdir</em>/site-packages/pysvn</code></li>
<li><code>cp pysvn/_pysvn.so <em>python-libdir</em>/site-packages/pysvn</code></li>
</ul>
</body>
</html>
......@@ -23,6 +23,13 @@ build_time_str = time.strftime( '%d-%b-%Y %H:%M', time.localtime( build_time ) )
year = time.strftime( '%Y', time.localtime( build_time ) )
tmpdir = os.path.join( os.getcwd(), 'tmp' )
if pymaj == 2 and pymin == 3:
install_dir = '/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages'
elif pymaj == 2 and pymin == 4:
install_dir = '/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages'
else:
raise RuntimeError( 'Unsupported version of python' )
if os.path.exists( tmpdir ):
print 'Info: Clean up tmp directory'
os.system( 'rm -rf tmp' )
......@@ -92,9 +99,9 @@ for libpath in dylib_list:
os.system( 'install_name_tool'
' -change'
' %s'
' /System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/pysvn/%s'
' %s/pysvn/%s'
' %s' %
(libpath, os.path.basename( libpath ), 'tmp/Contents/pysvn/_pysvn.so') )
(libpath, install_dir, os.path.basename( libpath ), 'tmp/Contents/pysvn/_pysvn.so') )
print 'Info: Create tmp/Resources/ReadMe.txt'
f = file('tmp/Resources/ReadMe.txt','w')
......@@ -137,7 +144,7 @@ f.write('''<?xml version="1.0" encoding="UTF-8"?>
<key>IFPkgFlagAuthorizationAction</key>
<string>AdminAuthorization</string>
<key>IFPkgFlagDefaultLocation</key>
<string>/System/Library/Frameworks/Python.framework/Versions/%(pymaj)s.%(pymin)s/lib/python%(pymaj)s.%(pymin)s/site-packages</string>
<string>%(install_dir)s</string>
<key>IFPkgFlagInstallFat</key>
<false/>
<key>IFPkgFlagIsRequired</key>
......@@ -157,6 +164,22 @@ f.write('''<?xml version="1.0" encoding="UTF-8"?>
''' % locals() )
f.close()
print 'Info: Create tmp/Description.plist'
f = file('tmp/Description.plist','w')
f.write('''<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IFPkgDescriptionDescription</key>
<string>PySVN Extension
</string>
<key>IFPkgDescriptionTitle</key>
<string>PySVN Extension</string>
</dict>
</plist>
''' )
f.close()
print 'Info: PackageMaker'
cmd = [ '/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker',
'-build',
......@@ -164,6 +187,7 @@ cmd = [ '/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/Pa
'-f %s' % os.path.abspath( 'tmp/Contents' ),
'-r %s' % os.path.abspath( 'tmp/Resources' ),
'-i %s' % os.path.abspath( 'tmp/Info.plist' ),
'-d %s' % os.path.abspath( 'tmp/Description.plist' ),
]
os.system( ' '.join( cmd ) )
......
......@@ -52,26 +52,29 @@ public:
void checkForError( Py::ExtensionExceptionType &exception_for_error );
public: // data
public: // data
//
// Python class that has implements the callback methods
//
Py::Object m_pyfn_GetLogin;
Py::Object m_pyfn_Notify;
Py::Object m_pyfn_GetLogin;
Py::Object m_pyfn_Notify;
#ifdef PYSVN_HAS_CONTEXT_PROGRESS
Py::Object m_pyfn_Progress;
Py::Object m_pyfn_Progress;
#endif
Py::Object m_pyfn_Cancel;
Py::Object m_pyfn_GetLogMessage;
Py::Object m_pyfn_SslServerPrompt;
Py::Object m_pyfn_SslServerTrustPrompt;
Py::Object m_pyfn_SslClientCertPrompt;
Py::Object m_pyfn_SslClientCertPwPrompt;
Py::Object m_pyfn_Cancel;
Py::Object m_pyfn_GetLogMessage;
Py::Object m_pyfn_SslServerPrompt;
Py::Object m_pyfn_SslServerTrustPrompt;
Py::Object m_pyfn_SslClientCertPrompt;
Py::Object m_pyfn_SslClientCertPwPrompt;
std::string m_default_username;
std::string m_default_password;
void setLogMessage( const std::string &message );
private:// methods
private: // methods
//
// this method will be called to retrieve
......@@ -166,11 +169,14 @@ private:// methods
private:// vaiables
PythonAllowThreads *m_permission;
std::string m_error_message;
std::string m_log_message;
PythonAllowThreads *m_permission;
std::string m_error_message;
std::string m_log_message;
};
class FunctionArguments;
class pysvn_client : public Py::PythonExtension<pysvn_client>
{
public:
......@@ -232,6 +238,14 @@ public:
Py::Object set_auth_cache( const Py::Tuple& args, const Py::Dict &kws );
Py::Object get_auto_props( const Py::Tuple& args, const Py::Dict &kws );
Py::Object set_auto_props( const Py::Tuple& args, const Py::Dict &kws );
Py::Object get_interactive( const Py::Tuple &a_args, const Py::Dict &a_kws );
Py::Object set_interactive( const Py::Tuple &a_args, const Py::Dict &a_kws );
Py::Object get_default_username( const Py::Tuple &a_args, const Py::Dict &a_kws );
Py::Object set_default_username( const Py::Tuple &a_args, const Py::Dict &a_kws );
Py::Object get_default_password( const Py::Tuple &a_args, const Py::Dict &a_kws );
Py::Object set_default_password( const Py::Tuple &a_args, const Py::Dict &a_kws );
Py::Object get_store_passwords( const Py::Tuple &a_args, const Py::Dict &a_kws );
Py::Object set_store_passwords( const Py::Tuple &a_args, const Py::Dict &a_kws );
// check that we are not in use on another thread
void checkThreadPermission();
......@@ -239,6 +253,12 @@ private:
// helper function that wraps up the logic to throw a client error exception
void throw_client_error( SvnException & );
private:
Py::Object helper_boolean_auth_set( FunctionArguments &a_args, const char *a_arg_name, const char *a_param_name );
Py::Object helper_boolean_auth_get( FunctionArguments &a_args, const char *a_param_name );
Py::Object helper_string_auth_set( FunctionArguments &a_args,
const char *a_arg_name, const char *a_param_name, std::string &ctx_str );
Py::Object helper_string_auth_get( FunctionArguments &a_args, const char *a_param_name );
pysvn_module &m_module;
pysvn_context m_context;
int m_exception_style;
......@@ -295,7 +315,7 @@ public:
virtual Py::Object getattr( const char *name );
virtual int setattr( const char *name, const Py::Object &value );
virtual Py::Object pysvn_revision::repr();
virtual Py::Object repr();
const svn_opt_revision_t &getSvnRevision() const;
......
......@@ -536,7 +536,7 @@ bool pysvn_context::contextSslClientCertPwPrompt
}
// common get a string implementation
static bool get_string( Py::Object &fn, Py::Tuple &args, std::string & msg )
static bool get_string( Py::Object &fn, Py::Tuple &args, std::string &msg )
{
// make sure we can call the users object
if( !fn.isCallable() )
......@@ -546,11 +546,12 @@ static bool get_string( Py::Object &fn, Py::Tuple &args, std::string & msg )
Py::Tuple results;
Py::Int retcode;
Py::String message;
Py::String maybe_unicode_message;
results = callback.apply( args );
retcode = results[0];
message = results[1];
maybe_unicode_message = results[1];
Py::String message( maybe_unicode_message.encode( "utf-8" ) );
// true returned
if( long( retcode ) != 0 )
......
This diff is collapsed.
......@@ -247,7 +247,7 @@ public:
private:
#ifdef PYSVN_HAS_CONTEXT_LOG_MSG2
static svn_error_t *SvnContext::handlerLogMsg2
static svn_error_t *handlerLogMsg2
(
const char **log_msg,
const char **tmp_file,
......@@ -256,7 +256,7 @@ private:
apr_pool_t *pool
);
#else
static svn_error_t *SvnContext::handlerLogMsg
static svn_error_t *handlerLogMsg
(
const char **log_msg,
const char **tmp_file,
......@@ -267,7 +267,7 @@ private:
#endif
#ifdef PYSVN_HAS_CONTEXT_PROGRESS
static void SvnContext::handlerProgress
static void handlerProgress
(
apr_off_t progress,
apr_off_t total,
......@@ -277,14 +277,14 @@ private:
#endif
#ifdef PYSVN_HAS_CONTEXT_NOTIFY2
static void SvnContext::handlerNotify2
static void handlerNotify2
(
void * baton,
const svn_wc_notify_t *notify,
apr_pool_t *pool
);
#else
static void SvnContext::handlerNotify
static void handlerNotify
(
void * baton,
const char *path,
......@@ -296,7 +296,7 @@ private:
svn_revnum_t revision
);
#endif
static svn_error_t *SvnContext::handlerCancel
static svn_error_t *handlerCancel
(
void * baton
);
......
......@@ -56,6 +56,7 @@ def help( argv ):
--apr-inc-dir=<dir>
--svn-inc-dir=<dir>
--svn-lib-dir=<dir>
--define=<define-string>
''' % (basename, basename)
return 1
......@@ -132,6 +133,11 @@ class MakeFileCreater:
if flag.startswith( '-D' ):
py_cflags_list.append( flag )
# get user supplied defines
for arg in argv:
if arg.startswith( '--define=' ):
py_cflags_list.append( '-D%s' % arg[len('--define-'):] )
template_values = {
# python executable
'python_exe': sys.executable,
......@@ -149,12 +155,14 @@ class MakeFileCreater:
# add apr lib dir
'apr_lib_dir': self.find_apr_lib( argv ),
'lib_apr': self.lib_apr, # set as a side effect of find_apr_lib
# pycxx src dir
'pycxx_dir': pycxx_dir
}
if self.verbose:
print 'Info: Creating Makefile'
print 'Info: Creating Makefile for Source'
makefile = file( 'Makefile', 'w' )
if self.is_mac_os_x:
# need to figure out the framework dir to use otherwise the latest
......@@ -164,15 +172,23 @@ class MakeFileCreater:
if self.cmp_mac_os_x_version( (10,4) ) >= 0:
if self.verbose:
print 'Info: Using Mac OS X 10.4 makefile template'
# 10.4 needs the libintl.a but 10.3 does not
template_values['extra_libs'] = '%(svn_lib_dir)s/libintl.a' % template_values
template_values['frameworks'] = '-F%s -framework System -framework Python -framework CoreFoundation -framework Kerberos' % framework_dir
else:
if self.verbose:
print 'Info: Using Mac OS X 10.3 makefile template'
template_values['extra_libs'] = ''
template_values['frameworks'] = '-F%s -framework System -framework Python -framework CoreFoundation' % framework_dir
if self.is_mac_os_x_fink:
makefile.write( self.makefile_template_macosx_fink % template_values )
elif self.is_mac_os_x_darwin_ports:
makefile.write( self.makefile_template_macosx_darwin_ports % template_values )
else:
makefile.write( self.makefile_template_macosx % template_values )
else:
......@@ -181,6 +197,20 @@ class MakeFileCreater:
makefile.write( self.makefile_template % template_values )
makefile.close()
print 'Info: Creating Makefile for Tests'
makefile = file( '../Tests/Makefile', 'w' )
makefile.write( self.makefile_tests_template % template_values )
makefile.close()
makefile_tests_template = '''#
# Created by pysvn Extension/Source/setup.py
#
PYTHON=%(python_exe)s
include pysvn_test_common.mak
'''
makefile_template = '''#
# Created by pysvn Extension/Source/setup.py
#
......@@ -217,7 +247,7 @@ LDLIBS=-L%(svn_lib_dir)s \
-lsvn_wc-1 \
-lsvn_fs-1 \
-lsvn_subr-1 \
-lapr-0
-l%(lib_apr)s
include pysvn_common.mak
'''
......@@ -290,8 +320,10 @@ LDLIBS= \
%(svn_lib_dir)s/libexpat.a \
%(svn_lib_dir)s/libiconv.a \
%(svn_lib_dir)s/libdb-4.3.a \
%(extra_libs)s \
-L%(apr_lib_dir)s \
-lapr-1 -lz
-l%(lib_apr)s \
-lz
include pysvn_common.mak
'''
......@@ -311,6 +343,7 @@ include pysvn_common.mak
'/sw/include/subversion-1', # Darwin - Fink
'/usr/include/subversion-1', # typical Linux
'/usr/local/include/subversion-1', # typical *BSD
'/usr/pkg/include/subversion-1', # netbsd
],
'svn_client.h' )
......@@ -325,6 +358,7 @@ include pysvn_common.mak
'/usr/lib', # typical Linux
'/usr/local/lib64', # typical 64bit Linux
'/usr/local/lib', # typical *BSD
'/usr/pkg/lib', # netbsb
],
self.is_mac_os_x and 'libsvn_client-1.dylib' or 'libsvn_client-1.so' )
# if we are using the Fink SVN then remember this
......@@ -333,25 +367,33 @@ include pysvn_common.mak
return dir
def find_apr_inc( self, argv ):
return self.find_dir( argv,
last_exception = None
for apr_ver in ['apr-1', 'apr-0']:
try:
return self.find_dir( argv,
'APR include',
'--apr-inc-dir=',
[
'/opt/local/include/apr-1', # Darwin - darwin ports
'/sw/include/apr-0', # Darwin - fink
'/usr/include/apr-0', # typical Linux
'/opt/local/include/%s' % apr_ver, # Darwin - darwin ports
'/sw/include/%s' % apr_ver, # Darwin - fink
'/usr/include/%s' % apr_ver, # typical Linux
'/usr/local/apr/include/%s' % apr_ver, # Mac OS X www.metissian.com
'/usr/pkg/include/%s' % apr_ver, # netbsd
'/usr/include/apache2', # alternate Linux
'/usr/include/httpd', # alternate Linux
'/usr/local/include/apr0', # typical *BSD
'/usr/local/include/apache2', # alternate *BSD
'/usr/local/apr/include/apr-0', # Mac OS X www.metissian.com
],
'apr.h' )
except SetupError, e:
last_exception = e
raise last_exception
def find_apr_lib( self, argv ):
last_exception = None
for apr_libname in [self.is_mac_os_x and 'libapr-1.dylib' or 'libapr-1.so',
self.is_mac_os_x and 'libapr-0.dylib' or 'libapr-0.so']:
for apr_libname, self.lib_apr in [
(self.is_mac_os_x and 'libapr-1.dylib' or 'libapr-1.so', 'apr-1'),
(self.is_mac_os_x and 'libapr-0.dylib' or 'libapr-0.so', 'apr-0')]:
try:
return self.find_dir( argv,
'APR library',
......@@ -364,11 +406,12 @@ include pysvn_common.mak
'/usr/local/lib64', # typical 64bit Linux
'/usr/local/lib', # typical *BSD
'/usr/local/apr/lib', # Mac OS X www.metissian.com
'/usr/pkg/lib', # netbsd
],
apr_libname )
except SetupError, e:
last_exception = e
raise e
raise last_exception
def find_dir( self, argv, name, kw, base_dir_list, check_file=None ):
......
#
# pysvn_test_common
#
# include this mak file after defining the variables it needs
#
all: test-01.unix.new.log test-03.unix.new.log test-04.unix.new.log test-05.unix.new.log test-06.unix.new.log
help:
......@@ -14,8 +19,8 @@ clean: clean-01 clean-03 clean-04 clean-05 clean-06
#
test-01.unix.new.log: test-01.sh test-01.unix.known_good.log
-rm -rf testroot-01
./test-01.sh >test-01.unix.new.log 2>&1
python benchmark_diff.py test-01.unix.known_good.log test-01.unix.new.log
PYTHON=$(PYTHON) ./test-01.sh >test-01.unix.new.log 2>&1
$(PYTHON) benchmark_diff.py test-01.unix.known_good.log test-01.unix.new.log
clean-01:
-rm -f test-01.unix.new.log
......@@ -30,8 +35,8 @@ new-01: test-01.unix.new.log
test-03.unix.new.log: test-03.sh test-03.unix.known_good.log
-rm -rf testroot-03
if [ "$$(id -u -n)" = "barry" ]; then ./test-03.sh >test-03.unix.new.log 2>&1;fi
if [ "$$(id -u -n)" = "barry" ]; then python benchmark_diff.py test-03.unix.known_good.log test-03.unix.new.log; fi
if [ "$$(id -u -n)" = "barry" ]; then PYTHON=$(PYTHON) ./test-03.sh >test-03.unix.new.log 2>&1;fi
if [ "$$(id -u -n)" = "barry" ]; then $(PYTHON) benchmark_diff.py test-03.unix.known_good.log test-03.unix.new.log; fi
clean-03:
-rm -f test-03.unix.new.log
......@@ -46,8 +51,8 @@ new-03: test-03.unix.new.log
test-04.unix.new.log: test-04.sh test-04.unix.known_good.log
-rm -rf testroot-04
./test-04.sh >test-04.unix.new.log 2>&1
python benchmark_diff.py test-04.unix.known_good.log test-04.unix.new.log
PYTHON=$(PYTHON) ./test-04.sh >test-04.unix.new.log 2>&1
$(PYTHON) benchmark_diff.py test-04.unix.known_good.log test-04.unix.new.log
clean-04:
-rm -f test-04.unix.new.log
......@@ -62,8 +67,8 @@ new-04: test-04.unix.new.log
test-05.unix.new.log: test-05.sh test-05.unix.known_good.log
-rm -rf testroot-05
if PYTHONPATH=../Source ${PYTHON} svn_min_version.py 1 2 1; then ./test-05.sh >test-05.unix.new.log 2>&1; fi
if PYTHONPATH=../Source ${PYTHON} svn_min_version.py 1 2 1; then python benchmark_diff.py test-05.unix.known_good.log test-05.unix.new.log; fi
if PYTHONPATH=../Source $(PYTHON) svn_min_version.py 1 2 1; then PYTHON=$(PYTHON) ./test-05.sh >test-05.unix.new.log 2>&1; fi
if PYTHONPATH=../Source $(PYTHON) svn_min_version.py 1 2 1; then $(PYTHON) benchmark_diff.py test-05.unix.known_good.log test-05.unix.new.log; fi
clean-05:
-rm -f test-05.unix.new.log
......@@ -78,8 +83,8 @@ new-05: test-05.unix.new.log
test-06.unix.new.log: test-06.sh test-06.unix.known_good.log
-rm -rf testroot-06
if PYTHONPATH=../Source ${PYTHON} svn_min_version.py 1 3 0; then ./test-06.sh >test-06.unix.new.log 2>&1; fi
if PYTHONPATH=../Source ${PYTHON} svn_min_version.py 1 3 0; then python benchmark_diff.py test-06.unix.known_good.log test-06.unix.new.log; fi
if PYTHONPATH=../Source $(PYTHON) svn_min_version.py 1 3 0; then PYTHON=$(PYTHON) ./test-06.sh >test-06.unix.new.log 2>&1; fi
if PYTHONPATH=../Source $(PYTHON) svn_min_version.py 1 3 0; then $(PYTHON) benchmark_diff.py test-06.unix.known_good.log test-06.unix.new.log; fi
clean-06:
-rm -f test-06.unix.new.log
......
......@@ -214,6 +214,8 @@ call :cmd_pysvn merge --revision 14:15 file:///b:/root/repos/trunk/test b:\wc3\t
call :cmd_pysvn status b:\wc3\test-branch
call :cmd_pysvn diff b:\wc3\test-branch
call :cmd_shell %PYTHON% %WORKDIR%\Tests\test_01_set_get_tests.py b:\configdir
echo Info: Test - end
goto :eof
endlocal
......
#!/bin/sh
# need to get rid of any symbolic links in the WORKDIR
cd ${WORKDIR}
export WORKDIR=$( $PYTHON -c 'import os;print os.getcwd()' )
export WORKDIR=$( ${PYTHON} -c 'import os;os.chdir("..");print os.getcwd()' )
cd ${WORKDIR}/Tests
echo WorkDir: ${WORKDIR}
......@@ -111,10 +110,10 @@ cmd_pysvn export file://${TESTROOT}/repos/trunk/test ${TESTROOT}/export1.native
cmd_pysvn export --native-eol CR file://${TESTROOT}/repos/trunk/test ${TESTROOT}/export1.cr
cmd_pysvn export --native-eol LF file://${TESTROOT}/repos/trunk/test ${TESTROOT}/export1.lf
cmd_pysvn export --native-eol CRLF file://${TESTROOT}/repos/trunk/test ${TESTROOT}/export1.crlf
python ${WORKDIR}/Tests/find.py ${TESTROOT}/export1.native
python ${WORKDIR}/Tests/find.py ${TESTROOT}/export1.cr
python ${WORKDIR}/Tests/find.py ${TESTROOT}/export1.lf
python ${WORKDIR}/Tests/find.py ${TESTROOT}/export1.crlf
${PYTHON} ${WORKDIR}/Tests/find.py ${TESTROOT}/export1.native
${PYTHON} ${WORKDIR}/Tests/find.py ${TESTROOT}/export1.cr
${PYTHON} ${WORKDIR}/Tests/find.py ${TESTROOT}/export1.lf
${PYTHON} ${WORKDIR}/Tests/find.py ${TESTROOT}/export1.crlf
echo Info: Testing - import
......@@ -249,3 +248,5 @@ cmd_pysvn merge --dry-run --revision 16:17 file://${TESTROOT}/root/repos/trunk/t
cmd_pysvn merge --revision 16:17 file://${TESTROOT}/root/repos/trunk/test ${TESTROOT}/wc3/test-branch
cmd_pysvn status ${TESTROOT}/wc3/test-branch
cmd_pysvn diff ${TESTROOT}/wc3/test-branch
cmd ${PYTHON} ${WORKDIR}/Tests/test_01_set_get_tests.py ${TESTROOT}/configdir
This diff is collapsed.
......@@ -17,8 +17,8 @@ Info: PYSVN CMD mkdir file:///b:/repos/trunk/test -m "test-01 add test"
Info: Test - ls
Info: PYSVN CMD ls file:///b:/repos -v -R
2 barry 0 30-Dec-2005 20:17:40 file:///b:/repos/trunk
2 barry 0 30-Dec-2005 20:17:40 file:///b:/repos/trunk/test
2 barry 0 21-Apr-2006 20:21:45 file:///b:/repos/trunk
2 barry 0 21-Apr-2006 20:21:45 file:///b:/repos/trunk/test
Info: Test - checkout
Info: PYSVN CMD checkout file:///b:/repos/trunk b:\wc1
......@@ -118,8 +118,8 @@ Info: Test - annotate
Info: PYSVN CMD annotate b:\wc2\test\file1.txt
A /trunk/test/file1.txt
A /trunk/test/file1.txt
0| r3 | barry | 2005-12-30T20:17:43.860772Z | test add file 1
1| r4 | barry | 2005-12-30T20:17:46.404430Z | line 2
0| r3 | barry | 2006-04-21T19:21:48.811008Z | test add file 1
1| r4 | barry | 2006-04-21T19:21:50.433374Z | line 2
Info: Test - cat
Info: PYSVN CMD cat -r head file:///b:/repos/trunk/test/file1.txt
......@@ -137,7 +137,7 @@ Log message
--- -------
Info: PYSVN CMD ls -v file:///b:/repos/tags
6 barry 0 30-Dec-2005 20:17:49 file:///b:/repos/tags/version1
6 barry 0 21-Apr-2006 20:21:53 file:///b:/repos/tags/version1
Info: PYSVN CMD copy b:\wc2\test\file1.txt b:\wc2\test\file1b.txt