[Zope-dev] Launchpad gardening

Tres Seaver tseaver at palladion.com
Thu Apr 15 13:27:26 EDT 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Gary Poster wrote:
> On Apr 15, 2010, at 12:51 PM, Sidnei da Silva wrote:
> 
>> On Thu, Apr 15, 2010 at 12:41 PM, Leonardo Rochael Almeida
>> <leorochael at gmail.com> wrote:
>>> Thanks Tres and Sidnei,
>>>
>>> My questions were intended to go to the list anyway.
>>>
>>> Can we take a branch from the launchpad mirror and bind it back
>>> directly at svn+ssh://svn.zope.org/ to commit?
>>>
>>> For instance, say I'm reviewing a bugfix proposed by someone that
>>> doesn't currently have access to svn.zope.org but added a
>>> merge-proposal to lp, can I branch it, bind it to
>>> svn+ssh://svn.zope.org and then commit?
>>>
>>> Wouldn't it be nice if it was possible?
>> Not sure if it would. What you really want to do is to merge the bzr
>> branch you got from Launchpad into the 'trunk' you got from
>> svn.zope.org, which behaves exactly as Tres described on his previous
>> email. Pushing the branch directly without merging first would
>> overwrite the contents of the target branch with the contents of the
>> pushed branch.
> 
> I didn't think this was true, so I checked another source. :-)
> 
> bzr does not allow that, actually--at least for bzr branches, and I
suspect for svn branches. If the branches are diverged, you can't just
push. You need to merge and then push.
> 
> But, my source for bzr knowledge warns me, "if you merge with the
public version, and then try to push to the public version, your revno
will change, and that will confuse people." So, a better story is to use
bzr as if it were svn at that point: bzr co the trunk, bzr merge your
changes, and bzr commit.
> 
> If the Launchpad import of a given SVN package was recently created
(since late 2009) then it works quite nicely.
> 
> If it was made earlier, you will encounter hiccups.
> 
> With the new imports I've done stuff like this.
> 
> - bzr branch the import from LP.
> - Make changes locally and commit.
> - push branch to LP
> - make a merge proposal on LP and get a review
> - bzr push the branch to a new branch on zope's svn (each commit you made locally shows up separately even though it is one big push)
> - bzr co the svn trunk, merge my changes, and commit.
> 
> It's quite nice.  Handling merges is wildly nicer in the correct dvcs
> options than svn.
> 
> The only limitation for bzr right now is that bzr doesn't handle svn
> externals.  That's slated to change this year, I think.  If people
> are curious, Sidnei or I could reach out and get more details of the
> timeline.

- From my research, support for svn:externals in bzr-svn is actually
blocked on an upstream bzr feature which is itself stalled (no activity
for 2 years now, I think).

svn:externals are already kind of a wart, although recent SVN versions
have fixed one long-standing issue (they allow relative externals now).
   I think we have a few recurring patterns in the repository:

 - using an external to pull in $ZSVN/bootstrap, rather than copying
   the bootstrap.py file.  I'm ambivalent here, and could easily see
   dumping the external.

 - using an external to work around setuptools' inablility to install
   headers in a useful way, e.g. Zope's 'include' directory.  Maybe
   a new recipe would be better?

 - using externals to stitch together omnibus buildouts, e.g.
   CMF.buildout.  We could probably use something like
   'infrae.subversion' instead, maybe with a hook that allowed
   local customization of the command used to fetch the sub-checkout.



Tres.
- --
===================================================================
Tres Seaver          +1 540-429-0999          tseaver at palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkvHTH4ACgkQ+gerLs4ltQ5imwCgz9YvLWyVMqRTJbqgjYPntzGg
FE8AnR0LZivfJM9tjC5TJI2uTQmV3LZE
=N1uu
-----END PGP SIGNATURE-----


More information about the Zope-Dev mailing list