Rev 465: Merge pyrex. in file:///data/jelmer/bzr-svn/native/
Jelmer Vernooij
jelmer at samba.org
Fri Mar 21 04:25:00 GMT 2008
At file:///data/jelmer/bzr-svn/native/
------------------------------------------------------------
revno: 465
revision-id: jelmer at samba.org-20080321042500-31rm3h0ouaqwkl6u
parent: jelmer at samba.org-20080319235052-pg0anzu0j319iur9
parent: jelmer at samba.org-20080321040825-hicn3boefkr70xrb
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: native
timestamp: Fri 2008-03-21 05:25:00 +0100
message:
Merge pyrex.
modified:
wc.pyx wc.pyx-20080313142018-10l8l23vha2j9e6b-1
workingtree.py workingtree.py-20060306120941-b083cb0fdd4a69de
------------------------------------------------------------
revno: 457.1.561
revision-id: jelmer at samba.org-20080321040825-hicn3boefkr70xrb
parent: jelmer at samba.org-20080321040128-415ktwbwm966v8yo
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: pyrex
timestamp: Fri 2008-03-21 05:08:25 +0100
message:
wrap walk entries function.
modified:
wc.pyx wc.pyx-20080313142018-10l8l23vha2j9e6b-1
------------------------------------------------------------
revno: 457.1.560
revision-id: jelmer at samba.org-20080321040128-415ktwbwm966v8yo
parent: jelmer at samba.org-20080319224647-52s9u285ylc2qnz3
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: pyrex
timestamp: Fri 2008-03-21 05:01:28 +0100
message:
Include working copy version number.
modified:
wc.pyx wc.pyx-20080313142018-10l8l23vha2j9e6b-1
workingtree.py workingtree.py-20060306120941-b083cb0fdd4a69de
=== modified file 'wc.pyx'
--- a/wc.pyx 2008-03-18 23:48:01 +0000
+++ b/wc.pyx 2008-03-21 04:08:25 +0000
@@ -67,6 +67,7 @@
char *cachable_props
char *present_props
+ svn_error_t *svn_wc_check_wc(char *path, int *wc_format, apr_pool_t *pool)
svn_version_t *svn_wc_version()
svn_error_t *svn_wc_adm_open3(svn_wc_adm_access_t **adm_access,
@@ -268,7 +269,21 @@
void *baton,
char **tempfile,
apr_pool_t *pool)
+ ctypedef struct svn_wc_entry_callbacks_t:
+ svn_error_t *(*found_entry)(char *path,
+ svn_wc_entry_t *entry,
+ void *walk_baton,
+ apr_pool_t *pool)
+ svn_error_t *svn_wc_walk_entries2(char *path,
+ svn_wc_adm_access_t *adm_access,
+ svn_wc_entry_callbacks_t
+ *walk_callbacks,
+ void *walk_baton,
+ svn_boolean_t show_hidden,
+ svn_cancel_func_t cancel_func,
+ void *cancel_baton,
+ apr_pool_t *pool)
def version():
"""Get libsvn_wc version information.
@@ -279,6 +294,15 @@
ver = svn_wc_version()
return (ver.major, ver.minor, ver.minor, ver.tag)
+cdef svn_error_t *py_wc_found_entry(char *path, svn_wc_entry_t *entry, void *walk_baton, apr_pool_t *pool):
+ fn = <object>walk_baton
+ # FIXME: entry
+ fn(path)
+ return NULL
+
+
+cdef svn_wc_entry_callbacks_t py_wc_entry_callbacks
+py_wc_entry_callbacks.found_entry = py_wc_found_entry
cdef void py_wc_notify_func(void *baton, svn_wc_notify_t *notify, apr_pool_t *pool):
pass # FIXME
@@ -382,6 +406,15 @@
apr_pool_destroy(temp_pool)
return py_entries
+ def walk_entries(self, char *path, callbacks, int show_hidden=False, cancel_func=None):
+ cdef apr_pool_t *temp_pool
+ temp_pool = Pool(self.pool)
+ check_error(svn_wc_walk_entries2(path, self.adm,
+ &py_wc_entry_callbacks, <void *>callbacks,
+ show_hidden, py_cancel_func, <void *>cancel_func,
+ temp_pool))
+ apr_pool_destroy(temp_pool)
+
def entry(self, char *path, int show_hidden=False):
cdef apr_pool_t *temp_pool
cdef svn_wc_entry_t *entry
@@ -618,3 +651,10 @@
check_error(svn_wc_ensure_adm2(path, uuid, url, c_repos, rev, pool))
apr_pool_destroy(pool)
+def check_wc(char *path):
+ cdef apr_pool_t *pool
+ cdef int wc_format
+ pool = Pool(NULL)
+ check_error(svn_wc_check_wc(path, &wc_format, pool))
+ apr_pool_destroy(pool)
+ return wc_format
=== modified file 'workingtree.py'
--- a/workingtree.py 2008-03-19 23:50:52 +0000
+++ b/workingtree.py 2008-03-21 04:25:00 +0000
@@ -61,7 +61,8 @@
class SvnWorkingTree(WorkingTree):
"""WorkingTree implementation that uses a Subversion Working Copy for storage."""
def __init__(self, bzrdir, local_path, branch):
- self._format = SvnWorkingTreeFormat()
+ version = wc.check_wc(local_path)
+ self._format = SvnWorkingTreeFormat(version)
self.basedir = local_path
self.bzrdir = bzrdir
self._branch = branch
@@ -713,16 +714,19 @@
class SvnWorkingTreeFormat(WorkingTreeFormat):
"""Subversion working copy format."""
+ def __init__(self, version):
+ self.version = version
+
def __get_matchingbzrdir(self):
return SvnWorkingTreeDirFormat()
_matchingbzrdir = property(__get_matchingbzrdir)
def get_format_description(self):
- return "Subversion Working Copy"
+ return "Subversion Working Copy Version %d" % self.version
def get_format_string(self):
- return "Subversion Working Copy Format"
+ raise NotImplementedError
def initialize(self, a_bzrdir, revision_id=None):
raise NotImplementedError(self.initialize)
More information about the bazaar-commits
mailing list