update
This commit is contained in:
parent
9791d1dfe7
commit
9b40cd7461
1 changed files with 19 additions and 8 deletions
|
@ -1,22 +1,33 @@
|
||||||
Finish "git annex watch" command, which runs, in the background, watching via
|
Finish "git annex watch" command, which runs, in the background, watching via
|
||||||
inotify for changes, and automatically annexing new files, etc.
|
inotify for changes, and automatically annexing new files, etc.
|
||||||
|
|
||||||
There is a `watch` branch in git that adds such a command, although currently
|
There is a `watch` branch in git that adds such a command. To make this
|
||||||
it only handles adding new files, and nothing else. To make this really
|
really useful, it needs to:
|
||||||
useful, it needs to:
|
|
||||||
|
|
||||||
- notice deleted files and stage the deletion
|
- on startup, add any files that have appeared since last run **done**
|
||||||
(tricky; there's a race with add..)
|
- on startup, fix the symlinks for any renamed links **done**
|
||||||
|
- on startup, stage any files that have been deleted since last run
|
||||||
|
(seems to require a `git commit -a` on startup, or at least a
|
||||||
|
`git add --update`, which will notice deleted files)
|
||||||
|
- notice new files, and git annex add **done**
|
||||||
- notice renamed files, auto-fix the symlink, and stage the new file location
|
- notice renamed files, auto-fix the symlink, and stage the new file location
|
||||||
**done**
|
**done**
|
||||||
- handle cases where directories are moved outside the repo, and stop
|
- handle cases where directories are moved outside the repo, and stop
|
||||||
watching them **done**
|
watching them **done**
|
||||||
- when a whole directory is deleted, stage removal of its
|
- when a whole directory is deleted or moved, stage removal of its
|
||||||
contents in the index **done**
|
contents from the index **done**
|
||||||
|
- notice deleted files and stage the deletion
|
||||||
|
(tricky; there's a race with add since it replaces the file with a symlink..)
|
||||||
- periodically auto-commit staged changes (avoid autocommitting when
|
- periodically auto-commit staged changes (avoid autocommitting when
|
||||||
lots of changes are coming in)
|
lots of changes are coming in)
|
||||||
- tunable delays before adding new files, etc
|
- tunable delays before adding new files, etc
|
||||||
- honor .gitignore, not adding files it excludes
|
- don't annex `.gitignore` and `.gitattributes` files, but do auto-stage
|
||||||
|
changes to them
|
||||||
|
- configurable option to only annex files meeting certian size or
|
||||||
|
filename criteria
|
||||||
|
- honor .gitignore, not adding files it excludes (difficult, probably
|
||||||
|
needs my own .gitignore parser to avoid excessive running of git commands
|
||||||
|
to check for ignored files)
|
||||||
|
|
||||||
Also to do:
|
Also to do:
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue