summaryrefslogtreecommitdiff
path: root/doc/git-annex.mdwn
Commit message (Collapse)AuthorAge
* 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.
* vpop NGravatar Joey Hess2014-02-18
|
* 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.
* Fix command to match fsck descriptionGravatar stp2014-02-17
|
* 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.
* metacata command can now operate on many files at onceGravatar Joey Hess2014-02-13
|
* 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.
* remove dropkey exampleGravatar Joey Hess2014-02-08
|
* --in can now refer to files that were located in a repository at some past ↵Gravatar Joey Hess2014-02-06
| | | | date. For example, --in="here@{yesterday}"
* Document in man page that sshcaching uses ssh ControlMaster. Closes: #737476Gravatar Joey Hess2014-02-02
|
* Added ways to configure rsync options to be used only when uploading or ↵Gravatar Joey Hess2014-02-02
| | | | downloading from a remote. Useful to eg limit upload bandwidth.
* All commands that support --all also support a --key option, which limits ↵Gravatar Joey Hess2014-01-26
| | | | them to acting on a single key.
* Optimise non-bare http remotes; no longer does a 404 to the wrong url every ↵Gravatar Joey Hess2014-01-26
| | | | time before trying the right url. Needs annex-bare to be set to false, which is done when initially probing the uuid of a http remote.
* added annex.secure-erase-command config option.Gravatar Joey Hess2014-01-24
|
* assistant unused file handlingGravatar Joey Hess2014-01-22
| | | | | | | | | | | | | | | | | | | Make sanity checker run git annex unused daily, and queue up transfers of unused files to any remotes that will have them. The transfer retrying code works for us here, so eg when a backup disk remote is plugged in, any transfers to it are done. Once the unused files reach a remote, they'll be removed locally as unwanted. If the setup does not cause unused files to go to a remote, they'll pile up, and the sanity checker detects this using some heuristics that are pretty good -- 1000 unused files, or 10% of disk used by unused files, or more disk wasted by unused files than is left free. Once it detects this, it pops up an alert in the webapp, with a button to take action. TODO: Webapp UI to configure this, and also the ability to launch an immediate cleanup of all unused files. This commit was sponsored by Simon Michael.
* benchmarked numcopies .gitattributes in preferred contentGravatar Joey Hess2014-01-21
| | | | | | | | | | | Checking .gitattributes adds a full minute to a git annex find looking for files that don't have enough copies. 2:25 increasts to 3:27. I feel this is too much of a slowdown to justify making it the default. So, exposed two versions of the preferred content expression, a slow one and a fast but approximate one. I'm using the approximate one in the default preferred content expressions to avoid slowing down the assistant.
* expose tasty test suite's option parserGravatar Joey Hess2014-01-21
|
* Add and use numcopiesneeded preferred content expression.Gravatar Joey Hess2014-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add numcopiesneeded preferred content expression. * Client, transfer, incremental backup, and archive repositories now want to get content that does not yet have enough copies. This means the asssistant will make copies of files that don't yet meet the configured numcopies, even to places that would not normally want the file. For example, if numcopies is 4, and there are 2 client repos and 2 transfer repos, and 2 removable backup drives, the file will be sent to both transfer repos in order to make 4 copies. Once a removable drive get a copy of the file, it will be dropped from one transfer repo or the other (but not both). Another example, numcopies is 3 and there is a client that has a backup removable drive and two small archive repos. Normally once one of the small archives has a file, it will not be put into the other one. But, to satisfy numcopies, the assistant will duplicate it into the other small archive too, if the backup repo is not available to receive the file. I notice that these examples are fairly unlikely setups .. the old behavior was not too bad, but it's nice to finally have it really correct. .. Almost. I have skipped checking the annex.numcopies .gitattributes out of fear it will be too slow. This commit was sponsored by Florian Schlegel.
* global numcopies settingGravatar Joey Hess2014-01-20
| | | | | | | | | | | | | | | | | | | | | | | * numcopies: New command, sets global numcopies value that is seen by all clones of a repository. * The annex.numcopies git config setting is deprecated. Once the numcopies command is used to set the global number of copies, any annex.numcopies git configs will be ignored. * assistant: Make the prefs page set the global numcopies. This global numcopies setting is needed to let preferred content expressions operate on numcopies. It's also convenient, because typically if you want git-annex to preserve N copies of files in a repo, you want it to do that no matter which repo it's running in. Making it global avoids needing to warn the user about gotchas involving inconsistent annex.numcopies settings. (See changes to doc/numcopies.mdwn.) Added a new variety of git-annex branch log file, that holds only 1 value. Will probably be useful for other stuff later. This commit was sponsored by Nicolas Pouillard.
* sync --content: New option that makes the content of annexed files be ↵Gravatar Joey Hess2014-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | transferred. Similar to the assistant, this honors any configured preferred content expressions. I am not entirely happpy with the implementation. It would be nicer if the seek function returned a list of actions which included the individual file gets and copies and drops, rather than the current list of calls to syncContent. This would allow getting rid of the somewhat reundant display of "sync file [ok|failed]" after the get/put display. But, do that, withFilesInGit would need to somehow be able to construct such a mixed action list. And it would be less efficient than the current implementation, which is able to reuse several values between eg get and drop. Note that currently this does not try to satisfy numcopies when getting/putting files (numcopies are of course checked when dropping files!) This makes it like the assistant, and unlike get --auto and copy --auto, which do duplicate files when numcopies is not yet satisfied. I don't know if this is the right decision; it only seemed to make sense to have this parallel the assistant as far as possible to start with, since I know the assistant works. This commit was sponsored by Øyvind Andersen Holm.
* Allow --all to be mixed with matching options like --copies and --in (but ↵Gravatar Joey Hess2014-01-18
| | | | not --include and --exclude).
* note that --all can't be mixed with eg --copiesGravatar Joey Hess2014-01-18
|
* clarify syncGravatar Joey Hess2014-01-18
|
* Minor git-annex.mdwn tune ups (trailing spaces, typos, more consistency in ↵Gravatar Yaroslav Halchenko2014-01-18
| | | | | | | tense) Conflicts: doc/git-annex.mdwn -- I have managed to work on an old copy, so overlapped a bit
* add GETAVAILABILITY to external special remote protocolGravatar Joey Hess2014-01-13
| | | | | And some reworking of types, and added an annex-availability git config setting.
* Added tahoe special remote.Gravatar Joey Hess2014-01-08
| | | | | | | | | | | | Known problems: 1. Tries to tahoe start when daemon is already running. 2. If multiple tahoe remotes are set up on the same computer, they will have the same node.url configured by default, and this confuses tahoe commands. This commit was sponsored by LeastAuthority.com
* Remotes can now be made read-only, by setting remote.<name>.annex-readonlyGravatar Joey Hess2014-01-02
|
* mirror: Support --all (and --unused).Gravatar Joey Hess2014-01-01
|
* importfeed: Support youtube playlists.Gravatar Joey Hess2013-12-29
|
* document annex-externaltype and annex-hooktypeGravatar Joey Hess2013-12-29
|
* corrected typo in status commandGravatar https://openid.stackexchange.com/user/e65e6d0e-58ba-41de-84cc-1f2ba54cf5742013-12-26
|
* doc/git-annex.mdwn: Forgot Oxford commaGravatar Richard Hartmann2013-12-23
|
* doc/git-annex.mdwn: Improve docs for annex.diskreserveGravatar Richard Hartmann2013-12-23
|
* doc/git-annex.mdwn: Typo fixGravatar Øyvind A. Holm2013-12-22
| | | | ab33f2e2-6aa1-11e3-8f66-001f3b596ec9
* updateGravatar Joey Hess2013-12-19
|
* improve docsGravatar Joey Hess2013-12-15
|
* Add plumbing-level lookupkey examinekey command.Gravatar Joey Hess2013-12-15
| | | | | find --format: Added hashdirlower, hashdirmixed, keyname, and mtime format variables.
* Add plumbing-level lookupkey command.Gravatar Joey Hess2013-12-15
|
* update plumbing command docsGravatar Joey Hess2013-12-15
|
* import: Add --skip-duplicates option.Gravatar Joey Hess2013-12-04
| | | | | | | Note that the hash backends were made to stop printing a (checksum..) message as part of this, since it showed up without a file when deciding whether to act on a file. Should have probably removed that message a while ago anyway, I suppose.
* minor typos/trailing spaces fixes in git-annex.mdwnGravatar Yaroslav Halchenko2013-12-04
|
* copy --from, get --from: When --force is used, ignore the location log and ↵Gravatar Joey Hess2013-12-02
| | | | always try to get the file from the remote.
* annex.autoupgrade settingGravatar Joey Hess2013-11-22
|
* dropunused, addunused: Allow "all" instead of a range to act on all unused data.Gravatar Joey Hess2013-11-18
|
* i believe the file is copied out of the git/annex directory now, so it's not ↵Gravatar https://id.koumbit.net/anarcat2013-11-12
| | | | a hardlink anymore