ability to merge vcs-import branches back to svn

Bug #71382 reported by Guillaume Desmottes
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
Low
Unassigned

Bug Description

I'm an upstream developper of xchat-gnome and so have access on the trunk subversion.

A contributor uses the vcs-import to make his own branch and push it on the launchpad: https://launchpad.net/people/jnoreiko/+branch/xchat-gnome/docs

I'd like to be able to push it on the subversion using my svn account but i don't think launchpad provides this level of integration for the moment.

Revision history for this message
David Allouche (ddaa) wrote :

We thought about it <https://features.launchpad.net/products/launchpad-bazaar/+spec/bzr-roundtrip-svn> and we decided not to do it in Launchpad for the moment.

You can get the "make a bzr branch branch from svn, and merge it back to svn, while recording bzr metadata" feature using the bzr-svn <https://launchpad.net/products/bzr-svn/> plugin.

Note that a Launchpad import of a svn branch, and a bzr-svn import of the same branch are not "related" branches for bzr. You are not supposed to commit Launchpad import branches to SVN using the bzr-svn plugin.

Changed in launchpad-bazaar:
importance: Undecided → Wishlist
status: Unconfirmed → Confirmed
Revision history for this message
Guillaume Desmottes (cassidy) wrote :

Thanks for your answer.
So how can i commit a branch coming from launchpad import to SVN ?

Revision history for this message
David Allouche (ddaa) wrote :

You cannot.

Revision history for this message
Guillaume Desmottes (cassidy) wrote :

Humm so what's the interest to use bzr and vcs-import ?
Do you plan to solve that soon or i have just to discourage contributors to use bazaar branchs ?

Revision history for this message
David Allouche (ddaa) wrote :

> Humm so what's the interest to use bzr and vcs-import ?

 * Migration to bzr.
 * Downstream (packagers) can use version control for their changes while getting automatic fine-grained updates from upstream.
 * External contributors (w/o commit access) can use version control for features in development they will eventually submit through the traditional channels, like posting a patch on a mailing list.

> Do you plan to solve that soon

No. That can be solved, as the bzr-svn plugin demonstrates, but this is difficult and has a tension with the specific requirements of Launchpad imports.

> or i have just to discourage contributors to use bazaar branchs ?

This is an unrelated question.

Some people can use launchpad imports, other can use tailor, or bzr-svn, or even the upstream version control system. It is your call whether the service offered by Launchpad is adequate for your community, but it's a different problem than whether bzr is adequate for your community.

Regard.

Revision history for this message
Guillaume Desmottes (cassidy) wrote :

Thanks for your answers.

So, what's the easiest way for me to extract a diff between a working branch and trunk?
Is it possible to perform a diff between a local branch and one distant?
Or i have to checkout both branchs and perform a classical diff between the 2 directories?

Revision history for this message
David Allouche (ddaa) wrote :

These questions would be best answered by the bzr community <http://bazaar-vcs.org/BzrSupport>. But here are some quick answers:

> So, what's the easiest way for me to extract a diff between a working branch and trunk?

One way to do it to use the "ancestor" revspec. That selects the latest common ancestor with another branch:

% bzr diff -r ancestor:../trunk

> Is it possible to perform a diff between a local branch and one distant?

Bug 6700 in bzr prevents "bzr diff" from working on a branch that does not have a working tree.

But this is probably not what you want to do here. New changes on the trunk that you have not merged yet would appear reversed in the diff.

> Or i have to checkout both branchs and perform a classical diff between the 2 directories?

It's better to use "bzr diff branch-A branch-B", as it will only consider versioned files and present renames properly (not as add+delete).

The technique I would use would be having a checkout of the trunk, and doing:

trunk % bzr merge ../my-branch
trunk % bzr diff > ../branch.patch
trunk % bzr revert

This has the advantage of producing a diff against the latest trunk, detecting new merge conflicts caused by recent changes on trunk, and preventing unmerged trunk changes from appearing reverted in the diff.

We also plan to add a code review feature to Launchpad in the next six months that would make it easy to produce such a diff: https://blueprints.launchpad.net/products/launchpad-bazaar/+spec/review-infrastructure

Revision history for this message
David Allouche (ddaa) wrote :

Assigning to me because it needs support in the code import back-end.

Changed in launchpad-bazaar:
assignee: nobody → ddaa
Revision history for this message
Nazo (lovesyao) wrote :

I think that bzr-svn is stable now.
What status is this bug?

Revision history for this message
David Allouche (ddaa) wrote :

Assigning to rockstar since he's the guy in charge of this stuff now.

Changed in launchpad-bazaar:
assignee: ddaa → rockstar
Revision history for this message
Nazo (lovesyao) wrote :

ok.
I can't see spec but if it will integrate with cscvs, it would be bad. I think that following procedure is good.

Launchpad side
1. install bzr-svn on server
2. remove SVN import from "Import your project" page
3. accept SVN urls in Branch URL field of "Register a branch" page

User side
1. go to "Register a branch" page
2. input svn://... to Branch URL field
3. register

branch from mirror and push to mainline
1. bzr branch lp:foo
2. bzr push(or dpush) svn://... (with bzr-svn)

I don't know about load problem. If it has a problem, sorry.

Paul Hummer (rockstar)
Changed in launchpad-bazaar:
assignee: rockstar → nobody
Revision history for this message
Jelmer Vernooij (jelmer) wrote :

I think this could be marked fix released now that Launchpad supports imports through bzr-svn, it now works as Nazo describes in comment #11.

Revision history for this message
Jesse (sbjesse) wrote :

@jelmer i have registered a branch for pywikipedia in vcs-import but was frustrated by the fact that it differs from the branch made by your excellent bzr-svn v4 plugin, how can i fix that now?

Revision history for this message
Jelmer Vernooij (jelmer) wrote : Re: [Bug 71382] Re: ability to merge vcs-import branches back to svn

Hi Jesse,

On Sun, 2010-02-21 at 05:14 +0000, Jesse wrote:
> @jelmer i have registered a branch for pywikipedia in vcs-import but was
> frustrated by the fact that it differs from the branch made by your
> excellent bzr-svn v4 plugin, how can i fix that now?
If you remove the existing branch from Launchpad and then register
 another Subversion import using the same URL, it will use bzr-svn to
 do the import, rather than cscvs.

Cheers,

Jelmer

Revision history for this message
Tim Penhey (thumper) wrote :

New style imports for subversion use bzr-svn which allows this. Old imports could be reimported.

Changed in launchpad-code:
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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