Resolving diverged branches in Subversion repository
Russel Winder
russel.winder at concertant.com
Tue Jun 17 18:37:41 BST 2008
On Tue, 2008-06-17 at 17:15 +0200, Jelmer Vernooij wrote:
> I've talked with Russel Winder about adding a command similar to
> git-svn's dcommit command, but that would mean you lose the ability to
> treat the branch in Subversion as any regular bzr branch once you use
> dcommit.
The issue here is the role of Bazaar/Git with respect to Subversion.
If Subversion is being used as a repository of Bazaar branches then the
current bzr-svn behaviour is necessary (SVK does the same). If
Subversion contains the master and Bazaar/Git are being used as clients
to get rid of all the .svn directories and provide off-line working and
batched commits, the the current bzr-svn behaviour is sub-optimal and
git-svn does exactly the right thing.
I find that currently Git plays more neatly in the "better client for
Subversion" game than Bazaar, but that is not surprising given that this
is how git-svn was designed compared to the way bzr-svn was designed.
However, Git is a right royal pain in the @rXX compared to Bazaar -- all
those options and the huge inconsistencies. . .
So despite the fact that I would prefer to use Bazaar as my better
Subversion client, I find that for repositories that are very big
holding many small projects (e.g. Apache Commons) and repositories that
list all property changes (e.g. Codehaus) I end up using Git -- I just
have to live with the hate. Fortunately for many Subversion
repositories I can use Bazaar, the property changes do not get reported
(but they do take a lot of time), so git-svn is a lot faster than
bzr-svn for this task -- again this is a "by design" issue because of
the different design strategies.
So this is the background to the email exchanges Jelmer and I have had.
I would very much like to have a way of working with Bazaar that worked
more like Git. The usage model is:
git svn rebase
( git add. . . git commit )*
git svn dcommit
each Git commit is then just translated into a Subversion commit, all
DVCS information is lost. Git basically treats Subversion as a second
class citizen.
By design, bzr-svn does not work like this even though the basic model
is similar:
bzr rebase
(bzr commit )*
bzr push
--
Russel.
====================================================
Dr Russel Winder Partner
Concertant LLP t: +44 20 7585 2200, +44 20 7193 9203
41 Buckmaster Road, f: +44 8700 516 084
London SW11 1EN, UK. m: +44 7770 465 077
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20080617/c7196740/attachment.pgp
More information about the bazaar
mailing list