Using bzr-svn and Launchpad

Jelmer Vernooij jelmer at samba.org
Sat May 2 11:51:40 BST 2009


Eugene Wee wrote:
> On Sat, May 2, 2009 at 4:10 AM, Jelmer Vernooij <jelmer at samba.org> wrote:
>> The EOL property is only picked up in native Subversion working copies,
>> not in Bazaar branches (as there is no way to store svn file properties
>> in bzr branches/working trees). In native Bazaar branches you can still
>> have eol handling, but you'll need to configure it manually (in
>> .bzr/branch/rules or ~/.bazaar/rules).
>
> Ah, I missed the part about native Subversion working copies. What
> exactly is the purpose of bzr-svn being able to handle Subversion
> working copies? Is it just so that a Subversion client need not be
> installed?
bzr-svn is all about supporting the Subversion file formats and
network protocols in Bazaar; not just the repository file
format/protocols but also the working copy file format. For
consistency it's nice to be able to use Bazaar in Subversion working
copies, but there are some other benefits as well - being able to use
"bzr viz" for example, or being able to see the other bzr-specific
metadata as set by bzr-svn.
>
> Unfortunately, the Boost Subversion server enforces the requirement
> that both svn:mime-type and svn:eol-style be set for all files
> committed. As such, it appears that I must use a Subversion working
> copy with a Subversion client.
>
> I am considering one (imperfect) way out that does not involve bzr-svn:
> 1. Create a new bzr branch, then svn checkout my Boost SVN trunk into
> it. (Apparently I cannot reverse the order with bzr-svn installed.)
> 2. Add all the files except .svn directories and their contents, to be
> under bzr version control.
> 3. Push the bzr branch to Launchpad.
> 4. Setup my "shared tree across branches" workspace with the trunk as
> a mirror of the trunk on Launchpad.
> 5. svn checkout my Boost SVN trunk into the trunk mirror. (Not sure
> about what happens here since the files would be duplicated. I might
> need to delete everything except the .bzr directory and .bzrignore
> first.)
This should work, but you'll have to uninstall bzr-svn (as it will
pick up the .svn directories otherwise).
>
> Now, development proceeds with feature branches using bzr. After I am
> done with a feature branch, I bzr switch to the trunk mirror, bzr
> merge and bzr commit. Then, if I have online access, I svn update,
> resolve conflicts, and svn commit. Now, I bzr commit again, and
> finally bzr push.
>
> This way I get to commit offline while being able to keep the
> "official" Boost SVN repository updated with history that makes sense.
> However, one shortcoming is that the bzr branches would lack the
> previous history from SVN, but that might not matter so much since it
> is still accessible via SVN. Another possible problem is that I would
> need to be disciplined with my feature branches so that I do end up
> making each commit to SVN too huge (but that is my own problem, haha).
Have you looked at the changelist feature in Subversion >= 1.5? I've
never used it, but AFAIK its purpose is to handle this sort of
situation, where you need to have multiple changes

Cheers,

Jelmer




More information about the bazaar mailing list