|
From: | Markus Schiltknecht |
Subject: | Re: [Monotone-devel] State of mtn - CVS syncing |
Date: | Wed, 16 May 2007 10:58:20 +0200 |
User-agent: | Icedove 1.5.0.10 (X11/20070329) |
Hi, Daniel Carosone wrote:
I think it's simpler than that, and that it's a completely offline operation (no need to check with cvs). Basically, the content should not have changed more recently than the attr. Furthermore, I beleive you can determine this (at least from within core mtn) from the roster markings for each scalar, rather than by walking back up the tree for each rev.
Hm.. may I point out, that this leads to what I'm calling "vanishing attributes"? What you basically say here is, that every content change invalidates the attribute, which is pretty much what a vanishing attribute should be.
Please see previous discussions about vanishing attributes. If you can come up with another use case for those v-attrs, I'd be more than happy to change my mind. But so far, I remain convinced by Nathaniel, that certs are much less work and more universally usable. For example, think about other imports, from subversion or git. The information "this revision is equal to source VCSs revision no. XYZ" can easily go into a cert. It's only CVS which is so awkward, that we have to use additional attributes, just because CVS does not have a revision identifier.
Even so, and especially from the viewpoint of an external program without ready access to internal markings, checking a cert is certainly more convenient.
Exactly. Otherwise, you'd have to add all the logic and commands for vanishing attributes. Certs are all there already.
Perhaps this redundancy is something that could be validated in (say) db check, rather than something we use in normal operation just to avoid generating a cert.
Uhm... which redundancy? It's just a matter of "where to store what information". Again, the CVS case is somewhat confusing, as it needs attributes in addition to the cert for space efficiency.
I certainly plan to add compatible certs and attributes from my rewritten cvs_import, so that cvs_import and cvs_sync get compatible. I'm sorry that there's not much progress with that branch recently, I'm quite busy with different other projects.
Regards Markus
[Prev in Thread] | Current Thread | [Next in Thread] |