[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] How to get the newest cert beginning with a certain
From: |
Derek Scherger |
Subject: |
Re: [Monotone-devel] How to get the newest cert beginning with a certain substring? |
Date: |
Wed, 2 Feb 2005 09:53:59 -0700 (MST) |
On Wed, 2 Feb 2005, Christof Petig wrote:
Taking heads as a template I see that the usual way would be to fetch
every revision which belongs to the branch (get_revision_certs(branch))
and then call erase bogus_certs, then iterate over the list of revisions
to find matching cvs_revision certs and corresponding date certs.
^^^^^^^^^^^^^^^^^^
Of which there may be several. One thing I've wondered a few times is
whether all certs should simply have date and possibly author fields in
them. Currently it's difficult (and impossible after a db rebuild) to
assciate date/author/changelog certs together which isn't a big problem
until there are multiple date/author/changelog certs on some revision.
Then you have a rather hard time deciding who said what when.
Without the date in particular, it seems like the statement made in a cert
is missing an important bit of context - when the statement was made.
After a db rebuild and the cert is signed by whomever did the rebuild
another important bit of context is also lost - who originally made the
statement (the author).
Even more efficient would be to query for the revision which corresponds
to the maximum of the date cert (sadly base64 encoding does not preserve
sort order - another reason to start using BLOBs) and which has a cert
If all certs had a raw string date in them this would be an easier thing
to query by.
Currently each revision has (or should probably have) at least 4 certs:
- date
- author
- changelog
- branch
If date and author were added to each cert this could be reduced to 2
certs:
- changelog
- branch
and there was some talk on irc recently about how much space all these
certs consume due to their cryptographic signatures. Perhaps reducing the
cert count by adding date and author info to each cert could help with
this problem too?
Cheers,
Derek