diff options
author | Joey Hess <joey@kitenet.net> | 2013-03-31 19:10:29 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2013-03-31 19:10:29 -0400 |
commit | df5a5f690ee9ff41a71bb0c90859e7b89f4f764b (patch) | |
tree | f3b38e7882bed47b8773d672e4c6e0332bd5e515 /doc/design/assistant/blog | |
parent | c237269f9fece7c7f99d0dff78dde0a71643b7de (diff) |
blog for the day
Diffstat (limited to 'doc/design/assistant/blog')
-rw-r--r-- | doc/design/assistant/blog/day_225__back_from_the_dead.mdwn | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/doc/design/assistant/blog/day_225__back_from_the_dead.mdwn b/doc/design/assistant/blog/day_225__back_from_the_dead.mdwn new file mode 100644 index 000000000..e550c6b8b --- /dev/null +++ b/doc/design/assistant/blog/day_225__back_from_the_dead.mdwn @@ -0,0 +1,47 @@ +I've posted a poll: [[polls/goals_for_April]] + +---- + +Today added UI to the webapp to delete repositories, which many +users have requested. It can delete the local repository, +with appropriate cautions and sanity checks: + +[[!img /assistant/deleterepository.png]] + +More likely, you'll use it to remove a remote, which is done with no muss +and no fuss, since that doesn't delete any data and the remote can always +be added back if you change your mind. + +It also has an option to fully delete the data on a remote. This doesn't +actually delete the remote right away. All it does is marks the remote +as untrusted[1], and configures it to not want any content. +This causes all the content on it to be sucked off to whatever +other repositories can hold it. + +I had to adjust the preferred content expressions to make that work. For +example, when deleting an archive drive, your local (client) repository +does not normally want to hold all the data it has in "archive" +directories. With the adjusted preferred content expressions, any data on +an untrusted or dead repository is wanted. An interesting result is that +once a client repository has moved content from an untrusted remote, it +will decide it doesn't want it anymore, and shove it out to any other +remote that will accept it. Which is just the behavior we want. All it took +to get all this behavior is adding "or (not copies=semitrusted:1)" to the +preferred content expressions! + +For most special remotes, just sucking the data from them is sufficient to +pretty well delete them. You'd want to delete an Amazon bucket or glacier +once it's empty, and git repositories need to be fully deleted. Since this +would need unique code for each type of special remote, and it would be +code that a) deletes possibly large quantities of data with no real way to +sanity check it and b) doesn't get run and tested very often; it's not +something I'm thrilled about fully automating. However, I would like to +make the assistant detect when all the content has been sucked out of a +remote, and pop up at least a message prompting to finish the deletion. +Future work. + +----- + +[1] I really, really wanted to mark it dead, but letting puns drive code +is probably a bad idea. I had no idea I'd get here when I started +developing this feature this morning.. Honest! |