Rev 1708: Push bzr signatures if possible. in file:///data/jelmer/bzr-svn/trunk/
Jelmer Vernooij
jelmer at samba.org
Fri Aug 29 22:55:05 BST 2008
At file:///data/jelmer/bzr-svn/trunk/
------------------------------------------------------------
revno: 1708
revision-id: jelmer at samba.org-20080829215503-fnuyndz0852zxmhf
parent: jelmer at samba.org-20080829214803-2jf0om4f9p0pvddu
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Fri 2008-08-29 23:55:03 +0200
message:
Push bzr signatures if possible.
modified:
commit.py commit.py-20060607190346-qvq128wgfubhhgm2-1
=== modified file 'commit.py'
--- a/commit.py 2008-08-29 20:11:40 +0000
+++ b/commit.py 2008-08-29 21:55:03 +0000
@@ -27,7 +27,7 @@
from cStringIO import StringIO
-from bzrlib.plugins.svn import core, properties
+from bzrlib.plugins.svn import core, mapping, properties
from bzrlib.plugins.svn.core import SubversionException
from bzrlib.plugins.svn.delta import send_stream
from bzrlib.plugins.svn.errors import ChangesRootLHSHistory, MissingPrefix, RevpropChangeFailed, ERR_FS_TXN_OUT_OF_DATE
@@ -129,8 +129,7 @@
def __init__(self, repository, branch, parents, config, timestamp,
timezone, committer, revprops, revision_id, old_inv=None,
- push_metadata=True,
- graph=None):
+ push_metadata=True, graph=None, opt_signature=None):
"""Instantiate a new SvnCommitBuilder.
:param repository: SvnRepository to commit to.
@@ -193,6 +192,8 @@
self.supports_custom_revprops = self.repository.transport.has_capability("commit-revprops")
if self.supports_custom_revprops:
self._svn_revprops = {}
+ if opt_signature is not None:
+ self._svn_revprops[mapping.SVN_REVPROP_BZR_SIGNATURE] = opt_signature
else:
self._svn_revprops = None
self._svnprops = dict(self._base_branch_props.items())
@@ -742,13 +743,18 @@
else:
base_revids = [base_revid]
+ try:
+ opt_signature = source_repo.get_signature_text(rev.revision_id)
+ except NoSuchRevision:
+ opt_signature = None
builder = SvnCommitBuilder(target.repository, target,
base_revids,
config, rev.timestamp,
rev.timezone, rev.committer, rev.properties,
revision_id, base_tree.inventory,
push_metadata=push_metadata,
- graph=graph)
+ graph=graph,
+ opt_signature=opt_signature)
replay_delta(builder, base_tree, old_tree)
try:
@@ -760,8 +766,6 @@
except ChangesRootLHSHistory:
raise BzrError("Unable to push revision %r because it would change the ordering of existing revisions on the Subversion repository root. Use rebase and try again or push to a non-root path" % revision_id)
- if source_repo.has_signature_for_revision_id(revision_id):
- pass # FIXME: Copy revision signature for rev
return revid
More information about the bazaar-commits
mailing list