[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Question regarding the python binding

From: Tino Schwarze <subversion.lists_at_tisc.de>
Date: Thu, 25 Mar 2010 15:17:42 +0100

Hi there,

I'm currently implementing commit hooks and struggling with the python
bindings. I took the contributed pre-commit example which uses the "svn"
python module which maps more or less directly to libsvn functions.

Background: We want to enforce certain global ignores, MIME types etc.
The most coherent way should be to just read our default .svn/config
file and verify against it's settings. BTW: Has anybody done something
similar already?

Back to python: I managed to use the Python bindings to get a value from
the config file (I didn't want to reinvent the wheel) like this:

***
from svn import repos, fs, delta, core, client

def main(pool, repos_dir):

    # for now, store client configuration in repository root
    cfgfile = repos_dir+'/conf/client.conf'

    svncfg = core.svn_config_read (cfgfile, True, pool)

    global_ignores = core.svn_config_get (svncfg, core.SVN_CONFIG_SECTION_GLOBAL, core.SVN_CONFIG_OPTION_GLOBAL_IGNORES, None)

***

Now I'd like to verify our default set of required MIME types, so I need
to get the contents of the [auto-props] section from the config file.

libsvn provides the following function which should be suitable for my
needs:

svn_config_enumerate2(svn_config_t cfg, char section,
svn_config_enumerator2_t callback, void baton, apr_pool_t pool) -> int

Two questions arise:

1. How do I define an appropiate callback in Python? Looking at the SWIG
documentation, I see examples on how to implement Python callbacks but
they don't seem to match the current SVN bindings. I tried passing a
Python method, deriving from svn_config_enumerator2_t etc. -> Segfault.

2. What's the baton good for? Is it just some kind of additional data, I
don't need to care about?

Maybe the devel list is more appropiate for such questions, but I wanted
to try here first.

Thanks,

Tino.

-- 
"What we nourish flourishes." - "Was wir nhren erblht."
www.lichtkreis-chemnitz.de
www.tisc.de
Received on 2010-03-25 15:18:13 CET

This is an archived mail posted to the Subversion Users mailing list.