How to get the diff between two arbitrary remote revisions?

Matthieu Moy Matthieu.Moy at imag.fr
Wed Nov 9 00:11:32 GMT 2005


John A Meinel <john at arbash-meinel.com> writes:

> Actually, it would solve that with:
>
> bzr diff -r 100..-1 ../other/branch .

OK, I didn't get that.

I can see at least one problem with this: by just looking at the
command line, I can't tell whether this will be an inter-branch diff
or a diff limited to some files. See:

  bzr diff -r 100..-1 ../path/to/something something/else

depending on whether ../path/to/something and something/else are
files, or two different branches, this changes the meaning of the
command. I don't like this, I prefer the syntax to be unambiguous.

You'll have the same kind of problem with other commands, like cat.
You'll want to be able to do

  bzr cat -r 42 ../path/to/something

> Otherwise, I would use something like:
>
> bzr diff -r branch:10:/other/branch .

Since you're giving an identifier for a /revision/ and not a branch,
I'd rather see

  bzr diff -r revision:10:/other/branch .

or rev:... , or revno:... which would also solve the other problem
(even on unix, you can have columns in filenames ...):

> But you have to watch out for windows, where you have:
>
> bzr diff -r branch:c:/other/branch .

Another advantage of this syntax is that it can be used, for example
in emails, like

"Hi dear maintainer, can you please merge
revision:42:http://www.my.site.com/path/to/branch"

As we used to say

"Hi dear maintainer, can you please merge
me at my.site.com--2005/bzr--main--0.6--patch-42"

with Bazaar 1.

(this syntax is regexp-matchable, cut-and-past-able, ...)

(I should become a marketer ;-) ).

-- 
Matthieu




More information about the bazaar mailing list