[Pkg-bazaar-maint] Bug#460454: bzr-svn: Branches created in svn don't seem related in bzr
Roland Mas
lolando at debian.org
Sat Jan 12 20:10:36 UTC 2008
Package: bzr-svn
Version: 0.4.6-1
Severity: normal
When an existing svn repo that already contains branches is used
through bzr, these branches seem unrelated in bzr. Branches created
with bzr svn-push are fine.
In my test case, I first used only SVN. Created an SVN repo, then
committed three dirs (trunk/tags/branches) to it. Made a few commits
on trunk, then branched branch1 with svn cp. One more commit on
trunk, then one more commit on branch1. Then I went bzr, with "bzr
branch file:///.../svnrepo/trunk trunk+bzr" and "...branches/branch1
branch1+bzr". I then tried to see how these branches differed from
bzr's point of view:
,----
| guest at mirexpress:~/branch1+bzr$ bzr missing --line ../trunk+bzr/
| You have 2 extra revision(s):
| 3: guest 2008-01-12 commit on branch1 (after branching)
| 2: guest 2008-01-12 started branch1
|
| You are missing 4 revision(s):
| 5: guest 2008-01-12 commit 4 on trunk (after branching)
| 4: guest 2008-01-12 commit 3 on trunk
| 3: guest 2008-01-12 commit 2 on trunk
| 2: guest 2008-01-12 commit 1 on trunk
| guest at mirexpress:~/branch1+bzr$
`----
As you can see, bzr doesn't seem to "remember" there's some common
history (apart from rev 1).
So I tried branching from within bzr, with "bzr svn-push
file:///.../branches/branch2". Made one more commit on trunk, and one
on branch2. This one seems to work:
,----
| guest at mirexpress:~/branch2+bzr$ bzr missing --line ../trunk+bzr/
| You have 1 extra revision(s):
| 6: guest 2008-01-12 commit on branch2
|
| You are missing 1 revision(s):
| 6: guest 2008-01-12 commit 5 on trunk
`----
For reference, here's the full history of the SVN repo:
,----
| guest at mirexpress:~/svncheckout$ LANG=C svn log -v
| ------------------------------------------------------------------------
| r10 | guest | 2008-01-12 20:51:56 +0100 (Sat, 12 Jan 2008) | 1 line
| Changed paths:
| M /branches/branch2/foo
|
| commit on branch2
| ------------------------------------------------------------------------
| r9 | guest | 2008-01-12 20:51:33 +0100 (Sat, 12 Jan 2008) | 1 line
| Changed paths:
| M /trunk/foo
|
| commit 5 on trunk
| ------------------------------------------------------------------------
| r8 | guest | 2008-01-12 20:46:49 +0100 (Sat, 12 Jan 2008) | 1 line
| Changed paths:
| A /branches/branch2 (from /trunk:4)
| M /branches/branch2/foo
|
| commit 4 on trunk (after branching)
| ------------------------------------------------------------------------
| r7 | guest | 2008-01-12 20:41:43 +0100 (Sat, 12 Jan 2008) | 1 line
| Changed paths:
| M /branches/branch1/foo
|
| commit on branch1 (after branching)
| ------------------------------------------------------------------------
| r6 | guest | 2008-01-12 20:41:23 +0100 (Sat, 12 Jan 2008) | 1 line
| Changed paths:
| M /trunk/foo
|
| commit 4 on trunk (after branching)
| ------------------------------------------------------------------------
| r5 | guest | 2008-01-12 20:41:01 +0100 (Sat, 12 Jan 2008) | 1 line
| Changed paths:
| A /branches/branch1 (from /trunk:1)
| A /branches/branch1/foo (from /trunk/foo:4)
|
| started branch1
| ------------------------------------------------------------------------
| r4 | guest | 2008-01-12 20:40:33 +0100 (Sat, 12 Jan 2008) | 1 line
| Changed paths:
| M /trunk/foo
|
| commit 3 on trunk
| ------------------------------------------------------------------------
| r3 | guest | 2008-01-12 20:40:28 +0100 (Sat, 12 Jan 2008) | 1 line
| Changed paths:
| M /trunk/foo
|
| commit 2 on trunk
| ------------------------------------------------------------------------
| r2 | guest | 2008-01-12 20:40:20 +0100 (Sat, 12 Jan 2008) | 1 line
| Changed paths:
| A /trunk/foo
|
| commit 1 on trunk
| ------------------------------------------------------------------------
| r1 | guest | 2008-01-12 20:39:56 +0100 (Sat, 12 Jan 2008) | 1 line
| Changed paths:
| A /branches
| A /tags
| A /trunk
|
| trunk/tags/branches
| ------------------------------------------------------------------------
| guest at mirexpress:~/svncheckout$
`----
And the output of bzr log, in trunk and in both branches:
,----
| guest at mirexpress:~/trunk+bzr$ bzr log --line
| 6: guest 2008-01-12 commit 5 on trunk
| 5: guest 2008-01-12 commit 4 on trunk (after branching)
| 4: guest 2008-01-12 commit 3 on trunk
| 3: guest 2008-01-12 commit 2 on trunk
| 2: guest 2008-01-12 commit 1 on trunk
| 1: guest 2008-01-12 trunk/tags/branches
| guest at mirexpress:~/trunk+bzr$ cd ../branch1+bzr/
| guest at mirexpress:~/branch1+bzr$ bzr log --line
| 3: guest 2008-01-12 commit on branch1 (after branching)
| 2: guest 2008-01-12 started branch1
| 1: guest 2008-01-12 trunk/tags/branches
| guest at mirexpress:~/branch1+bzr$ cd ../branch2+bzr/
| guest at mirexpress:~/branch2+bzr$ bzr log --line
| 6: guest 2008-01-12 commit on branch2
| 5: guest 2008-01-12 commit 4 on trunk (after branching)
| 4: guest 2008-01-12 commit 3 on trunk
| 3: guest 2008-01-12 commit 2 on trunk
| 2: guest 2008-01-12 commit 1 on trunk
| 1: guest 2008-01-12 trunk/tags/branches
| guest at mirexpress:~/branch2+bzr$
`----
Roland.
-- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.23-1-686 (SMP w/1 CPU core)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages bzr-svn depends on:
ii bzr 1.0-1 easy to use distributed version co
ii python 2.4.4-6 An interactive high-level object-o
ii python-central 0.5.15-0.1 register and build utility for Pyt
ii python-pysqlite2 2.4.0-2 python interface to SQLite 3
ii python-subversion 1.4.4dfsg1-1 Python bindings for Subversion
Versions of packages bzr-svn recommends:
ii bzr-rebase 0.3-1 Rebase plugin for Bazaar
-- no debconf information
More information about the Pkg-bazaar-maint
mailing list