On 7/25/05, Shaun Jackman <[EMAIL PROTECTED]> wrote:
> On 7/25/05, Richard Levitte - VMS Whacker <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED] to database
> monotone: error: another key with name '[EMAIL PROTECTED]' 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 [EMAIL PROTECTED] I
renamed one of the keys to
~/.monotone/keys/[EMAIL PROTECTED] In my busybox database,
which was signed with the [EMAIL PROTECTED] while it was
still named [EMAIL PROTECTED], I used this SQL call to rename the key
in the database:

        mtn db execute 'update revision_certs set keypair =
"[EMAIL PROTECTED]" where keypair = "[EMAIL PROTECTED]"'

I've now relegated that old key to legacy, and I sign all my new
changes with [EMAIL PROTECTED]

One thing I didn't expect, but I understand now, is that `mtn log' and
monotone-viz still show [EMAIL PROTECTED] 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 [EMAIL PROTECTED] However, that cert is now signed by the
[EMAIL PROTECTED] 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 <[EMAIL PROTECTED]>

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
_______________________________________________
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel

Reply via email to