Marc Schlinger wrote on Thu, Dec 08, 2011 at 16:00:03 +0100: > Le jeudi 08 décembre 2011 à 15:20 +0200, Daniel Shahaf a écrit : > > Marc Schlinger wrote on Thu, Dec 08, 2011 at 14:07:06 +0100: > > > Hello, > > > > > > I'm using subversion and python-subversion on a debian squeeze system. > > > The package version is 1.6.12dfsg-4. > > > > > > I'm trying to modify the behavior of the changed command of the > > > svnlook.py file provided by python-subversion. > > > > > > I'm want to show that a directory was copied by adding a "+" to the > > > output - the way genuine svnlook command do. > > > > > > I've modified the add_directory method of the ChangedEditor as follow: > > > > > > def add_directory(self, path, parent_baton, > > > copyfrom_path, copyfrom_revision, dir_pool): > > > > > > print('A %s %s/' % ("+" if copyfrom_path else " ", path)) > > > return [ 0, path ] > > > > > > but the copyfrom_path always equals to None. > > > > > > Is there a way to have this parameter set? > > > > > > > What does viewvc do to cause > > http://svn.apache.org/viewvc?view=revision&revision=1207555 > > to show "(Copied from > > subversion/trunk/contrib/server-side/mod_dontdothat, r1207550)" > > ? > > Thanks for pointing out this project. I didn't even notice it was > written in python. > > To answer your question. > They call the svn.fs.copied_from(rev_root, path) method to get the > copyfrom_path information. > > They don't seem to implement the "editor" interface, so I still don't > know how to get the copyfrom_info directly in add_directory.
Perhaps you should use svn_repos_replay() to drive your editor? A quick look into the source of svn_repos_dir_delta2() (which is what 'svnlook.py changed' uses) suggests that it always passes '(NULL, SVN_INVALID_REVNUM)' for the copyfrom.