More flexible commits to bound branches

Bug #79330 reported by Jelmer Vernooij
24
Affects Status Importance Assigned to Milestone
Bazaar Subversion Plugin
Fix Released
High
Jelmer Vernooij
bzr (Ubuntu)
Invalid
Undecided
Unassigned
bzr-svn (Ubuntu)
Fix Released
Undecided
Jelmer Vernooij

Bug Description

  affects /bzr-svn
  affects /bzr
  status confirmed

Commits in heavyweight checkouts of Subversion branches are broken at
the moment, because the commit code tries to push the revision to the
master repository without updating the master branch (something which
doesn't work for Subversion branches).

I think the best way to fix this would be to simply obtain a commit
editor from the remote branch and use that for creating the commit and
pull the newly created commit to the local branch once it's been
committed remotely. Optionally, the local branch could be provided to
Repository.get_commit_builder() for optimization purposes.

--
Jelmer Vernooij <email address hidden> - http://samba.org/~jelmer/

Revision history for this message
Martin Pool (mbp) wrote : Re: [Bug 79330] More flexible commits to bound branches

Sounds reasonable.

--
Martin

Jelmer Vernooij (jelmer)
Changed in bzr-svn:
assignee: nobody → jelmer
status: Unconfirmed → Confirmed
assignee: nobody → jelmer
status: Unconfirmed → Confirmed
Jelmer Vernooij (jelmer)
Changed in bzr-svn:
importance: Undecided → High
Revision history for this message
Jelmer Vernooij (jelmer) wrote :

  subscribe <email address hidden>

Revision history for this message
Stefan Metzmacher (metze) wrote :

that's what I current added to get a better error message

otherwise I get a 'NoneType' member .to_waeve doesn't have method ... error

=== modified file 'repository.py'
--- repository.py 2007-01-20 23:11:09 +0000
+++ repository.py 2007-01-29 13:47:06 +0000
@@ -391,6 +391,9 @@
         # TODO: More efficient implementation?
         return map(self.get_revision, revision_ids)

+ def fetch(self, source, revision_id=None, pb=None):
+ raise NotImplementedError(self.fetch)
+
     def add_revision(self, rev_id, rev, inv=None, config=None):
         raise NotImplementedError(self.add_revision)

Revision history for this message
Jelmer Vernooij (jelmer) wrote : Re: [Bug 79330] Re: More flexible commits to bound branches

On Thu, 2007-02-01 at 16:00 +0000, Stefan Metzmacher wrote:
> that's what I current added to get a better error message
>
> otherwise I get a 'NoneType' member .to_waeve doesn't have method ...
> error
The .to_weave() bit is actually a Bazaar bug. It shouldn't be trying to
use weaves when fetching changes between repositories that don't both
support weaves.

Cheers,

Jelmer
--
Jelmer Vernooij <email address hidden> - http://samba.org/~jelmer/

Revision history for this message
John A Meinel (jameinel) wrote :

I think the reason for not doing this was because you have to create the commit on the remote machine (which means it would access remote knits for the old data, etc). Rather than creating it locally, and copying it across.

I understand the need for this as we get more mixed-format bindings. But hopefully we can find a solution that would allow mixed-formats, without penalizing same-formats with a remote commit.

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

Fixed in the 0.4 branch.

Changed in bzr-svn:
status: Confirmed → Fix Committed
Revision history for this message
Jelmer Vernooij (jelmer) wrote :

This has actually been fixed in upstream.

Changed in bzr-svn:
status: Confirmed → Fix Committed
Revision history for this message
Jelmer Vernooij (jelmer) wrote :

No longer needs a fix in bzr.

Changed in bzr:
status: Confirmed → Rejected
Jelmer Vernooij (jelmer)
Changed in bzr-svn:
status: Fix Committed → Fix Released
Jelmer Vernooij (jelmer)
Changed in bzr-svn:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.