Rev 602: Merge upstream. in file:///data/jelmer/bzr-svn/revprops/
Jelmer Vernooij
jelmer at samba.org
Fri Dec 14 16:04:31 GMT 2007
At file:///data/jelmer/bzr-svn/revprops/
------------------------------------------------------------
revno: 602
revision-id:jelmer at samba.org-20071214160431-czsb8xvrc724i1jf
parent: jelmer at samba.org-20071210011844-c0t3vr9uqlnbrf78
parent: jelmer at samba.org-20071214155628-1rfw35a3hgmpcjqf
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: revprops
timestamp: Fri 2007-12-14 17:04:31 +0100
message:
Merge upstream.
modified:
FAQ faq-20070910195147-p9u38s9wplds2d4o-1
NEWS news-20061231030336-h9fhq245ie0de8bs-1
logwalker.py logwalker.py-20060621215743-c13fhfnyzh1xzwh2-1
transport.py transport.py-20060406231150-b3472d06b3a0818d
------------------------------------------------------------
revno: 579.1.229
revision-id:jelmer at samba.org-20071214155628-1rfw35a3hgmpcjqf
parent: jelmer at samba.org-20071214141151-f6yoq56zh1k8a4oi
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.4
timestamp: Fri 2007-12-14 16:56:28 +0100
message:
Fix compatibility with Subversion 1.5.
modified:
logwalker.py logwalker.py-20060621215743-c13fhfnyzh1xzwh2-1
transport.py transport.py-20060406231150-b3472d06b3a0818d
------------------------------------------------------------
revno: 579.1.228
revision-id:jelmer at samba.org-20071214141151-f6yoq56zh1k8a4oi
parent: jelmer at samba.org-20071214135208-fqnfbtgh2bliurmp
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.4
timestamp: Fri 2007-12-14 15:11:51 +0100
message:
Update FAQ
modified:
FAQ faq-20070910195147-p9u38s9wplds2d4o-1
------------------------------------------------------------
revno: 579.1.227
revision-id:jelmer at samba.org-20071214135208-fqnfbtgh2bliurmp
parent: jelmer at samba.org-20071209224848-8j0c45o59ytw7mlg
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.4
timestamp: Fri 2007-12-14 14:52:08 +0100
message:
Work around memory leak in the python subversion bindings.
modified:
NEWS news-20061231030336-h9fhq245ie0de8bs-1
logwalker.py logwalker.py-20060621215743-c13fhfnyzh1xzwh2-1
=== modified file 'FAQ'
--- a/FAQ 2007-11-28 11:45:57 +0000
+++ b/FAQ 2007-12-14 14:11:51 +0000
@@ -4,8 +4,8 @@
Bazaar is using a lot of memory accessing a Subversion repository
=================================================================
bzr-svn can use a lot of memory cloning big branches. The problem appears to be
-caused both by a memory leak in the python-subversion bindings or Subversion
-(the svn_ra_get_log() function) and the memory overhead from Bazaar.
+caused mainly by a memory leak in the python-subversion bindings for the svn_ra_get_log()
+function.
Newer versions of Subversion (1.5 especially) use significantly less memory
than older versions (though they still seem to leak).
=== modified file 'NEWS'
--- a/NEWS 2007-12-06 15:54:08 +0000
+++ b/NEWS 2007-12-14 13:52:08 +0000
@@ -6,6 +6,8 @@
push a lot faster, in particular in Subversion repositories
with a lot of branches.
+ * Work around memory leak in the Python Subversion bindings of svn.ra.get_log().
+
bzr-svn 0.4.5 2007-12-01
IMPROVEMENTS
=== modified file 'logwalker.py'
--- a/logwalker.py 2007-12-09 22:48:48 +0000
+++ b/logwalker.py 2007-12-14 15:56:28 +0000
@@ -95,6 +95,8 @@
self.db.execute(
"replace into changed_path (rev, path, action, copyfrom_path, copyfrom_rev) values (?, ?, ?, ?, ?)",
(log_entry.revision, p.strip("/"), orig_paths[p].action, copyfrom_path, orig_paths[p].copyfrom_rev))
+ # Work around nasty memory leak in Subversion
+ orig_paths[p]._parent_pool.destroy()
self.saved_revnum = log_entry.revision
if self.saved_revnum % 1000 == 0:
@@ -104,7 +106,7 @@
try:
while self.saved_revnum < to_revnum:
pool = Pool()
- self._get_transport().get_log("/", self.saved_revnum,
+ self._get_transport().get_log("", self.saved_revnum,
to_revnum, self._limit, True,
True, [], rcvr, pool)
pool.destroy()
=== modified file 'transport.py'
--- a/transport.py 2007-12-09 23:33:12 +0000
+++ b/transport.py 2007-12-14 16:04:31 +0000
@@ -408,10 +408,10 @@
def _request_path(self, relpath):
if self._backing_url == self.svn_url:
- return relpath
+ return relpath.strip("/")
newrelpath = urlutils.join(
urlutils.relative_url(self._backing_url+"/", self.svn_url+"/"),
- relpath).rstrip("/")
+ relpath).strip("/")
self.mutter('request path %r -> %r' % (relpath, newrelpath))
return newrelpath
More information about the bazaar-commits
mailing list