git-annex/Annex
Joey Hess 079b35a1a8 views: add automatically constructed file location metadata
When constructing views, metadata is available about the location of the
file in the view's reference branch. Allows incorporating parts of the
directory hierarchy in a view.

For example `git annex view tag=* podcasts/=*` makes a view in the form
tag/showname.

Performance impact: I benchmarked git annex view tag=* in the conference
proceedings repo to take 6.459s before this change, and 6.544s after.

FWIW, I considered making the syntax for this be podcasts/*, which might
be easier for the user to learn. However, I think it's not as good:

* The user has to then juggle two different syntaxes, and podcasts/* will
  be expanded by the shell so they also need to quote it, while podcasts/=*
  is unlikely to be expanded by the shell.
* It would allow for things like podcasts/*/* and *.mp3 which do not
  map well into views.

This commit was sponsored by Aurélien Pinceaux.
2014-02-22 16:27:53 -04:00
..
Branch add metadata command to get/set metadata 2014-02-12 21:30:33 -04:00
Content random hlint (to give the autobuilder something new to build) 2014-02-11 00:41:19 -04:00
Direct fix reversion in relative paths to local remotes of direct mode repos 2013-11-26 19:33:26 -04:00
View views: add automatically constructed file location metadata 2014-02-22 16:27:53 -04:00
Branch.hs remove Read instance for Ref 2014-02-19 01:19:57 -04:00
BranchState.hs remove git-annex branch read cache 2012-10-19 14:25:15 -04:00
CatFile.hs Add plumbing-level lookupkey command. 2013-12-15 14:02:23 -04:00
CheckAttr.hs finished where indentation changes 2012-12-13 00:24:19 -04:00
CheckIgnore.hs hlint 2013-09-25 03:09:06 -04:00
Content.hs unused: Fix to actually detect unused keys when in direct mode. 2014-02-20 13:53:49 -04:00
Direct.hs remove Read instance for Ref 2014-02-19 01:19:57 -04:00
Drop.hs remove some monkey faces 2014-02-01 17:14:38 -04:00
Environment.hs hlint 2013-09-25 03:09:06 -04:00
Exception.hs rework annexed object locking in direct mode & support Windows 2014-01-28 16:43:11 -04:00
FileMatcher.hs limiting files based on metadata 2014-02-13 02:24:30 -04:00
Hook.hs refactored hook setup 2013-11-05 15:29:56 -04:00
Index.hs add git annex view command 2014-02-18 18:22:20 -04:00
Init.hs random hlint (to give the autobuilder something new to build) 2014-02-11 00:41:19 -04:00
Journal.hs use locking on Windows 2014-01-28 14:42:03 -04:00
Link.hs add git annex view command 2014-02-18 18:22:20 -04:00
LockPool.hs use locking on Windows 2014-01-28 14:42:03 -04:00
Path.hs move programPath out of Config.Files to Annex.Path 2013-11-24 16:03:03 -04:00
Perms.hs Ensure execute bit is set on directories when core.sharedrepsitory is set. 2013-11-18 18:13:09 -04:00
Queue.hs type based git config handling for remotes 2013-01-01 13:58:14 -04:00
Quvi.hs hlint 2013-09-25 03:09:06 -04:00
ReplaceFile.hs Fix a few bugs involving filenames that are at or near the filesystem's maximum filename length limit. 2013-07-30 19:18:29 -04:00
Ssh.hs random hlint (to give the autobuilder something new to build) 2014-02-11 00:41:19 -04:00
TaggedPush.hs remove Read instance for Ref 2014-02-19 01:19:57 -04:00
Url.hs Send a git-annex user-agent when downloading urls. 2013-09-28 14:35:21 -04:00
UUID.hs automatically derive an annex-uuid from a gcrypt-uuids 2013-09-05 16:02:39 -04:00
Version.hs Auto-upgrade v3 indirect repos to v5 with no changes. This also fixes a problem when a direct mode repo was somehow set to v3 rather than v4, and so the automatic direct mode upgrade to v5 was not done. 2013-12-29 13:06:23 -04:00
View.hs views: add automatically constructed file location metadata 2014-02-22 16:27:53 -04:00
Wanted.hs fix transfers of key with no associated file 2014-01-23 16:44:02 -04:00