summaryrefslogtreecommitdiff
path: root/Command
Commit message (Collapse)AuthorAge
...
* use bloom filter in second pass of sync --all --contentGravatar Joey Hess2015-06-16
| | | | | | | | This is needed because when preferred content matches on files, the second pass would otherwise want to drop all keys. Using a bloom filter avoids this, and in the case of a false positive, a key will be left undropped that preferred content would allow dropping. Chances of that happening are a mere 1 in 1 million.
* instance Hashable Key for bloomfilterGravatar Joey Hess2015-06-16
|
* Increased the default annex.bloomaccuracy from 1000 to 10000000Gravatar Joey Hess2015-06-16
| | | | | | | | | | | | | | | | | | | This makes git annex unused use around 48 mb more memory than it did before, but the massive increase in accuracy makes this worthwhile for all but the smallest systems. Also, I want to use the bloom filter for sync --all --content, to avoid dropping files that the preferred content doesn't want, and 1/1000 false positives would be far too many in that use case, even if it were acceptable for unused. Actual memory use numbers: 1000: 21.06user 3.42system 0:26.40elapsed 92%CPU (0avgtext+0avgdata 501552maxresident)k 1000000: 21.41user 3.55system 0:26.84elapsed 93%CPU (0avgtext+0avgdata 549496maxresident)k 10000000: 21.84user 3.52system 0:27.89elapsed 90%CPU (0avgtext+0avgdata 549920maxresident)k Based on these numbers, 10 million seemed a better pick than 1 million.
* sync: Add support for --all and --unused.Gravatar Joey Hess2015-06-16
|
* switch code to using associated filesGravatar Joey Hess2015-06-16
|
* info: Added json output for "backend usage", "numcopies stats", ↵Gravatar Joey Hess2015-06-16
| | | | "repositories containing these files", and "transfers in progress".
* Improve url parsing to handle some urls containing illegal [] characters in ↵Gravatar Joey Hess2015-06-14
| | | | | | their paths. Ie, "https://archive.org/download/zoom-2/Zoom - Release 2 (1996)(Active Software)[!].iso"
* add a hint about marking a key deadGravatar Joey Hess2015-06-09
|
* dead --key: Can be used to mark a key as dead.Gravatar Joey Hess2015-06-09
|
* fsck: Ignore keys that are known to be dead when running in --all mode or a ↵Gravatar Joey Hess2015-06-09
| | | | in a bare repo. Otherwise, still reports files with lost contents, even if the content is dead.
* import --clean-duplicates: Fix bug that didn't count local or trusted repo's ↵Gravatar Joey Hess2015-06-03
| | | | copy of a file as one of the necessary copies to allow removing it from the import location.
* get --incomplete: New option to resume any interrupted downloads.Gravatar Joey Hess2015-06-02
|
* remove Params constructor from Utility.SafeCommandGravatar Joey Hess2015-06-01
| | | | | | | | | | | | | | | | | | This removes a bit of complexity, and should make things faster (avoids tokenizing Params string), and probably involve less garbage collection. In a few places, it was useful to use Params to avoid needing a list, but that is easily avoided. Problems noticed while doing this conversion: * Some uses of Params "oneword" which was entirely unnecessary overhead. * A few places that built up a list of parameters with ++ and then used Params to split it! Test suite passes.
* fromkey, registerurl: Improve handling of urls that happen to also be ↵Gravatar Joey Hess2015-05-30
| | | | parsable as strange keys.
* fromkey, registerurl: Allow urls to be specified instead of keys, and ↵Gravatar Joey Hess2015-05-22
| | | | | | | | generate URL keys. This is especially useful because the caller doesn't need to generate valid url keys, which involves some escaping of characters, and may involve taking a md5sum of the url if it's too long.
* add annex.used-refspecGravatar Joey Hess2015-05-14
|
* unused: Add --used option, which can specify a set of refs to consider used, ↵Gravatar Joey Hess2015-05-14
| | | | rather than the default of considering all refs used.
* Avoid accumulating transfer failure log files unless the assistant is being ↵Gravatar Joey Hess2015-05-12
| | | | | | | | | | | | used. Only the assistant uses these, and only the assistant cleans them up, so make only git annex transferkeys write them, There is one behavior change from this. If glacier is being used, and a manual git annex get --from glacier fails because the file isn't available yet, the assistant will no longer later see that failed transfer file and retry the get. Hope no-one depended on that old behavior.
* Take space that will be used by running downloads into account when checking ↵Gravatar Joey Hess2015-05-12
| | | | annex.diskreserve.
* Merge branch 'master' into concurrentprogressGravatar Joey Hess2015-05-12
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: Command/Fsck.hs Messages.hs Remote/Directory.hs Remote/Git.hs Remote/Helper/Special.hs Types/Remote.hs debian/changelog git-annex.cabal
| * drop: Now supports --all, --unused, and --key.Gravatar Joey Hess2015-05-12
| |
| * import: Refuse to import files that are within the work tree, as that does ↵Gravatar Joey Hess2015-05-11
| | | | | | | | not make sense and could cause data loss.
| * more FlexibleContextsGravatar Joey Hess2015-05-10
| |
| * more time-1.5 fixesGravatar Joey Hess2015-05-10
| |
| * support time-1.5.0Gravatar Joey Hess2015-05-10
| | | | | | | | | | | | | | This no longer uses old-locale's defaultTimeLocale, but provides one of its own. Factored out a Logs.TimeStamp.
| * Improve quvi 0.4 output parsing to handle cases wher there is no known ↵Gravatar Joey Hess2015-05-08
| | | | | | | | filename extension. This is currently the case when using quvi with youtube. In this case, the extension ".m" will be used.
| * fsck: Ignore error recording the fsck in the activity log, which can happen ↵Gravatar Joey Hess2015-05-06
| | | | | | | | when running fsck in a read-only repository. Closes: #698559 (fsck can still need to write to the repository if it find problems, but a successful fsck can be done read-only)
| * contentlocation, examinekey, lookupkey: Added --batch mode option.Gravatar Joey Hess2015-05-06
| |
| * assistant: Added --autostop to complement --autostart.Gravatar Joey Hess2015-05-01
| |
| * Improve behavior when a git-annex command is told to operate on a file that ↵Gravatar Joey Hess2015-04-30
| | | | | | | | doesn't exist. It will now continue to other files specified after that on the command line, and only error out at the end.
| * move nubbing into function whose algo needs a nubbed listGravatar Joey Hess2015-04-30
| |
| * improve messagesGravatar Joey Hess2015-04-30
| |
| * import: Before removing a duplicate file in --deduplicate or ↵Gravatar Joey Hess2015-04-30
| | | | | | | | --clean-duplicates mode, verify that enough copies of its content still exist.
| * refactorGravatar Joey Hess2015-04-30
| |
| * nub list after adding ocal uuid to itGravatar Joey Hess2015-04-30
| | | | | | | | | | | | This potentially fixes a numcopies counting bug when dropping --from a remote, and the local repository is trusted. The local repo would end up in the list twice, so it would verify one less copy than it was supposed to.
| * import: Don't stop entire import when one file fails due to being gitignored ↵Gravatar Joey Hess2015-04-29
| | | | | | | | or conflicting with something in the work tree.
| * import: Check for gitignored files before moving them into the tree. (Needs ↵Gravatar Joey Hess2015-04-29
| | | | | | | | git 1.8.4 or newer.)
| * Fix bogus failure of fsck --fast.Gravatar Joey Hess2015-04-27
| |
| * clean up importsGravatar Joey Hess2015-04-19
| |
| * removed all uses of undefined from code baseGravatar Joey Hess2015-04-19
| | | | | | | | It's a code smell, can lead to hard to diagnose error messages.
| * forgot to add theseGravatar Joey Hess2015-04-18
| |
| * required: New command, like wanted, but for required content.Gravatar Joey Hess2015-04-18
| | | | | | | | Also refactored some code to reduce duplication.
| * fsck --from remote: Avoid downloading a key if it would go over the ↵Gravatar Joey Hess2015-04-18
| | | | | | | | annex.diskreserve limit.
| * fsck --from remote: When bad content is found in the remote, and the local ↵Gravatar Joey Hess2015-04-18
| | | | | | | | repo does not have a copy of the content, preserve the bad content in .git/annex/bad/ to avoid further data loss.
* | add filename to progress bar, and display ok/failed at endGravatar Joey Hess2015-04-14
| | | | | | | | This needed plumbing an AssociatedFile through retrieveKeyFileCheap.
* | Merge branch 'master' into concurrentprogressGravatar Joey Hess2015-04-14
|\| | | | | | | | | Conflicts: debian/changelog
| * info: Added --bytes option.Gravatar Joey Hess2015-04-12
| |
| * info dir: Added information about repositories that contain files in the ↵Gravatar Joey Hess2015-04-12
| | | | | | | | | | | | | | | | | | | | | | specified directory. This is a nearly free feature; it piggybacks on the location log lookups done for the numcopies stats. So, the only extra overhead is updating the map of repository sizes. However, I had to switch to Data.Map.Strict, which needs containers 0.5. If backporting to wheezy, will probably need to revert this commit.
* | get, move, copy, mirror: Concurrent downloads and uploads are now supported!Gravatar Joey Hess2015-04-10
|/ | | | | | | | | | | This works, and seems fairly robust. Clean get of 20 files at -J3. At -J10, there are some messages about ssh multiplexing, probably due to a race spinning up the ssh connection cacher. But, it manages to get all the files ok regardless. The progress bars are a scrambled mess though, due to bugs in ascii-progress, which I've already filed. Particularly this one: https://github.com/yamadapc/haskell-ascii-progress/issues/8
* unused importGravatar Joey Hess2015-04-10
|