summaryrefslogtreecommitdiff
path: root/doc/git-annex.mdwn
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-02-19 14:14:44 -0400
committerGravatar Joey Hess <joey@kitenet.net>2014-02-19 14:17:58 -0400
commitade0216bd08c2f9c1ed10c1c2274fd5b071c9c93 (patch)
tree6097def98c91ec5a0b6b9a694ab5b4b4137063c0 /doc/git-annex.mdwn
parent8d0b3f09a9effc71f729d5b820076c642b605eb4 (diff)
pre-commit: Update metadata when committing changes to annexed files within a view.
So the user can now switch to a view and then move files around within it to manage metadata. For example, moving a file into a new directory when in the tags=* view adds a tag to it. Implementation is fairly efficient. One diff-index, which is no more expensive than the first stage of a git commit, followed by possibly some cat-file --batch traffic to find the key (when deleting a file). Very similar to what's done in direct mode when committing. And like direct mode when updating the WC after a merge, it has to buffer the diff-tree values in order to make 2 passes over them. When not in a view, pre-commit now does one extra git symbolic-ref, which is tiny overhead. This commit was sponsored by Andrew Eskridge.
Diffstat (limited to 'doc/git-annex.mdwn')
-rw-r--r--doc/git-annex.mdwn11
1 files changed, 7 insertions, 4 deletions
diff --git a/doc/git-annex.mdwn b/doc/git-annex.mdwn
index a5f73ac8e..cdd59ef9c 100644
--- a/doc/git-annex.mdwn
+++ b/doc/git-annex.mdwn
@@ -321,10 +321,12 @@ subdirectories).
shown in the view.
Multiple values for a metadata field can be specified, either by using
- a glob (field="\*") or by listing each wanted value.
+ a glob (field="\*") or by listing each wanted value. The resulting view
+ will put files in subdirectories according to the value of their fields.
- When multiple field values match, the view branch will have a
- subdirectory for each value.
+ Once within a view, you can make additional subdirectories, and
+ copy or move files into them. When you commit, the metadata will
+ be updated to correspond to your changes.
* `vpop [N]`
@@ -801,7 +803,8 @@ subdirectories).
Fixes up symlinks that are staged as part of a commit, to ensure they
point to annexed content. Also handles injecting changes to unlocked
- files into the annex.
+ files into the annex. When in a view, updates metadata to reflect changes
+ made to files in the view.
* `lookupkey [file ...]`