git-annex/Command
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
..
Add.hs Windows: Avoid using unix-compat's rename, which refuses to rename directories. 2014-01-29 15:19:03 -04:00
AddUnused.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
AddUrl.hs reorganize some files and imports 2014-01-26 16:25:55 -04:00
Assistant.hs reorg 2014-01-26 16:36:31 -04:00
Commit.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
ConfigList.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
Copy.hs reorganize some files and imports 2014-01-26 16:25:55 -04:00
Dead.hs refactor 2014-02-20 15:12:35 -04:00
Describe.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
Direct.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
Drop.hs reorganize some files and imports 2014-01-26 16:25:55 -04:00
DropKey.hs refactor 2014-01-26 15:53:01 -04:00
DropUnused.hs reorganize some files and imports 2014-01-26 16:25:55 -04:00
EnableRemote.hs plumb creds from webapp to initremote 2014-02-11 14:07:56 -04:00
ExamineKey.hs reorganize some files and imports 2014-01-26 16:25:55 -04:00
Find.hs reorganize some files and imports 2014-01-26 16:25:55 -04:00
Fix.hs Windows: Avoid using unix-compat's rename, which refuses to rename directories. 2014-01-29 15:19:03 -04:00
Forget.hs reorganize some files and imports 2014-01-26 16:25:55 -04:00
FromKey.hs Windows: Avoid using unix-compat's rename, which refuses to rename directories. 2014-01-29 15:19:03 -04:00
Fsck.hs tweak wording 2014-02-20 16:00:41 -04:00
FuzzTest.hs remove dead code 2014-02-08 14:52:25 -04:00
GCryptSetup.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
Get.hs reorganize some files and imports 2014-01-26 16:25:55 -04:00
Group.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
Help.hs reorganize some files and imports 2014-01-26 16:25:55 -04:00
Import.hs Windows: Avoid using unix-compat's rename, which refuses to rename directories. 2014-01-29 15:19:03 -04:00
ImportFeed.hs reorganize some files and imports 2014-01-26 16:25:55 -04:00
InAnnex.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
Indirect.hs Windows: Avoid using unix-compat's rename, which refuses to rename directories. 2014-01-29 15:19:03 -04:00
Info.hs Windows: Avoid using unix-compat's rename, which refuses to rename directories. 2014-01-29 15:19:03 -04:00
Init.hs reorg 2014-01-26 16:36:31 -04:00
InitRemote.hs plumb creds from webapp to initremote 2014-02-11 14:07:56 -04:00
List.hs reorganize some files and imports 2014-01-26 16:25:55 -04:00
Lock.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
Log.hs remove Read instance for Ref 2014-02-19 01:19:57 -04:00
LookupKey.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
Map.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
Merge.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
MetaData.hs metadata: add --tag and --untag shorthand options 2014-02-19 15:04:12 -04:00
Migrate.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
Mirror.hs reorganize some files and imports 2014-01-26 16:25:55 -04:00
Move.hs reorganize some files and imports 2014-01-26 16:25:55 -04:00
NumCopies.hs reorg 2014-01-21 18:08:56 -04:00
PreCommit.hs factor out new module 2014-02-22 13:35:50 -04:00
RecvKey.hs Windows: Avoid using unix-compat's rename, which refuses to rename directories. 2014-01-29 15:19:03 -04:00
Reinject.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
ReKey.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
Repair.hs remove Read instance for Ref 2014-02-19 01:19:57 -04:00
RmUrl.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
Schedule.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
Semitrust.hs refactor 2014-02-20 15:12:35 -04:00
SendKey.hs reorg 2014-01-26 16:32:55 -04:00
Status.hs reorganize some files and imports 2014-01-26 16:25:55 -04:00
Sync.hs remove Read instance for Ref 2014-02-19 01:19:57 -04:00
Test.hs expose tasty test suite's option parser 2014-01-21 00:08:43 -04:00
TransferInfo.hs reorg 2014-01-26 16:32:55 -04:00
TransferKey.hs reorganize some files and imports 2014-01-26 16:25:55 -04:00
TransferKeys.hs reorganize numcopies code (no behavior changes) 2014-01-21 16:08:59 -04:00
Trust.hs trust, untrust, semitrust, dead: Warn when the trust level is overridden in .git/config. 2014-02-20 15:17:39 -04:00
Unannex.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
Ungroup.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
Uninit.hs remove Read instance for Ref 2014-02-19 01:19:57 -04:00
Unlock.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
Untrust.hs refactor 2014-02-20 15:12:35 -04:00
Unused.hs remove Read instance for Ref 2014-02-19 01:19:57 -04:00
Upgrade.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
VAdd.hs views: add automatically constructed file location metadata 2014-02-22 16:27:53 -04:00
VCycle.hs fixed vpop 2014-02-18 21:09:25 -04:00
Version.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
VFilter.hs urk, forgot to check this in yesterday! 2014-02-20 13:00:34 -04:00
Vicfg.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
View.hs views: add automatically constructed file location metadata 2014-02-22 16:27:53 -04:00
VPop.hs new section for metadata 2014-02-19 14:55:34 -04:00
Wanted.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
Watch.hs reorganize some files and imports 2014-01-26 16:25:55 -04:00
WebApp.hs avoid using function named that conflicts with name used in newer version of process library 2014-01-29 13:44:53 -04:00
Whereis.hs reorganize some files and imports 2014-01-26 16:25:55 -04:00
XMPPGit.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00