I believe I have something that can help you.
I wrote a lua program that:
Looks for revisions with 'bad' certificates (as reported by "mtn au
certs <rev>") which have private keys available to monotone
(ie "mtn au keys" has a "private_location"), and
Uses the "mtn db execute" command to delete the bad certs
(all certs for that revision by that key because figuring out the
hash of the bad certs was beyond me, however it
does track all the good certs as well as bad for reinsertion), and
finally,
Uses "mtn au cert <rev>" to add the certs back to the database.
(I managed to lose the password to my key so I had to delete the key,
and generate a new one, causing monotone to complain
loud and long for every invocation)
I've used it on my own database and it seems to do the job without
wrecking anything but I would (and did) make backups before trying it
out.
Assuming that no one reading this sees holes in its logic (or points
out some mtn invocation that I missed that magically does this for you)
I can mail you a copy. :)
On 6 Oct 2007, at 8:45 am, Benoît Dejean wrote:
Le vendredi 05 octobre 2007 à 14:08 -0700, Nathaniel Smith a écrit :
On Fri, Oct 05, 2007 at 10:07:49AM +0200, Benot Dejean wrote:
Let me explain better.
I'm missing two public keys:
- an old key of mine that i used to commit on this project.
- a key from a another developer.
I though the keys were stored in the database. My old key was surely
in
my ~/.monotone/keys but i think i deleted it because i no longer
needed
it. Maybe that was a mistake. But the developer key, i never touched
it:
i got this developer's revisions only by sync'ing. I don't
understand.
These branches are 1 year old.
I don't understand either; for every cert in a db, we're supposed to
also have the corresponding public key in the db.
Is there a way to fix the db then ? Like re-signing the certs ?
Is it possible that a schema migration once missed some keys ?
What does ls keys say?
It doesn't show the missing key. They are not in the db, neither in the
keystore.
Does the server (that you and the other developer presumably sync
with) have the keys?
No server. The project is dead and i haven't managed the developer.
In order to be able to checkout, i've patched
bogus_cert_p to ignore unknown cert.
Thank you very much.
--
Benoît Dejean
GNOME http://www.gnomefr.org/
LibGTop http://directory.fsf.org/libgtop.html
--
This email has been verified as Virus free
Virus Protection and more av=
ailable at http://www.plus.net
_______________________________________________
Monotone-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/monotone-devel
_______________________________________________
Monotone-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/monotone-devel