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:therning@sourceforge.natlab.research.philips.com
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
Attachment:
pgpivmrEdFcvR.pgp
Description: PGP signature