Hi, I had some problems getting the version of viewcvs that is available in Debian unstable with the python2.2-subversion package that is in there too... The attachment contains a diff of the changes that I made... It seems to work except for the fs.FileDiff on line 116 in vclib/svn/__init.py__, I am not sure what to replace it with and it seems that the CVS HEAD of viewcvs still uses it... Any help would be most useful.
/M -- Magnus Therning mailto:[EMAIL PROTECTED] PGP:0xD3BC7468 +31-40-2745179 http://pww.innersource.philips.com/magnus/ There is no such thing as sleep deprivation, only caffeine deficiency. -- Simmons
--- __init__.py_old 2003-06-17 08:04:45.000000000 +0200 +++ __init__.py 2003-06-25 13:29:29.000000000 +0200 @@ -23,7 +23,7 @@ import string # Subversion swig libs -from svn import fs, repos, util +from svn import fs, repos, core # Subversion filesystem paths are '/'-delimited, regardless of OS. def fs_path_join(base, relative): @@ -33,21 +33,21 @@ def _datestr_to_date(datestr, pool): - return util.svn_time_from_cstring(datestr, pool) / 1000000 + return core.svn_time_from_cstring(datestr, pool) / 1000000 def _fs_rev_props(fsptr, rev, pool): - author = fs.revision_prop(fsptr, rev, util.SVN_PROP_REVISION_AUTHOR, pool) - msg = fs.revision_prop(fsptr, rev, util.SVN_PROP_REVISION_LOG, pool) - date = fs.revision_prop(fsptr, rev, util.SVN_PROP_REVISION_DATE, pool) + author = fs.svn_fs_revision_prop(fsptr, rev, core.SVN_PROP_REVISION_AUTHOR, pool) + msg = fs.svn_fs_revision_prop(fsptr, rev, core.SVN_PROP_REVISION_LOG, pool) + date = fs.svn_fs_revision_prop(fsptr, rev, core.SVN_PROP_REVISION_DATE, pool) return date, author, msg def date_from_rev(svnrepos, rev): - if (rev < 0) or (rev > fs.youngest_rev(svnrepos.fs_ptr, svnrepos.pool)): + if (rev < 0) or (rev > fs.svn_fs_youngest_rev(svnrepos.fs_ptr, svnrepos.pool)): raise vclib.InvalidRevision(rev); - datestr = fs.revision_prop(svnrepos.fs_ptr, rev, - util.SVN_PROP_REVISION_DATE, svnrepos.pool) + datestr = fs.svn_fs_revision_prop(svnrepos.fs_ptr, rev, + core.SVN_PROP_REVISION_DATE, svnrepos.pool) return _datestr_to_date(datestr, svnrepos.pool) @@ -80,7 +80,7 @@ } for file in files: path = fs_path_join(full_name, file) - rev = fs.node_created_rev(svnrepos.fsroot, path, svnrepos.pool) + rev = fs.svn_fs_node_created_rev(svnrepos.fsroot, path, svnrepos.pool) datestr, author, msg = _fs_rev_props(svnrepos.fs_ptr, rev, svnrepos.pool) date = _datestr_to_date(datestr, svnrepos.pool) new_entry = LogEntry(rev, date, author, msg) @@ -97,7 +97,7 @@ } if which_rev is not None: if (which_rev < 0) \ - or (which_rev > fs.youngest_rev(svnrepos.fs_ptr, svnrepos.pool)): + or (which_rev > fs.svn_fs_youngest_rev(svnrepos.fs_ptr, svnrepos.pool)): raise vclib.InvalidRevision(which_rev); datestr, author, msg = _fs_rev_props(svnrepos.fs_ptr, @@ -111,8 +111,8 @@ def do_diff(svnrepos, path, rev1, rev2, diffoptions): - root1 = fs.revision_root(svnrepos.fs_ptr, rev1, svnrepos.pool) - root2 = fs.revision_root(svnrepos.fs_ptr, rev2, svnrepos.pool) + root1 = fs.svn_fs_revision_root(svnrepos.fs_ptr, rev1, svnrepos.pool) + root2 = fs.svn_fs_revision_root(svnrepos.fs_ptr, rev2, svnrepos.pool) return fs.FileDiff(root1, path, root2, path, svnrepos.pool, diffoptions) @@ -122,26 +122,26 @@ self._eof = 0 def read(self, len): - chunk = util.svn_stream_read(self._stream, len) + chunk = core.svn_stream_read(self._stream, len) if not chunk: self._eof = 1 return chunk def readline(self): - chunk = util.svn_stream_readline(self._stream) + chunk = core.svn_stream_readline(self._stream) if not chunk: self._eof = 1 return chunk def close(self): - return util.svn_stream_close(self._stream) + return core.svn_stream_close(self._stream) def eof(self): return self._eof def get_file_contents(svnrepos, path): - # len = fs.file_length(svnrepos.fsroot, path, svnrepos.pool) - stream = fs.file_contents(svnrepos.fsroot, path, svnrepos.pool) + # len = fs.svn_fs_file_length(svnrepos.fsroot, path, svnrepos.pool) + stream = fs.svn_fs_file_contents(svnrepos.fsroot, path, svnrepos.pool) return StreamPipe(stream) @@ -149,23 +149,24 @@ def __init__(self, name, rootpath, rev=None): if not os.path.isdir(rootpath): raise vclib.ReposNotFound(name) - util.apr_initialize() - self.pool = util.svn_pool_create(None) + core.apr_initialize() + self.pool = core.svn_pool_create(None) self.repos = repos.svn_repos_open(rootpath, self.pool) self.name = name self.rootpath = rootpath self.fs_ptr = repos.svn_repos_fs(self.repos) self.rev = rev - youngest = fs.youngest_rev(self.fs_ptr, self.pool); + #youngest = fs.svn_fs_youngest_rev(self.fs_ptr, self.pool); + youngest = fs.svn_fs_youngest_rev(self.fs_ptr, self.pool); if self.rev is None: self.rev = youngest if (self.rev < 0) or (self.rev > youngest): raise vclib.InvalidRevision(self.rev); - self.fsroot = fs.revision_root(self.fs_ptr, self.rev, self.pool) + self.fsroot = fs.svn_fs_revision_root(self.fs_ptr, self.rev, self.pool) def __del__(self): - util.svn_pool_destroy(self.pool) - util.apr_terminate() + core.svn_pool_destroy(self.pool) + core.apr_terminate() def getitem(self, path_parts): basepath = self._getpath(path_parts) @@ -177,10 +178,10 @@ def itemtype(self, path_parts): basepath = self._getpath(path_parts) - kind = fs.check_path(self.fsroot, basepath, self.pool) - if kind == util.svn_node_dir: + kind = fs.svn_fs_check_path(self.fsroot, basepath, self.pool) + if kind == core.svn_node_dir: return vclib.DIR - if kind == util.svn_node_file: + if kind == core.svn_node_file: return vclib.FILE raise vclib.ItemNotFound(path_parts) @@ -188,35 +189,35 @@ return string.join(path_parts, '/') def _getvf_subdirs(self, basepath): - entries = fs.dir_entries(self.fsroot, basepath, self.pool) + entries = fs.svn_fs_dir_entries(self.fsroot, basepath, self.pool) subdirs = { } names = entries.keys() names.sort() - subpool = util.svn_pool_create(self.pool) + subpool = core.svn_pool_create(self.pool) for name in names: child = fs_path_join(basepath, name) - if fs.is_dir(self.fsroot, child, subpool): + if fs.svn_fs_is_dir(self.fsroot, child, subpool): subdirs[name] = vclib.Versdir(self, child) - util.svn_pool_clear(subpool) - util.svn_pool_destroy(subpool) + core.svn_pool_clear(subpool) + core.apr_pool_destroy(subpool) return subdirs def _getvf_files(self, basepath): - entries = fs.dir_entries(self.fsroot, basepath, self.pool) + entries = fs.svn_fs_dir_entries(self.fsroot, basepath, self.pool) files = { } names = entries.keys() names.sort() - subpool = util.svn_pool_create(self.pool) + subpool = core.svn_pool_create(self.pool) for name in names: child = fs_path_join(basepath, name) - if fs.is_file(self.fsroot, child, subpool): + if fs.svn_fs_is_file(self.fsroot, child, subpool): files[name] = vclib.Versfile(self, child) - util.svn_pool_clear(subpool) - util.svn_pool_destroy(subpool) + core.svn_pool_clear(subpool) + core.apr_pool_destroy(subpool) return files def _getvf_info(self, target, basepath): - if not fs.is_file(self.fsroot, basepath, self.pool): + if not fs.svn_fs_is_file(self.fsroot, basepath, self.pool): raise "Unknown file: %s " % basepath # todo pass
pgp00000.pgp
Description: PGP signature