svn: revisionspec can't be used in places where it should work

Bug #337295 reported by Wesley J. Landaker
2
Affects Status Importance Assigned to Milestone
Bazaar Subversion Plugin
Fix Released
Low
Jelmer Vernooij

Bug Description

I've seen #199147, but I don't think this is the same issue.

Let me demonstrate a situation where bzr-svn obviously has all the right information, but refuses to use it:

I have a bzr-svn branch of the LLVM trunk. I see something in the log that refers to a past svn revision. Now I'd like to do something with that revision.

Actual real example:
$ bzr log -l1
------------------------------------------------------------
revno: 45088
svn revno: 65945 (on /llvm/trunk)
committer: void
timestamp: Tue 2009-03-03 12:12:58 +0000
message:
  Reapply r65755, but reversing "<" to ">=".

Okay, now I'd like to see what was up with svn r65755 as referred to in this log message.

$ bzr diff -csvn:65755
bzr: ERROR: the svn: revisionspec can only be used with Subversion branches

Okay, that's lame. Now I *could* do "bzr diff -csvn:65755 svn+http://llvm.org/svn/llvm-project/llvm/trunk", but that requires going over the network (takes over 10 minutes, transfers over 30 MiB) , but most of all is pointless, because bzr-svn already has all the information it needs for a svn: revisionspec to work locally.

For example, my workaround is to make bzr-svn give me the information via log and grep:

$ bzr log -l200 | grep -B1 'svn revno: 65755'
revno: 45008
svn revno: 65755 (on /llvm/trunk)

Great, that was completely local, and only took about 5 seconds! Now I can do:

$ bzr log -r45008
$ bzr diff -c45008
... etc ...

But "bzr log -rsvn:65755" and "bzr diff -csvn:65755" should have worked here.

In other words, svn: revisionspecs should always work whenever bzr-svn has that metadata locally, which in this case, it obviously does.

Revision history for this message
Jelmer Vernooij (jelmer) wrote : Re: [Bug 337295] [NEW] svn: revisionspec can't be used in places where it should work

On Tue, 2009-03-03 at 16:35 +0000, Wesley J. Landaker wrote:
> Public bug reported:
>
> I've seen #199147, but I don't think this is the same issue.
>
> Let me demonstrate a situation where bzr-svn obviously has all the right
> information, but refuses to use it:
>
> I have a bzr-svn branch of the LLVM trunk. I see something in the log
> that refers to a past svn revision. Now I'd like to do something with
> that revision.
>
> Actual real example:
> $ bzr log -l1
> ------------------------------------------------------------
> revno: 45088
> svn revno: 65945 (on /llvm/trunk)
> committer: void
> timestamp: Tue 2009-03-03 12:12:58 +0000
> message:
> Reapply r65755, but reversing "<" to ">=".
>
> Okay, now I'd like to see what was up with svn r65755 as referred to in
> this log message.
>
> $ bzr diff -csvn:65755
> bzr: ERROR: the svn: revisionspec can only be used with Subversion branches
>
> Okay, that's lame. Now I *could* do "bzr diff -csvn:65755
> svn+http://llvm.org/svn/llvm-project/llvm/trunk", but that requires
> going over the network (takes over 10 minutes, transfers over 30 MiB) ,
> but most of all is pointless, because bzr-svn already has all the
> information it needs for a svn: revisionspec to work locally.
>
> For example, my workaround is to make bzr-svn give me the information
> via log and grep:
>
> $ bzr log -l200 | grep -B1 'svn revno: 65755'
> revno: 45008
> svn revno: 65755 (on /llvm/trunk)
>
> Great, that was completely local, and only took about 5 seconds! Now I
> can do:
>
> $ bzr log -r45008
> $ bzr diff -c45008
> ... etc ...
>
> But "bzr log -rsvn:65755" and "bzr diff -csvn:65755" should have worked
> here.
>
> In other words, svn: revisionspecs should always work whenever bzr-svn
> has that metadata locally, which in this case, it obviously does.
This is nontrivial since svn:X can be ambiguous; a single bzr branch can
contain revisions imported from different svn repositories, all with the
revision number X. So we need to at least refuse to work in that case.
Other than that, it should just be a case of walking history.

Cheers,

Jelmer
--
Jelmer Vernooij <email address hidden> - http://samba.org/~jelmer/
Jabber: <email address hidden>

Revision history for this message
Wesley J. Landaker (wjl) wrote :

I would be totally happy if it worked in the common case, and failed if it was ambiguous.

Jelmer Vernooij (jelmer)
Changed in bzr-svn:
assignee: nobody → jelmer
importance: Undecided → Low
status: New → Triaged
Jelmer Vernooij (jelmer)
Changed in bzr-svn:
milestone: none → 0.5.3
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.