svn-push a branch with no new history makes surprising commit to SVN repo
Bug #203368 reported by
Andrew Bennetts
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar Subversion Plugin |
Fix Released
|
Wishlist
|
Jelmer Vernooij |
Bug Description
Something bizarre happens with a command sequence like this:
bzr branch svn://.
cd new-branch
bzr svn-push svn://.
It produces a bizarre commit in the SVN repository. It looks like maybe it is replaying the last commit made on trunk?
Ideally I think it'd behave more like "svn cp $REPO/trunk $REPO/branches/
Changed in bzr-svn: | |
importance: | Undecided → Wishlist |
status: | New → Confirmed |
Changed in bzr-svn: | |
milestone: | none → 0.5.0 |
Changed in bzr-svn: | |
assignee: | nobody → jelmer |
status: | Confirmed → Triaged |
Changed in bzr-svn: | |
status: | Triaged → Fix Committed |
Changed in bzr-svn: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
As we discussed on IRC, this is not really trivial to fix:
01:09 < jelmer> spiv: if there is a branch A with tip revision 42 and you're
trying to push a branch B that also has tip 42 it has to do a
copy of r41 -> /B that replays the changes in r42
history
that changes the branch nick from A to B
revisions than A
doesn't make a revision.
01:09 < jelmer> otherwise the two branches actually have a different revision
01:10 < jelmer> A has tip 42 and B has tip 42+1 where rev 1 is en empty commit
01:12 < spiv> jelmer: hmm, because you can't easily figure out that the tip 42
in B happens to be the same as 42 elsewhere in the repo?
01:13 < jelmer> spiv: I can figure that out, but the problem is that B has more
01:14 < jelmer> the commit that contains the "svn cp" will show up as well
01:14 < spiv> Ah, the impedence mismatch, because making a branch in bzr
01:14 < spiv> But in svn it does.