André Malo wrote:
> * Mathias Weinert wrote:
>
> > André Malo wrote:
> > > wrt the changes in repos.py: This should be documented in the change
> > > log I think, as it's an incompatible change.
> >
> > Sorry, but I don't understand what you want to say here. Could you
> > please explain this to me (what is incompatible with what)? Thanks.
>
> svn.repos is a common library. So if something's changed there in a
> backwards incompatible way, it should be noted at some place where
> developers can find it (before updating).
So what about the following patch. It doesn't change the parameter list
of __init__ (and is smaller anyway)?
Mathias
--- repos.py.orig 2006-08-10 09:15:33.801134900 +0200
+++ repos.py 2006-08-22 16:46:00.184779900 +0200
@@ -50,6 +50,12 @@
### if the rev is always repos.rev - 1, or whether it represents the
### created or time-of-checkout rev. so... we use a flag (for now)
self.added = added
+
+ ### this additional flag is needed to store information if a path was
+ ### a newly added one or if it was a replace action
+ ### it cannot be set be __init__ in order to leave the parameter list
+ ### unchanged
+ self.replaced = False
class ChangeCollector(_delta.Editor):
@@ -126,6 +132,9 @@
def add_directory(self, path, parent_baton,
copyfrom_path, copyfrom_revision, dir_pool=None):
+ # if this add is a replace there is already a change record inserted
+ # by a delete, so in this case set replaced to True below.
+ is_replace = self.changes.has_key(path)
self.changes[path] = ChangedPath(_core.svn_node_dir,
False,
False,
@@ -134,6 +143,7 @@
path, # path
True, # added
)
+ self.changes[path].replaced = is_replace
if copyfrom_path and (copyfrom_revision != -1):
base_path = copyfrom_path
else:
@@ -162,6 +172,9 @@
def add_file(self, path, parent_baton,
copyfrom_path, copyfrom_revision, file_pool=None):
+ # if this add is a replace there is already a change record inserted
+ # by a delete, so in this case set replaced to True below.
+ is_replace = self.changes.has_key(path)
self.changes[path] = ChangedPath(_core.svn_node_file,
False,
False,
@@ -170,6 +183,7 @@
path, # path
True, # added
)
+ self.changes[path].replaced = is_replace
if copyfrom_path and (copyfrom_revision != -1):
base_path = copyfrom_path
else:
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Aug 22 16:56:34 2006