monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] Moving monotone databases


From: Nathaniel Smith
Subject: Re: [Monotone-devel] Moving monotone databases
Date: Sat, 20 Nov 2004 02:20:56 -0800
User-agent: Mutt/1.5.6i

On Thu, Nov 18, 2004 at 10:29:47PM +0100, Richard Levitte - VMS Whacker wrote:
> In message <address@hidden> on Thu, 18 Nov 2004 15:14:11 -0600, "Matthew A. 
> Nicholson" <address@hidden> said:
> 
> matt> How can I rename a branch?
> 
> You currently can't.

Nor are you ever really going to be able to.  In Monotone, there are
facts (generally of the form "the bitstream ... has sha1 ..."), and
there are assertions ("so-and-so says that the value of the ...
attribute for revision ... is ...", i.e. certs).  Both are eternal and
immutable --- this is just kind of a necessary side-effect of having a
distributed system.  Sorry.  Really, it's hard to call it a _bug_,
that your VCS makes it nigh-impossible to remove data once entered...
but it can be inconvenient sometimes, like this...

To make that a little more concrete --- it is mathematically
impossible to do exactly what you want, because 1) you can't modify
or get rid of a cert once it's issued, it's out there in everyone's
database, so you can't reach out and change/eliminate all the existing
branch certs, and 2) even if you just want to make duplicate branch
certs with the new name, you can't preserve trust information.
Obviously, if Alice signed the original branch cert, you can't issue a
new one that's also signed by Alice.  The best you can hope for is to
issue a new one signed by you.  Of course, this raises some problems,
because you have to decide once and for all whether you trust Alice's
stuff --- if Bob trusts you but not Alice (or vice-versa!), then weird
things will happen when you reissue her certs.  Worse is if you
_don't_ trust Alice... do you reissue her certs then or not?

So, if you can get away with it, the simplest thing by far is just to
start committing to the new branch, and get everyone else to do it
too.  You don't lose any history, everything should still work...

All that said, it _is_ handy sometimes to do the cert reissue thing.
If you decide that that's what you want, then you can either write a
little script --- which should be pretty straightforward, I think ---
or try to convince us that it's handy and common enough that such a
script should be folded into monotone proper :-)

-- Nathaniel

-- 
"...these, like all words, have single, decontextualized meanings: everyone
knows what each of these words means, everyone knows what constitutes an
instance of each of their referents.  Language is fixed.  Meaning is
certain.  Santa Claus comes down the chimney at midnight on December 24."
  -- The Language War, Robin Lakoff




reply via email to

[Prev in Thread] Current Thread [Next in Thread]