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

Re: properties or config file to setup special folder permission on deployment?

From: Erik Huelsmann <ehuels_at_gmail.com>
Date: 2007-09-18 14:19:38 CEST

On 9/18/07, Sylvain Viart <sylvain.viart@easyrencontre.com> wrote:
> Hi Erik,
> Erik Huelsmann a écrit :
> Can I program it my self for now, using svn API?

> Sure, but at home (I'm at work atm), I have a python script which
parses the
> output from 'svn pl -R .', which I'll be updating to use
the --xml option as
> soon as it comes available. I can send you the
script, if you want.

> I'm not using svnclient 1.5 so it won't be useful I think.
> I will by more interested by hacking directly inside the wc structure.
> Where should I start for example using svn API for exploring wc?

> You can start by reading the header file describing the C interface.
> perl bindings are a near 1-to-1 mapping of those interfaces.
> See:
> I started but it's far to be obvious what to do with this API.
> I've found this link
> http://people.apache.org/~rooneg/talks/version-control/version-control.html
> Which describe some basic concept about SVN API.
> here is a peace of C code from the link above illustrating the wc
> manipulation :
> svn_error_t *print_info(const char *path, apr_pool_t *pool) {
> svn_wc_adm_access_t *adm_access;
 svn_wc_entry_t *entry;

> SVN_ERR(svn_wc_adm_open3(&adm_access, NULL, path, FALSE, 0,
 NULL, pool));

 SVN_ERR(svn_wc_entry(&entry, path, adm_access, TRUE,
> pool));

 printf("name: %s\n", entry->name);
 printf("revision: %ld\n",
> entry->revision);
 printf("url: %s\n", entry->url);
 printf("author: %s\n",
> entry->cmt_author);
 printf("commit date: %s\n", entry->cmt_date);
> printf("last changed rev: %ld\n", entry->cmt_rev);

 return SVN_NO_ERROR;
> I'm still looking to some perl example to translate this code. Now I've got
> some SVN vocabulary : baton, pool, etc.

I don't think hacking straight in the wc code will be faster than
using 'svn pg -R .', which gets (and prints) all properties on all
targets in the working copy. It's the C version of what you'll be
writing in perl...

Then, you can catch that output in perl and act on it as required (for
example by changing the file permissions...)


Received on Tue Sep 18 14:19:59 2007

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.