This commit is contained in:
Joey Hess 2013-01-21 04:21:42 -04:00
parent 6a067e5c28
commit b3e670f785
2 changed files with 28 additions and 4 deletions

6
debian/changelog vendored
View file

@ -1,5 +1,11 @@
git-annex (3.20130122) UNRELEASED; urgency=low
* Added source repository group, that only retains files until they've
been transferred to another repository. Useful for things like
repositories on cameras.
* Added manual repository group. Use to prevent the assistant from
downloading any file contents to keep things in sync. Instead
`git annex get`, `git annex drop` etc can be used manually as desired.
* webapp: More adjustments to longpoll code to deal with changes in
variable quoting in different versions of shakespeare-js.
* webapp: Avoid an error if a transfer is stopped just as it finishes.

View file

@ -1,13 +1,31 @@
When using the [[/assistant]] on some of my repositories, I would like to retain manual control over the granularity and contents of the commit history. Some motivating reasons:
When using the [[/assistant]] on some of my repositories, I would like to
retain manual control over the granularity and contents of the commit
history. Some motivating reasons:
* manually specified commit messages makes the history easier to follow
* make a series of minor changes to a file over a period of a few hours would result in a single commit rather than capturing intermediate incomplete edits
* manual choice of which files to annex (based on predicted usage) could be useful, e.g. a repo might contain a 4MB PDF which you want available in *every* remote even without `git annex get`, and also some 2MB images which are only required in some remotes
Obviously this needs to be configurable at least per repository, and ideally perhaps even per remote, since usage habits can vary from machine to machine (e.g. I could choose to commit manually from my desktop machine which has a nice comfy keyboard and large screen, but this would be too much pain to do from my tiny netbook).
> This particular case is now catered to by the "manual" repository group
> in preferred content settings. --[[Joey]]
In fact, this is vaguely related to [[design/assistant/partial_content]], since the usefulness of the commit history depends on the context of the data being manipulated, which in turn depends on which subdirectories are being touched. So any mechanism for disabling sync per directory could potentially be reused for disabling auto-commit per directory.
Obviously this needs to be configurable at least per repository, and
ideally perhaps even per remote, since usage habits can vary from machine
to machine (e.g. I could choose to commit manually from my desktop machine
which has a nice comfy keyboard and large screen, but this would be too
much pain to do from my tiny netbook).
According to Joey, it should be easy to arrange for the watcher thread not to run, but would need some more work for the assistant to notice manual commits in order to sync them; however the assistant already does some crazy inotify watching of git refs, in order to detect incoming pushes, so detecting manual commits wouldn't be a stretch.
In fact, this is vaguely related to [[design/assistant/partial_content]],
since the usefulness of the commit history depends on the context of the
data being manipulated, which in turn depends on which subdirectories are
being touched. So any mechanism for disabling sync per directory could
potentially be reused for disabling auto-commit per directory.
According to Joey, it should be easy to arrange for the watcher thread not
to run, but would need some more work for the assistant to notice manual
commits in order to sync them; however the assistant already does some
crazy inotify watching of git refs, in order to detect incoming pushes, so
detecting manual commits wouldn't be a stretch.
[[!tag design/assistant]]