Fwd: nuclear lauchcodes and nuclear waste

James Blackwell jblack at merconline.com
Tue Jan 10 21:05:41 GMT 2006


On Tue, Jan 10, 2006 at 07:32:48AM -0600, John Arbash Meinel wrote:
> >>But I just posted a [PLUGIN] to the list (which didn't get any hits),
> >>where I specifically implemented the ability to remove unused revisions
> >>from the store.

James Blackwell:
> > Should it generally be considered safe or can it have intended, but not
> > generally predictable, side effects?
> 
> 'bzr clean-branch' will check what revisions you have in the
> revision-store, and then go through all the weaves and clean out ones
> that are not present. It does check the ancestry of every revision, so
> it won't remove parents of revisions you are saving.

I've got no doubt that its safe on a local perspective. =) I'm wondering
what sort of ramifications are involved with it comes to merge.

Imagine: 
 1. You merge me
 2. I use clean-branch as part of excising some large logfile creatively
 named "logfile"

Now, what happens if:
 1a. I merge you. Does logfile come back, perhaps?
   or
 2b. You merge me again. What do your tree and stores look like?

> This is safe until we have a shared repository, (though if the
> revision-store is also shared, then it would still be safe).

I'd like verify your meaning of "shared repository" means "a repository
that can be written by multiple people" and not a branch shared by
multiple peple (which I have just put on BzrGlossary as "shared branch".)


> 'bzr clean-branch --all', is a little more risky, since it grabs the
> current revision, checks the ancestry of that revision, and removes
> revisions from the revision store which are not in the ancestry. And
> then it sanitizes the weaves. So if you merged from someone else, and
> then decided you didn't want those revisions, you could clean them out.

So its like a cherry pick of sorts? That sounds really cool. Can you
provide an example? 

> In general, I think the code is safe. It pays attention to ancestry for
> each weave, and it run 'Weave.check()' after sanitizing each weave,
> before writing it back to disk. (If you run it, you will notice it says
> 'checking' much more than it says 'cleaning').
> 
> Honestly, I can see this being part of bzr core. I just knew it was
> possible to write as a plugin, and that is where I prefer to do new work
> if it is possible to do so.
> 
> John =:->



-- 
James Blackwell's home :  http://jblack.linuxguru.net
Gnupg 06357400   F-print AAE4 8C76 58DA 5902 761D  247A 8A55 DA73 0635 7400
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060110/6c86f99d/attachment.pgp 


More information about the bazaar mailing list