diff options
author | Joey Hess <joey@kitenet.net> | 2013-04-06 15:36:17 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2013-04-06 15:36:17 -0400 |
commit | b157e7c0d42bdf1b5fe6c840d97a733e36b9a066 (patch) | |
tree | 2c2009898cdf974e24f2681dc2f2692a2ef73225 /doc | |
parent | bc05a3f5d1c9ec12a7caec8f378ba7239f7b39a9 (diff) |
add an idea developed with liw
Diffstat (limited to 'doc')
-rw-r--r-- | doc/todo/assistant_smarter_archive_directory_handling.mdwn | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/doc/todo/assistant_smarter_archive_directory_handling.mdwn b/doc/todo/assistant_smarter_archive_directory_handling.mdwn new file mode 100644 index 000000000..f464c182b --- /dev/null +++ b/doc/todo/assistant_smarter_archive_directory_handling.mdwn @@ -0,0 +1,29 @@ +Client repos do not want files in archive directories. This can turn +out to be confusing to users who are using archive directories for their +own purposes and not aware of this special case in the assistant. It can +seem like the assistant is failing to sync their files. + +I thought, first, that it should have a checkbox to enable the archive +directory behavior. + +However, I think I have a better idea. Change the preferred content +expression for clients, so they want files in archive directories, *until* +those files land in an archive. + +This way, only users who set up an archive repo get this behavior. And they +asked for it by setting up that repo! + +Also, the new behavior will mean that files in archive directories still +propigate around to clients. Consider this topology: + + client A ---- client B ---- archive + +If a file is created in client A, and moved to an archive directory before +it syncs to B, it will never get to the archive, and will continue wasting +space on A. With the new behavior, A and B serve as effectively, transfer +repositories for archived content. + +Something vaguely like this should work as the preferred content +expression for the clients: + + exclude=archive/* or (include=archive/* and (not (copies=archive:1 or copies=smallarchive:1))) |