Commit ede2b884 authored by SVN-Git Migration's avatar SVN-Git Migration

Imported Upstream version 1.3.1

parent 8add0ffc
MAJOR=1
MINOR=3
PATCH=0
PATCH=1
BUILD=0
......@@ -32,7 +32,7 @@ to report problems, suggest improvements or contribute changes.</p>
<pre>
=================================================================
Copyright (C) 2003-2004 Barry A. Scott. All rights reserved.
Copyright (C) 2003-2005 Barry A. Scott. All rights reserved.
=================================================================
The Apache Software License, Version 1.1
......
......@@ -222,5 +222,48 @@ client = pysvn.Client()
client.move( 'file_old.txt', 'file_new.txt' )
</pre>
<h2>Lock a file</h2>
<pre>import pysvn
client = pysvn.Client()
client.lock( 'file.txt', 'reason for locking' )
</pre>
<h2>Lock a file overriding another user or working copies lock</h2>
<pre>import pysvn
client = pysvn.Client()
client.lock( 'file.txt', 'reason for locking', force=True )
</pre>
<h2>Unlock a file</h2>
<pre>import pysvn
client = pysvn.Client()
client.unlock( 'file.txt' )
</pre>
<h2>Unlock a file locked by another user or working copy</h2>
<pre>import pysvn
client = pysvn.Client()
client.unlock( 'file.txt', force=True )
</pre>
<h2>Test for a locked file</h2>
<p>Method 1:</p>
<pre>all_entries = self.client.info2( path, recurse=False )
for path, info in all_entries:
if info['lock']:
if info['lock']['token'] != '':
print '%s is locked' % path
print info['lock']['comment']
</pre>
<p>Method 2:</p>
<pre>all_status = self.client.status( path, recurse=False, update=True )
for status in all_status:
if status.entry is not None:
if status.entry.lock_token is not None:
print '%s is locked' % status.path
</pre>
</body>
</html>
......@@ -13,13 +13,28 @@ table {position: relative; left: 40px; margin-right: 80px;
</style>
</head>
<body>
<h1>pysvn - Programmer's reference</h1>
<h1>pysvn - Programmer's reference </h1>
<p>This programmer's reference gives complete and detailed infomation on the pysvn API.
<p>The <a href="pysvn_prog_guide.html">pysvn Programmer's Guide</a>
gives an tutorial introduction to the pysvn module.
</p>
<h2>pysvn features and feature testing</h2>
<p>This document covers pysvn version 1.3.0. Features offered by pysvn depend on the
version of SVN that is being used. Full functionality is only available with SVN 1.2.1
or later.</p>
<p>The recommended way to test for a feature is to use the python hasattr() builtin.
Working out what is and is not support from the version number information is quite
complex and unnessesary. For example to test for lock and unlock support:</p>
<pre>
client = pysvn.Client()
if hasattr( client, 'lock' ):
# use lock
</pre>
<h2><a name="pysvn">pysvn module</a></h2>
<p>The pysvn module has the following variables:</p>
......@@ -842,14 +857,37 @@ when adding files otherwise when disabled will not.</p>
<pre>
status_list = \
status( path,
recurse=False,
get_all=False,
recurse=True,
get_all=True,
update=False,
no_ignore=False )
ignore=False,
ignore_externals=False )
</pre>
<p>If path is a directory status is returned for all files in the directory path in status_list.
<p>If path is a directory status is returned for all files in the directory in status_list.
If path is a single file status is returned for that single file in status_list.</p>
<p>The status_list is list of <a href="#pysvn_status">status</a> objects.
<p>The status_list is a list of <a href="#pysvn_status">status</a> objects.
<p>Options:
<ul>
<li>recurse - If recurse is True, recurse fully, else do only immediate children.
<li>get_all - If get_all is True, retrieve all entries; otherwise,
retrieve only "interesting" entries (local mods and/or out-of-date).
<li>update - If update is set, contact the repository and augment the
status structures with information about out-of-dateness.
<li>ignore - If ignore is False, the item will be added regardless of
whether it is ignored.
<li>ignore_externals (svn 1.2.0 or later) -
If ignore_externals is False, then recurse into externals
definitions (if any exist) after handling the main target.
This calls the client notification function
with the svn_wc_notify_status_external action before
handling each externals definition, and with
svn_wc_notify_status_completed after each.
</ul>
<h4><a name="pysvn_client_switch"><a href="#pysvn">pysvn</a>.<a href="#pysvn_client">Client</a>.switch</a></h4>
<pre>
......
......@@ -16,7 +16,7 @@ code {background-color: #dddddd; }
<p>To build pysvn you will require:</p>
<ul>
<li><a href="http://subversion.tigris.org">subversion</a> 1.1.x or 1.2.x
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=3180">PyCXX V5.3.4</a> which is included in the pysvn source kit.
<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.
</ul>
<h3>Building on win32</h3>
......@@ -28,7 +28,7 @@ and <a href="http://www.jrsoftware.org/">INNO</a> 4.0.10 to create the installat
<ol>
<li>build subversion (tested with SVN 1.1.4 and SVN 1.2.3)
<li>fetch and expand the pysvn source code into <em>extdir</em>
<li>Expand pycxx_5_3_4.tar.gz into <em>extdir</em>\Import if not using a source kit
<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>
......@@ -47,7 +47,7 @@ and <a href="http://www.jrsoftware.org/">INNO</a> 4.0.10 to create the installat
<ol>
<li>Install subversion
<li>get the pysvn source code
<li><code>tar xzf pycxx_5_3_4.tar.gz</code> into <em>extdir</em>/Import if not using a source kit
<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>
......
......@@ -474,7 +474,7 @@ namespace Py
: PythonExtensionBase()
{
#ifdef PyObject_INIT
PyObject_INIT( this, type_object() );
(void)PyObject_INIT( this, type_object() );
#else
ob_refcnt = 1;
ob_type = type_object();
......@@ -518,7 +518,7 @@ namespace Py
{
return Py::String( type_object()->tp_name );
}
else if( name == "__doc__" && type_object()->tp_doc != NULL )
if( name == "__doc__" && type_object()->tp_doc != NULL )
{
return Py::String( type_object()->tp_doc );
}
......@@ -536,10 +536,8 @@ namespace Py
// {
// return Py::Dict();
// }
else
{
return getattr_methods( _name );
}
return getattr_methods( _name );
}
// turn a name into function object
......
......@@ -2769,7 +2769,7 @@ namespace Py
PyObject *ptype, *pvalue, *ptrace;
PyErr_Fetch(&ptype, &pvalue, &ptrace);
Object result;
if(ptrace) result = pvalue;
if(ptrace) result = ptrace;
PyErr_Restore(ptype, pvalue, ptrace);
return result;
}
......
......@@ -6,7 +6,7 @@
#define PYCXX_VERSION_MAJOR 5
#define PYCXX_VERSION_MINOR 3
#define PYCXX_VERSION_PATCH 3
#define PYCXX_VERSION_PATCH 5
#define PYCXX_MAKEVERSION( major, minor, patch ) ((major<<16)|(minor<<8)|(patch))
#define PYCXX_VERSION PYCXX_MAKEVERSION( PYCXX_VERSION_MAJOR, PYCXX_VERSION_MINOR, PYCXX_VERSION_PATCH )
#endif
import sys
sys.path.insert( 0, 'pyds%d%d' % (sys.version_info[0], sys.version_info[1]) )
import example
example.test()
......@@ -32,18 +32,18 @@ p.param {background-color: #eeeeee; border-top: lightskyblue solid 4}
<h3>Windows Installation and Demo</h3>
<ol>
<li>Fetch <a href="http://prdownloads.sourceforge.net/cxx/pycxx_5_3_4.tar.gz">
http://prdownloads.sourceforge.net/cxx/pycxx_5_3_4.tar.gz</a>
<li>Fetch <a href="http://prdownloads.sourceforge.net/cxx/pycxx_5_3_5.tar.gz">
http://prdownloads.sourceforge.net/cxx/pycxx_5_3_5.tar.gz</a>
<li>Expand the archive into a directory of your choosing C:\ for example. Note: WinZip can expand .tar.gz files.
<li>Install the PyCXX files:
<ol>
<li><pre>C:> cd \pycxx_5_3_4</pre>
<li><pre>C:\pycxx_5_3_4> python setup.py install</pre>
<li><pre>C:> cd \pycxx_5_3_5</pre>
<li><pre>C:\pycxx_5_3_5> python setup.py install</pre>
</ol>
<li>Install the PyCXX Demo:
<ol>
<li><pre>C:> cd \PYCXX_5_3_4\Demo</pre>
<li><pre>C:\PYCXX_5_3_4\Demo> python setup.py install</pre>
<li><pre>C:> cd \PYCXX_5_3_5\Demo</pre>
<li><pre>C:\PYCXX_5_3_5\Demo> python setup.py install</pre>
</ol>
<li>Run the demo:
<ol>
......@@ -62,18 +62,18 @@ http://prdownloads.sourceforge.net/cxx/pycxx_5_3_4.tar.gz</a>
<p>Note: distutils is not available for Python 1.5.2</p>
<ol>
<li>Fetch <a href="http://prdownloads.sourceforge.net/cxx/pycxx_5_3_4.tar.gz">
http://prdownloads.sourceforge.net/cxx/PyCXX-V5.3.0.tar.gz</a>
<li>Fetch <a href="http://prdownloads.sourceforge.net/cxx/pycxx_5_3_5.tar.gz">
http://prdownloads.sourceforge.net/cxx/pycxx_5_3_5.tar.gz</a>
<li>Login as root. root access is typically needed on Unix systems to install the PyCXX files into the Python directories.
<li>Expand the archive into a directory of your choosing ~\ for example.
<li>Install the PyCXX files:
<ol>
<li><pre># cd ~\PYCXX_5_3_4</pre>
<li><pre># cd ~\PYCXX_5_3_5</pre>
<li><pre># python setup.py install</pre>
</ol>
<li>Install the PyCXX Demo:
<ol>
<li><pre># cd ~\PYCXX_5_3_4\Demo</pre>
<li><pre># cd ~\PYCXX_5_3_5\Demo</pre>
<li><pre># python setup.py install</pre>
</ol>
<li>Run the demos:
......@@ -96,8 +96,8 @@ of Makefiles and Project files are provided.</p>
<h3>Windows Installation and Demo</h3>
<p>
<ol>
<li>Fetch <a href="http://prdownloads.sourceforge.net/cxx/PyCXX-V5.3.0.tar.gz">
http://prdownloads.sourceforge.net/cxx/pycxx_5_3_4.tar.gz</a>
<li>Fetch <a href="http://prdownloads.sourceforge.net/cxx/pycxx_5_3_5.tar.gz">
http://prdownloads.sourceforge.net/cxx/pycxx_5_3_5.tar.gz</a>
<li>Expand the archive into a directory of your choosing C:\ for example. WinZip can expand .tar.gz files.
<li>Build the example. Using Microsoft .NET 2003 C++ for python version 2.4 or later load the workspace corresponsing to the version of
Python you wish the work with.
......@@ -115,7 +115,7 @@ Python you wish the work with.
</ul>
<li>Run the example. (I'll assume you are testing Python 2.3)
<ul>
<li>cd c:\PYCXX_5_3_4\pyds23
<li>cd c:\PYCXX_5_3_5\pyds23
<li>c:\python21\python -c "import example;example.test()"
</ul>
</ol>
......@@ -123,8 +123,8 @@ Python you wish the work with.
<h3>Unix and Mac OS X Installation and Demo</h3>
<p>
<ol>
<li>Fetch <a href="http://prdownloads.sourceforge.net/cxx/PyCXX-V5.3.0.tar.gz">
http://prdownloads.sourceforge.net/cxx/PyCXX-V5.3.0.tar.gz</a>
<li>Fetch <a href="http://prdownloads.sourceforge.net/cxx/pycxx_5_3_5.tar.gz">
http://prdownloads.sourceforge.net/cxx/pycxx_5_3_5.tar.gz</a>
<li>Expand the archive into a directory of your choosing ~/ for example.
<li>Select to makefile for your system and python version.
<ul>
......@@ -164,15 +164,20 @@ is not compiled and linked to support C and C++.</p>
</p>
<h2>Revision History</h2>
<h3>Version 5.3.4 (14-Aug-2005)</h3>
<h3>Version 5.3.5 (2-Oct-2005)</h3>
<p>More changes to keep GCC 4.0 happy - no warning should be report
<h3>Version 5.3.4 (29-Aug-2005)</h3>
<p>Add interator support - thanks to Helmut Jarausch - see pycxx_iter demo
<p>Allow an extension to be part of a python package
<p>Allow creation of Exception hierachies
<p>Fix problem compiling with GCC 2.9X
<p>Fix uninitialise memory problem
<P>Work around compile problems with the example and GCC 4.0.
<h3>Version 5.3.3 and 5.3.2</h3>
<p>No detailed recorded</p>
<p>No details recorded</p>
<h3>Version 5.3.1 (19-Jan-2005)</h3>
<p>Support GCC4 and Microsoft .NET 2003 aka MSVC 7.1
......
......@@ -13,16 +13,21 @@
Project Page</a> at&nbsp;<a href="http://sourceforge.net"><img SRC="http://sourceforge.net/sflogo.php?group_id=3180&type=1" ALT="SourceForge Home" NOSAVE height=31 width=88 align=ABSCENTER></a>
gives you access to the releases, the CVS repository, and more.</b>
<b></b>
<p>
<hr>
<!--
<h2> PyCXX V5.3.4 </h2>
<p>Add Iterator support - thanks to Helmut Jarausch
<p>Support extensions inside a python package
<p>Fixed problem compiling with GCC 2.96
<p>Download PyCXX 5.3.4 from <a href="http://prdownloads.sourceforge.net/cxx/pycxx_5_3_4.tar.gz?download">SourceForge</a>.</p>
-->
<h2>Version 5.3.5 (2-Oct-2005)</h2>
<p>More changes to keep GCC 4.0 happy - no warning should be report
<h2>Version 5.3.4 (29-Aug-2005)</h2>
<p>Add interator support - thanks to Helmut Jarausch - see pycxx_iter demo
<p>Allow an extension to be part of a python package
<p>Allow creation of Exception hierachies
<p>Fix problem compiling with GCC 2.9X
<p>Fix uninitialise memory problem
<P>Work around compile problems with the example and GCC 4.0.
<h2>Version 5.3.3 and 5.3.2</h2>
<p>No details recorded</p>
<h2> PyCXX V5.3.1 </h2>
<p>Added fixes to support problems reported against GCC4 builds and .NET 2003 builds
......
......@@ -1238,7 +1238,7 @@ extern "C" PyObject *method_keyword_call_handler( PyObject *_self_and_name_tuple
PyObject *self_in_cobject = self_and_name_tuple[0].ptr();
void *self_as_void = PyCObject_AsVoidPtr( self_in_cobject );
if( self_as_void == NULL )
return NULL;
return NULL;
ExtensionModuleBase *self = static_cast<ExtensionModuleBase *>( self_as_void );
......@@ -1253,13 +1253,11 @@ extern "C" PyObject *method_keyword_call_handler( PyObject *_self_and_name_tuple
Object result( self->invoke_method_keyword( name, args, keywords ) );
return new_reference_to( result.ptr() );
}
else
{
Dict keywords( _keywords );
Object result( self->invoke_method_keyword( name, args, keywords ) );
return new_reference_to( result.ptr() );
}
Dict keywords( _keywords );
Object result( self->invoke_method_keyword( name, args, keywords ) );
return new_reference_to( result.ptr() );
}
catch( Exception & )
{
......
......@@ -59,6 +59,6 @@ clean:
#
# test rule
#
test: example.so pycxx_iter.so pycxx_callback.so
test: example.so pycxx_iter.so
PYTHONPATH=. $(PYTHON) Demo/test_example.py
PYTHONPATH=. $(PYTHON) Demo/test_pycxx_iter.py
......@@ -76,12 +76,12 @@ Version: %(pysvn_version_package_string)s
Group: Development/Libraries
Release: %(pysvn_version_package_release_string)s
Summary: pysvn %(pysvn_version_package_string)s Python extension for Subversion %(svn_version_string)s
Copyright: Barry A. Scott (c) 2003-2004
License: Apache Software License, Version 1.1 - Copyright Barry A. Scott (c) 2003-2005
Packager: Barry A. Scott <barry@barrys-emacs.org>
%%description
PySVN %(pysvn_version_string)s for Python %(python_version_string)s and Subversion %(svn_version_string)s
Copyright Barry A. Scott (c) 2003-2004
Copyright Barry A. Scott (c) 2003-2005
mailto:barry@barrys-emacs.org
http://pysvn.tigris.org
......
......@@ -42,7 +42,7 @@ end;
[Setup]
AppName=Python %(py_maj)d.%(py_min)d PySVN
AppVerName=Python %(py_maj)d.%(py_min)d PySVN %(pysvn_version_string)s
AppCopyright=Copyright (C) 2003-2004 Barry A. Scott
AppCopyright=Copyright (C) 2003-2005 Barry A. Scott
DefaultDirName={code:pythondir|c:\python%(py_maj)d.%(py_min)d}\lib\site-packages\pysvn
DefaultGroupName=PySVN for Python %(py_maj)d.%(py_min)d
DisableStartupPrompt=yes
......
=================================================================
Copyright (C) 2003-2004 Barry A. Scott. All rights reserved.
Copyright (C) 2003-2005 Barry A. Scott. All rights reserved.
=================================================================
The Apache Software License, Version 1.1
......
......@@ -41,18 +41,24 @@ pysvn_module::pysvn_module()
pysvn_entry::init_type();
pysvn_enum< svn_opt_revision_kind >::init_type();
pysvn_enum_value< svn_opt_revision_kind >::init_type();
pysvn_enum< svn_wc_notify_action_t >::init_type();
pysvn_enum_value< svn_wc_notify_action_t >::init_type();
pysvn_enum< svn_wc_status_kind >::init_type();
pysvn_enum_value< svn_wc_status_kind >::init_type();
pysvn_enum< svn_wc_schedule_t >::init_type();
pysvn_enum< svn_wc_merge_outcome_t >::init_type();
pysvn_enum< svn_wc_notify_state_t >::init_type();
pysvn_enum< svn_node_kind_t >::init_type();
pysvn_enum_value< svn_wc_schedule_t >::init_type();
pysvn_enum_value< svn_opt_revision_kind >::init_type();
pysvn_enum_value< svn_wc_notify_action_t >::init_type();
pysvn_enum_value< svn_wc_status_kind >::init_type();
pysvn_enum< svn_wc_merge_outcome_t >::init_type();
pysvn_enum_value< svn_wc_merge_outcome_t >::init_type();
pysvn_enum< svn_wc_notify_state_t >::init_type();
pysvn_enum_value< svn_wc_notify_state_t >::init_type();
pysvn_enum< svn_node_kind_t >::init_type();
pysvn_enum_value< svn_node_kind_t >::init_type();
add_keyword_method("Client", &pysvn_module::new_client, class_client_doc);
......
'''
====================================================================
Copyright (c) 2003-2004 Barry A Scott. All rights reserved.
Copyright (c) 2003-2005 Barry A Scott. All rights reserved.
This software is licensed as described in the file LICENSE.txt,
which you should have received as part of this distribution.
......
......@@ -172,6 +172,15 @@ void pysvn_context::contextNotify2
info["content_state"] = toEnumValue( notify->content_state );
info["prop_state"] = toEnumValue( notify->prop_state );
info["revision"] = Py::asObject( new pysvn_revision( svn_opt_revision_number, 0, notify->revision ) );
if( notify->err != NULL )
{
SvnException error( notify->err );
info["error"] = error.pythonExceptionArg( 1 );
}
else
{
info["error"] = Py::None();
}
Py::Object results;
......
......@@ -726,7 +726,7 @@ public:
apr_status_t status = apr_file_open( &m_apr_file, m_filename, APR_READ, APR_OS_DEFAULT, m_pool );
if( status )
{
std::string msg( "openning file " ); msg += m_filename;
std::string msg( "opening file " ); msg += m_filename;
throw SvnException( svn_error_create( status, NULL, msg.c_str() ) );
}
}
......@@ -847,6 +847,8 @@ Py::Object pysvn_client::cmd_diff( const Py::Tuple &a_args, const Py::Dict &a_kw
output_file.open_tmp_file();
error = svn_stringbuf_from_aprfile( &stringbuf, output_file.file(), pool );
if( error != NULL )
throw SvnException( error );
}
catch( SvnException &e )
{
......@@ -856,7 +858,8 @@ Py::Object pysvn_client::cmd_diff( const Py::Tuple &a_args, const Py::Dict &a_kw
throw_client_error( e );
}
return Py::String( stringbuf->data, stringbuf->len, name_utf8 );
// cannot convert to Unicode as we have no idea of the encoding of the bytes
return Py::String( stringbuf->data, (int)stringbuf->len );
}
Py::Object pysvn_client::cmd_export( const Py::Tuple &a_args, const Py::Dict &a_kws )
......@@ -2740,8 +2743,7 @@ Py::Object pysvn_client::get_auth_cache( const Py::Tuple &a_args, const Py::Dict
bool no_auth_cache = (param != NULL && param[0] == '1');
if( no_auth_cache )
return Py::Int( 0 );
else
return Py::Int( 1 );
return Py::Int( 1 );
}
Py::Object pysvn_client::set_auth_cache( const Py::Tuple &a_args, const Py::Dict &a_kws )
......@@ -2954,79 +2956,74 @@ template <> void pysvn_enum< svn_opt_revision_kind >::init_type(void)
behaviors().supportGetattr();
}
template <> void pysvn_enum< svn_wc_notify_action_t >::init_type(void)
{
behaviors().name("wc_notify_action");
behaviors().doc("wc_notify_action enumeration");
behaviors().supportGetattr();
}
template <> void pysvn_enum< svn_wc_status_kind >::init_type(void)
{
behaviors().name("wc_status_kind");
behaviors().doc("wc_status_kind enumeration");
behaviors().supportGetattr();
}
template <> void pysvn_enum< svn_wc_schedule_t >::init_type(void)
template <> void pysvn_enum_value< svn_opt_revision_kind >::init_type(void)
{
behaviors().name("wc_schedule");
behaviors().doc("wc_schedule enumeration");
behaviors().supportGetattr();
behaviors().name("opt_revision_kind");
behaviors().doc("opt_revision_kind value");
behaviors().supportCompare();
behaviors().supportRepr();
behaviors().supportStr();
behaviors().supportHash();
}
template <> void pysvn_enum< svn_wc_merge_outcome_t >::init_type(void)
template <> void pysvn_enum< svn_wc_notify_action_t >::init_type(void)
{
behaviors().name("wc_merge_outcome");
behaviors().doc("wc_merge_outcome enumeration");
behaviors().name("wc_notify_action");
behaviors().doc("wc_notify_action enumeration");
behaviors().supportGetattr();
}
template <> void pysvn_enum< svn_wc_notify_state_t >::init_type(void)
template <> void pysvn_enum_value< svn_wc_notify_action_t >::init_type(void)
{
behaviors().name("wc_notify_state");
behaviors().doc("wc_notify_state enumeration");
behaviors().supportGetattr();
behaviors().name("wc_notify_action");
behaviors().doc("wc_notify_action value");
behaviors().supportCompare();
behaviors().supportRepr();
behaviors().supportStr();
behaviors().supportHash();
}
template <> void pysvn_enum< svn_node_kind_t >::init_type(void)
template <> void pysvn_enum< svn_wc_status_kind >::init_type(void)
{
behaviors().name("node_kind");
behaviors().doc("node_kind enumeration");
behaviors().name("wc_status_kind");
behaviors().doc("wc_status_kind enumeration");
behaviors().supportGetattr();
}
//--------------------------------------------------------------------------------
template <> void pysvn_enum_value< svn_opt_revision_kind >::init_type(void)
template <> void pysvn_enum_value< svn_wc_status_kind >::init_type(void)
{
behaviors().name("opt_revision_kind");
behaviors().doc("opt_revision_kind value");
behaviors().name("wc_status_kind");
behaviors().doc("wc_status_kind value");
behaviors().supportCompare();
behaviors().supportRepr();
behaviors().supportStr();
behaviors().supportHash();
}
template <> void pysvn_enum_value< svn_wc_notify_action_t >::init_type(void)
template <> void pysvn_enum< svn_wc_schedule_t >::init_type(void)
{
behaviors().name("wc_notify_action");
behaviors().doc("wc_notify_action value");
behaviors().supportCompare();
behaviors().supportRepr();
behaviors().supportStr();
behaviors().supportHash();
behaviors().name("wc_schedule");
behaviors().doc("wc_schedule enumeration");
behaviors().supportGetattr();
}
template <> void pysvn_enum_value< svn_wc_status_kind >::init_type(void)
template <> void pysvn_enum_value< svn_wc_schedule_t >::init_type(void)
{
behaviors().name("wc_status_kind");
behaviors().doc("wc_status_kind value");
behaviors().name("wc_schedule");
behaviors().doc("wc_schedule value");
behaviors().supportCompare();
behaviors().supportRepr();
behaviors().supportStr();
behaviors().supportHash();
}
template <> void pysvn_enum< svn_wc_merge_outcome_t >::init_type(void)
{
behaviors().name("wc_merge_outcome");
behaviors().doc("wc_merge_outcome enumeration");
behaviors().supportGetattr();