Extra revisions in a branch (was Re: How to get the diff between two arbitrary remote revisions?)

John A Meinel john at arbash-meinel.com
Wed Nov 16 14:56:15 GMT 2005


Matthieu Moy wrote:
> Aaron Bentley <aaron.bentley at utoronto.ca> writes:
> 
>> No, it also happens when you try to pull and have divergent branches.
>> And there's also the fetch command.
> 
> diff -r branch:XXX
> 
> Also fetches the revisions.
> 
> It seems a bit strange to me. For example, if I do
> 
> $ cd /a/project
> # Forget that I'm in this project, but I want to see something in
> # another project
> $ bzr ... -r branch:http://foo.bar
> 
> Then, I have completely unrelated revisions in my current directory. I
> would have expected operations like "diff" on a remote branch to be
> read-only in the current branch, and I'd also have expected to be able
> to run them from any directory (currently, I can diff two remote
> branch only from a local branch).
> 
> This seems to me like a local cache (comparable to GNU Arch's revision
> libraries or Bazaar 1's cache ?), and I'm not sure the right place to
> store it is the current working directory.

Aaron certainly agrees that we want a cache. I don't feel it is a very
high priority. When we get repositories with shared ancestry, you're
going to have a lot of stuff anyway.

> 
> Also, I'd have expected a kind of garbage-collection (or cache
> expiry), to keep only the ancestors of the head of the current branch.
> 
> Did I miss something, or is it just "on the todo list" ?

At UBZ we discussed the idea of a "clean-weave" function, it wouldn't be
very hard to do. Certainly some sort of interactive gui with "here are
all of the revisions which do not have children, and the associated
logs, and ancestry" so that you could see what they are, and then mark
ones that you did (didn't) care about would be decent.

The big use case for a clean-weave is when you do have a repository, and
you have some private branches. If you ever publish anything, you
probably want to strip out other private information.

However, when we get to append-only weaves (knits), we have a nice
benefit that removing entries is simply not including those hunks. (with
the current format, everything is mixed together, so you have to reparse
everything).

As we have lots of reasons to switch to knits anyway, time is probably
better spent getting them written, before we have all these tools for
working with a format we don't really want.

So I guess I should say it probably has never been formally introduced
in a TODO, but I think the main developers are aware of the idea.

John
=:->

> 
> Thanks,
> 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 249 bytes
Desc: OpenPGP digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20051116/79273db7/attachment.pgp 


More information about the bazaar mailing list