diff options
author | Joey Hess <joey@kitenet.net> | 2012-04-12 17:51:11 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-04-12 17:51:16 -0400 |
commit | 49a95f151ce31f44417eee0463e9d334a581155f (patch) | |
tree | f718ce2fd0dde6fb53ed948a827dc57856d66f79 /doc | |
parent | 6464a576cd0c4063fb6cedf32a5dca224db3de6d (diff) |
add a todo item
Diffstat (limited to 'doc')
-rw-r--r-- | doc/todo/automatic_bookkeeping_watch_command.mdwn | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/doc/todo/automatic_bookkeeping_watch_command.mdwn b/doc/todo/automatic_bookkeeping_watch_command.mdwn new file mode 100644 index 000000000..d7a3517a1 --- /dev/null +++ b/doc/todo/automatic_bookkeeping_watch_command.mdwn @@ -0,0 +1,42 @@ +A "git annex watch" command would help make git-annex usable by users who +don't know how to use git, or don't want to bother typing the git commands. +It would run, in the background, watching via inotify for changes, and +automatically annexing new files, etc. + +The blue sky goal would be something automated like dropbox, except fully +distributed. All files put into the repository would propigate out +to all the other clones of it, as network links allow. Note that while +dropbox allows modifying files, git-annex freezes them upon creation, +so this would not be 100% equivilant to dropbox. --[[Joey]] + +---- + +There is a `watch` branch in git that adds such a command, although currently +it only handles adding new files, and nothing else. To make this really +useful, it needs to: + +- notice deleted files and stage the deletion + (tricky; there's a race with add..) +- notice renamed files, auto-fix the symlink, and stage the new file location +- periodically auto-commit staged changes +- honor .gitignore, not adding files it excludes + +Also nice to have would be: + +- Somehow sync remotes, possibly using a push sync like dvcs-autosync + does, so they are immediately updated. +- Somehow get content that is unavilable. This is problimatic with inotify, + since we only get an event once the user has tried (and failed) to read + from the file. Perhaps instead, automatically copy content that is added + out to remotes, with the goal of all repos eventually getting a copy, + if df allows. +- Drop files that have not been used lately, or meet some other criteria + (as long as there's a copy elsewhere). +- Perhaps automatically dropunused files that have been deleted, + although I cannot see a way to do that, since by the time the inotify + deletion event arrives, the file is deleted, and we cannot see what + its symlink pointed to! Alternatievely, perhaps automatically + do an expensive unused/dropunused cleanup process. +- Support OSes other than Linux; it only uses inotify currently. + + |