summaryrefslogtreecommitdiff
path: root/Command
Commit message (Collapse)AuthorAge
...
* pre-commit-annex hook script to automatically extract metadata from lots of ↵Gravatar Joey Hess2014-03-02
| | | | | | | | | | | | | | | | | | types of files Using the extract(1) program to do the heavy lifting. Decided to make git-annex run pre-commit-annex when committing. Since git-annex pre-commit also runs it, it'll be run when git commit is run too, via the pre-commit hook. This basically gives back the pre-commit hook that git-annex took away. The implementation avoids repeatedly looking for the hook script when the assistant is running and committing repeatedly; only checks if the hook is available once. To make the script simpler, made git-annex metadata -s field?=value only set a field when it's not already got a value. This commit was sponsored by bak.
* view: Refuse to enter a view when no branch is currently checked out.Gravatar Joey Hess2014-03-02
|
* doc improvementsGravatar Joey Hess2014-03-02
|
* vadd: Allow listing multiple desired values for a field.Gravatar Joey Hess2014-03-02
|
* view, vfilter: Add support for filtering tags and values out of a view, ↵Gravatar Joey Hess2014-03-02
| | | | | | | | | | using !tag and field!=value. Note that negated globs are not supported. Would have complicated the code to add them, without changing the data type serialization in a non-backwards-compatable way. This commit was sponsored by Denver Gingerich.
* annex.listen can be configured, instead of using --listenGravatar Joey Hess2014-03-01
|
* assistant --autostart: Refuse to start in a bare git repository.Gravatar Joey Hess2014-02-28
|
* webapp: Refuse to start in a bare git repository.Gravatar Joey Hess2014-02-28
|
* Probe for quvi version at run time.Gravatar Joey Hess2014-02-28
| | | | | Overhead: git annex addurl runs quvi --version once. And more bloat to Annex state..
* Put non-object tmp files in .git/annex/misctmp, leaving .git/annex/tmp for ↵Gravatar Joey Hess2014-02-26
| | | | | | | | | | | | | | | | | | | | only partially transferred objects. This allows eg, putting .git/annex/tmp on a ram disk, if the disk IO of temp object files is too annoying (and if you don't want to keep partially transferred objects across reboots). .git/annex/misctmp must be on the same filesystem as the git work tree, since files are moved to there in a way that will not work cross-device, as well as symlinked into there. I first wanted to put the tmp objects in .git/annex/objects/tmp, but that would pose transition problems on upgrade when partially transferred objects existed. git annex info does not currently show the size of .git/annex/misctemp, since it should stay small. It would also be ok to make something clean it out, periodically.
* metadata: FIeld names are now case insensative.Gravatar Joey Hess2014-02-25
|
* fix all remaining -Wall warnings on WindowsGravatar Joey Hess2014-02-25
|
* add UrlOptions sum typeGravatar Joey Hess2014-02-24
|
* Make annex.web-options be used in several places that call curl.Gravatar Joey Hess2014-02-24
|
* Preserve metadata when staging a new version of an annexed file.Gravatar Joey Hess2014-02-24
| | | | | | | | | | | | | | | | | Performance impact: When adding a large tree of new files, this needs to do some git cat-file queries to check if any of the files already existed and might need a metadata copy. I tried a benchmark in a copy of my sound repository (so there was already a significant git tree to check against. Adding 10000 small files, with a cold cache: before: 1m48.539s after: 1m52.791s So, impact is 0.0004 seconds per file added. Which seems acceptable, so did not add some kind of configuration to enable/disable this. This commit was sponsored by Lisa Feilen.
* metadata: Support --jsonGravatar Joey Hess2014-02-23
|
* annex.genmetadata can be set to make git-annex automatically set metadata ↵Gravatar Joey Hess2014-02-23
| | | | (year and month) when adding files
* rather ugly workaround for directories with spaces as MetaFieldsGravatar Joey Hess2014-02-22
|
* views: add automatically constructed file location metadataGravatar Joey Hess2014-02-22
| | | | | | | | | | | | | | | | | | | | | | | 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.
* factor out new moduleGravatar Joey Hess2014-02-22
|
* tweak wordingGravatar Joey Hess2014-02-20
|
* fsck: Refuse to do anything if more than one of --incremental, --more, and ↵Gravatar Joey Hess2014-02-20
| | | | --incremental-schedule are given, since it's not clear which option should win.
* trust, untrust, semitrust, dead: Warn when the trust level is overridden in ↵Gravatar Joey Hess2014-02-20
| | | | .git/config.
* refactorGravatar Joey Hess2014-02-20
|
* fsck: When run with --all or --unused, while .gitattributes annex.numcopies ↵Gravatar Joey Hess2014-02-20
| | | | cannot be honored since it's operating on keys instead of files, make it honor the global numcopies setting, and the annex.numcopies git config setting.
* urk, forgot to check this in yesterday!Gravatar Joey Hess2014-02-20
|
* add tip about metadata driven views (and more flexible view filtering)Gravatar Joey Hess2014-02-19
| | | | | | | | | | | | | | | | | | | | | | While writing this documentation, I realized that there needed to be a way to stay in a view like tag=* while adding a filter like tag=work that applies to the same field. So, there are really two ways a view can be refined. It can have a new "field=explicitvalue" filter added to it, which does not change the "shape" of the view, but narrows the files it shows. Or, it can have a new view added, which adds another level of subdirectories. So, added a vfilter command, which takes explicit values to add to the filter, and rejects changes that would change the shape of the view. And, made vadd only accept changes that change the shape of the view. And, changed the View data type slightly; now components that can match multiple metadata values can be visible, or not visible. This commit was sponsored by Stelian Iancu.
* metadata: add --tag and --untag shorthand optionsGravatar Joey Hess2014-02-19
|
* new section for metadataGravatar Joey Hess2014-02-19
|
* pre-commit: Update metadata when committing changes to annexed files within ↵Gravatar Joey Hess2014-02-19
| | | | | | | | | | | | | | | | | | | | 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.
* remove Read instance for RefGravatar Joey Hess2014-02-19
| | | | | | | | Removed instance, got it all to build using fromRef. (With a few things that really need to show something using a ref for debugging stubbed out.) Then added back Read instance, and made Logs.View use it for serialization. This changes the view log format.
* vpop N: remove skipped over viewsGravatar Joey Hess2014-02-18
|
* vpop NGravatar Joey Hess2014-02-18
|
* fixed vpopGravatar Joey Hess2014-02-18
|
* fix view changing when in subdirGravatar Joey Hess2014-02-18
| | | | | Failed reading some files with relative paths. This is a quick and dirty fix.
* add vcycle commandGravatar Joey Hess2014-02-18
|
* add vadd commandGravatar Joey Hess2014-02-18
|
* add git annex view commandGravatar Joey Hess2014-02-18
| | | | | | | | | | | | | | | | | | (And a vpop command, which is still a bit buggy.) Still need to do vadd and vrm, though this also adds their documentation. Currently not very happy with the view log data serialization. I had to lose the TDFA regexps temporarily, so I can have Read/Show instances of View. I expect the view log format will change in some incompatable way later, probably adding last known refs for the parent branch to View or something like that. Anyway, it basically works, although it's a bit slow looking up the metadata. The actual git branch construction is about as fast as it can be using the current git plumbing. This commit was sponsored by Peter Hogg.
* windows: fix fsck --incremental to not crashGravatar Joey Hess2014-02-13
| | | | Although it is still not incremental.
* limiting files based on metadataGravatar Joey Hess2014-02-13
| | | | | | Note that there is currently no caching, so --metadata foo=bar --metadata tag=blah will currently read the log 2x per file.
* nice git ack space optimisation when setting the same metadata value for ↵Gravatar Joey Hess2014-02-13
| | | | multiple files
* metacata command can now operate on many files at onceGravatar Joey Hess2014-02-13
|
* don't bring forward old values in new log lineGravatar Joey Hess2014-02-12
|
* add metadata command to get/set metadataGravatar Joey Hess2014-02-12
| | | | | | | | | Adds metadata log, and command. Note that unsetting field values seems to currently be broken. And in general this has had all of 2 minutes worth of testing. This commit was sponsored by Julien Lefrique.
* cleanup thanks to Utility.PIDGravatar Joey Hess2014-02-11
|
* plumb creds from webapp to initremoteGravatar Joey Hess2014-02-11
| | | | | Avoids abusing setting environment variables, which was always a hack and won't work on windows.
* hlint to give autobuilder something to doGravatar Joey Hess2014-02-11
|
* remove dead codeGravatar Joey Hess2014-02-08
|
* add test case & fix conflict resolution bug on Windows & FATGravatar Joey Hess2014-02-04
| | | | | | | | | | | | | | | Fix bug in automatic merge conflict resolution code when used on a filesystem not supporting symlinks, which resulted in it losing track of the symlink bit of annexed files. This was the underlying bug that was causing another test to fail, which got worked around in f5d0c8f0bf7f018479eb4da7e8c41598b7aacb7d. I've chosen to keep 2 separate test cases since the old test case only detected the problem accidentially. Test suite passes on FAT & in windows, as well as on proper unix systems. This commit was sponsored by Ellis Whitehead.
* avoid using openFile when withFile can be usedGravatar Joey Hess2014-02-03
| | | | | | Potentially fixes some FD leak if an action on an opened file handle fails for some reason. There have been some hard to reproduce reports of git-annex leaking FDs, and this may solve them.