monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] One person in many places


From: Shaun Jackman
Subject: Re: [Monotone-devel] One person in many places
Date: Thu, 20 Apr 2006 09:55:54 -0600

On 7/25/05, Shaun Jackman <address@hidden> wrote:
> On 7/25/05, Richard Levitte - VMS Whacker <address@hidden> wrote:
> > Nonsense.  All you need to require is that each *private* key has a
> > unique keyid.  And honestly, who would want to have two private keys
> > with the same keyid in the same database?
>
> I've run into a problem involving exactly this. Before I really
> understood monotone's concept of databases and keys, I created two
> projects each with their own db and each with their own private key,
> although both keys have the same keyid. I'd now like to serve both
> projects out of the same database, but I can't push changes from one
> to the other because...
> monotone: warning: saving public key for address@hidden to database
> monotone: error: another key with name 'address@hidden' already exists
>
> Any suggestion on how to remedy this? Can I rename the keyid in one of
> the databases after the fact?

With the wonder of ~/.monotone/keys this is now fairly straight
forward. The two keys both had a keyid of address@hidden I
renamed one of the keys to
~/.monotone/keys/address@hidden In my busybox database,
which was signed with the address@hidden while it was
still named address@hidden, I used this SQL call to rename the key
in the database:

        mtn db execute 'update revision_certs set keypair =
"address@hidden" where keypair = "address@hidden"'

I've now relegated that old key to legacy, and I sign all my new
changes with address@hidden

One thing I didn't expect, but I understand now, is that `mtn log' and
monotone-viz still show address@hidden as the author for *all* the
changes, old and new. I now understand that both front-ends are simply
showing the value of the `author' cert, which hasn't changed and is
still address@hidden However, that cert is now signed by the
address@hidden key. This make absolute sense; Alice can
certainly certify that Bob is the author of a given revision. What's
interesting though, is that the UI only shows that Bob is the author,
and this cert is signed, but it doesn't show *who* signed it.

Now that I understand this separation of keyid and author, I'd like to use

        Shaun Jackman <address@hidden>

for all my future author certs. Besides being more descriptive, this
aids generating ChangeLog entires from monotone logs. Is there a LUA
hook to change one's preferred author cert?

Cheers,
Shaun

reply via email to

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