monotone-devel
[Top][All Lists]
Advanced

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

[Monotone-devel] deleting branches, keys, etc.


From: Derek Scherger
Subject: [Monotone-devel] deleting branches, keys, etc.
Date: Wed, 29 Sep 2004 22:10:55 -0600
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7) Gecko/20040813

Having messed up one too many times and committed something to the wrong branch, I was thinking that I might have a go at adding commands for things like deleting certs and keys. Coming up with the raw sql to delete these things is a bit cumbersome.

Such commands will probably need appropriate warnings in the documentation that they may be rather temporary if the database has been distributed. The point of them seems to be more about fixing problems before distributing them I think.

Of course naming commands is always fun. For removing certs how about something like

        $ monotone uncert ID CERTNAME

which would be quite similar to the corresponding cert creation command.
Alternatively, perhaps

        $ monotone cert add ID CERTNAME
        $ monotone cert del ID CERTNAME (or delete,drop,remove)

or, along the lines of the ls commands

        $ monotone rm cert ID CERTNAME

although reproducing a shell like set of commands (ls, rm, etc.) doesn't seem 
great.

I can't think of a particularly good converse for the genkey command. Maybe

        $ monotone create key
        $ monotone remove key
        $ monotone create cert
        $ monotone remove cert

would be better? Public key, private key?

Hmm... removing keys that have signed certs seems like it might be bad.

Is there any need for deleting an entire branch? i.e. not just the branch cert on one manifest but all branch certs with some particular value? An easy way of renaming a branch might be nice too.

I noticed the idea of an fsck command mentioned on savannah, which seems like a good one. In addition to checking hash values what about checking for things like

        - file versions that don't appear in any manifest
        - manifests without branch certs
        - manifests without other certs (author, changelog, date)
        - certs signed with unknown keys

although I'm not sure what you might do after finding such things. Deleting files and manifests would probably be kinda bad.

And here I thought this might be easy...
--
Cheers,
Derek




reply via email to

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