[Svnmerge] svnmerge.py as library

Michael Haggerty mhagger at alum.mit.edu
Wed Jul 13 04:45:03 PDT 2011


In an earlier mail I mentioned that I wanted to make some changes to
svnmerge.py to use it as a library for extracting svnmerge.py metadata
in a useful format.  For your information, these are the three main
problems that I have experienced so far:

1. In many places, svnmerge.py assumes that the Subversion revision that
is being operated on is HEAD.  For example, "svnmerge.py avail" examines
the source branch in the HEAD revision.  But when accessing historical
revisions, this approach can fail if the source branch has since been
deleted.

2. The PathIdentifier cache does not guarantee that the same instance is
always returned for a branch.  Depending on how they are created,
sometimes multiple instances are created for the same branch.  This is a
problem because other code assumes that "==" and "is" are equivalent;
for example, these instances are used as dictionary keys.  I have found
ways to reduced this problem, but I still don't have a complete solution.

3. The global "ops" variable is used deep in the library in some cases,
making it difficult to call routines with varied arguments.

Michael

-- 
Michael Haggerty
mhagger at alum.mit.edu
http://softwareswirl.blogspot.com/


More information about the Svnmerge mailing list