summaryrefslogtreecommitdiff
path: root/debian
Commit message (Collapse)AuthorAge
* indirect: Better behavior when a file in direct mode is not owned by the ↵Gravatar Joey Hess2013-09-25
| | | | user running the conversion.
* import: Preserve top-level directory structure.Gravatar Joey Hess2013-09-25
|
* assistant: Clear the list of failed transfers when doing a full transfer ↵Gravatar Joey Hess2013-09-25
| | | | | | | | | | | | | | | | | scan. This prevents repeated retries to download files that are not available, or are not referenced by the current git tree. This is motivated by a user report that the assistant was repeatedly retrying transfers of files that had been deleted (in direct mode, so removing the only copy). Note that the glacier code retries failed transfers after a while to retry downloads that have aged long enough to be available. This is ok; if we're doing a full transfer scan we'll retry on every file that is still in the git tree. Also note that this makes the assistant less likely to get every file referenced by old revs of the git tree. Not something the assistant tries to ensure anyway, so I feel this is acceptable.
* git-annex-shell: Added support for operating inside gcrypt repositories.Gravatar Joey Hess2013-09-24
| | | | | | * Note that the layout of gcrypt repositories has changed, and if you created one you must manually upgrade it. See http://git-annex.branchable.com/upgrades/gcrypt/
* pin termGravatar Joey Hess2013-09-22
|
* explicit cryptohash depGravatar Joey Hess2013-09-22
|
* Use cryptohash rather than SHA for hashing.Gravatar Joey Hess2013-09-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a massive win on OSX, which doesn't have a sha256sum normally. Only use external hash commands when the file is > 1 mb, since cryptohash is quite close to them in speed. SHA is still used to calculate HMACs. I don't quite understand cryptohash's API for those. Used the following benchmark to arrive at the 1 mb number. 1 mb file: benchmarking sha256/internal mean: 13.86696 ms, lb 13.83010 ms, ub 13.93453 ms, ci 0.950 std dev: 249.3235 us, lb 162.0448 us, ub 458.1744 us, ci 0.950 found 5 outliers among 100 samples (5.0%) 4 (4.0%) high mild 1 (1.0%) high severe variance introduced by outliers: 10.415% variance is moderately inflated by outliers benchmarking sha256/external mean: 14.20670 ms, lb 14.17237 ms, ub 14.27004 ms, ci 0.950 std dev: 230.5448 us, lb 150.7310 us, ub 427.6068 us, ci 0.950 found 3 outliers among 100 samples (3.0%) 2 (2.0%) high mild 1 (1.0%) high severe 2 mb file: benchmarking sha256/internal mean: 26.44270 ms, lb 26.23701 ms, ub 26.63414 ms, ci 0.950 std dev: 1.012303 ms, lb 925.8921 us, ub 1.122267 ms, ci 0.950 variance introduced by outliers: 35.540% variance is moderately inflated by outliers benchmarking sha256/external mean: 26.84521 ms, lb 26.77644 ms, ub 26.91433 ms, ci 0.950 std dev: 347.7867 us, lb 210.6283 us, ub 571.3351 us, ci 0.950 found 6 outliers among 100 samples (6.0%) import Crypto.Hash import Data.ByteString.Lazy as L import Criterion.Main import Common testfile :: FilePath testfile = "/run/shm/data" -- on ram disk main = defaultMain [ bgroup "sha256" [ bench "internal" $ whnfIO internal , bench "external" $ whnfIO external ] ] sha256 :: L.ByteString -> Digest SHA256 sha256 = hashlazy internal :: IO String internal = show . sha256 <$> L.readFile testfile external :: IO String external = do s <- readProcess "sha256sum" [testfile] return $ fst $ separate (== ' ') s
* release4.20130920Gravatar Joey Hess2013-09-20
|
* more completely solve catKey memory leakGravatar Joey Hess2013-09-19
| | | | | | | | | | | | | | | | | | | Done using a mode witness, which ensures it's fixed everywhere. Fixing catFileKey was a bear, because git cat-file does not provide a nice way to query for the mode of a file and there is no other efficient way to do it. Oh, for libgit2.. Note that I am looking at tree objects from HEAD, rather than the index. Because I cat-file cannot show a tree object for the index. So this fix is technically incomplete. The only cases where it matters are: 1. A new large file has been directly staged in git, but not committed. 2. A file that was committed to HEAD as a symlink has been staged directly in the index. This could be fixed a lot better using libgit2.
* sync, pre-commit, indirect: Avoid unnecessarily catting non-symlink files ↵Gravatar Joey Hess2013-09-19
| | | | from git, which can be so large it runs out of memory.
* rename remotes to listGravatar Antoine Beaupré2013-09-19
|
* better probing for gcrypt repositories using new --check optionGravatar Joey Hess2013-09-19
| | | | | | | | Now can tell if a repo uses gcrypt or not, and whether it's decryptable with the current gpg keys. This closes the hole that undecryptable gcrypt repos could have before been combined into the repo in encrypted mode.
* webapp: Show encryption information when editing a remote.Gravatar Joey Hess2013-09-17
|
* gcrypt: Ensure that signing key is set to one of the participants keys.Gravatar Joey Hess2013-09-17
| | | | | | Otherwise gcrypt will fail to pull, since it requires this to be the case. This needs a patched gcrypt, which is in my forked version.
* webapp: Initial support for setting up encrypted removable drives.Gravatar Joey Hess2013-09-16
| | | | | No support yet for generating new gpg keys. No support yet for adding existing encrypted repos from removable drives.
* make --fast disable the numcopies statsGravatar Joey Hess2013-09-15
| | | | Looking up the location log for every key is not the fastest operation..
* status: In local mode, displays information about variance from configured ↵Gravatar Joey Hess2013-09-15
| | | | numcopies levels.
* addurl: Fix quvi audodetection, broken in last release.Gravatar Joey Hess2013-09-15
|
* sync: Don't fail if the directory it is run in gets removed by the sync.Gravatar Joey Hess2013-09-13
|
* sync: Fix bug that caused direct mode mappings to not be updated when ↵Gravatar Joey Hess2013-09-13
| | | | merging files into the tree on Windows.
* fsck: Fix detection and fixing of present direct mode files that are wrongly ↵Gravatar Joey Hess2013-09-13
| | | | represented as standin symlinks on crippled filesystems.
* Support hot-swapping of removable drives containing gcrypt repositories.Gravatar Joey Hess2013-09-12
| | | | | | | | | | | To support this, a core.gcrypt-id is stored by git-annex inside the git config of a local gcrypt repository, when setting it up. That is compared with the remote's cached gcrypt-id. When different, a drive has been changed. git-annex then looks up the remote config for the uuid mapped from the core.gcrypt-id, and tweaks the configuration appropriately. When there is no known config for the uuid, it will refuse to use the remote.
* remotes: New command, displays a compact table of remotes that contain ↵Gravatar Joey Hess2013-09-12
| | | | | | | | | | | | | files. (Thanks, anarcat for display code and mastensg for inspiration.) Note that it would be possible to extend the display to show all repositories. But there can be a lot of repositories that are not set up as remotes, and it would significantly clutter the display to show them all. Since we're not showing all repositories, it's not worth trying to show numcopies count either. I decided to embrace these limitations and call the command remotes.
* prep release4.20130911Gravatar Joey Hess2013-09-11
|
* Fix problem with test suite in non-unicode locale.Gravatar Joey Hess2013-09-11
|
* sync: support gcrypt4.20130909Gravatar Joey Hess2013-09-09
|
* recommend git-remote-gcrypt (package in incoming)Gravatar Joey Hess2013-09-09
|
* Allow building without quvi support.Gravatar Joey Hess2013-09-09
|
* webapp: Improve javascript's handling of longpolling connection failures, by ↵Gravatar Joey Hess2013-09-09
| | | | reloading the current page in this case. Works around chromium behavior where ajax connections to urls that were already accessed are denied after navigating back to a previous page.
* gcrypt: now supports rsyncGravatar Joey Hess2013-09-08
| | | | | | | | | | | | | | | | | | | | Use rsync for gcrypt remotes that are not local to the disk. (Note that I have punted on supporting http transport for now, it doesn't seem likely to be very useful.) This was mostly quite easy, it just uses the rsync special remote to handle the transfers. The git repository url is converted to a RsyncOptions structure, which required parsing it separately, since the rsync special remote only supports rsync urls, which use a different format. Note that annexed objects are now stored at the top of the gcrypt repo, rather than inside annex/objects. This simplified the rsync suport, since it doesn't have to arrange to create that directory. And git-annex is not going to be run directly within gcrypt repos -- or if in some strance scenario it was, it would make sense for it to not see the encrypted objects. This commit was sponsored by Sheila Miguez
* gpg: Force --no-textmode in case the user has it turned on in config.Gravatar Joey Hess2013-09-07
|
* Remind user when annex-ignore is set for some remotes, if unable to get or ↵Gravatar Joey Hess2013-09-06
| | | | drop a file, possibly because it's on an ignored remote.
* Fix Feeds display in build flags.Gravatar Joey Hess2013-09-05
|
* fixGravatar Joey Hess2013-09-05
|
* highlight the syntax changeGravatar Joey Hess2013-09-05
|
* reword changelogGravatar Joey Hess2013-09-04
|
* detailed changelog for the encryption changesGravatar Joey Hess2013-09-04
|
* Merge branch 'master' into encryptionGravatar Joey Hess2013-09-04
|\
| * Merge branch 'forget'Gravatar Joey Hess2013-09-03
| |\ | | | | | | | | | | | | Conflicts: debian/changelog
* | | Allow public-key encryption of file content.Gravatar guilhem2013-09-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the initremote parameters "encryption=pubkey keyid=788A3F4C". /!\ Adding or removing a key has NO effect on files that have already been copied to the remote. Hence using keyid+= and keyid-= with such remotes should be used with care, and make little sense unless the point is to replace a (sub-)key by another. /!\ Also, a test case has been added to ensure that the cipher and file contents are encrypted as specified by the chosen encryption scheme.
| * | importfeed: Also ignore transient problems with downloading content from feeds.Gravatar Joey Hess2013-09-03
| | |
| * | Honor core.sharedrepository when receiving and adding files in direct mode.Gravatar Joey Hess2013-09-03
|/ /
| * forget --drop-dead: Completely removes mentions of repositories that have ↵Gravatar Joey Hess2013-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | been marked as dead from the git-annex branch. Wrote nice pure transition calculator, and ugly code to stage its results into the git-annex branch. Also had to split up several Log modules that Annex.Branch needed to use, but that themselves used Annex.Branch. The transition calculator is limited to looking at and changing one file at a time. While this made the implementation relatively easy, it precludes transitions that do stuff like deleting old url log files for keys that are being removed because they are no longer present anywhere.
| * sync, assistant: Force push of the git-annex branch.Gravatar Joey Hess2013-08-29
|/ | | | | Necessary to ensure it gets pushed to remotes after being rewritten by forget. See inline rationalles for why I think this is safe!
* prep releaseGravatar Joey Hess2013-08-27
|
* Android: Fix bug in terminal app that caused it to spin using much CPU and ↵Gravatar Joey Hess2013-08-26
| | | | battery. This problem was introduced in version 4.20130601.
* changelogGravatar Joey Hess2013-08-26
|
* remove a bug that didn't get fixed yetGravatar Joey Hess2013-08-25
|
* document insanely good unused changeGravatar Joey Hess2013-08-25
|
* Youtube support! (And 53 other video hosts)Gravatar Joey Hess2013-08-22
| | | | | | | | | | When quvi is installed, git-annex addurl automatically uses it to detect when an page is a video, and downloads the video file. web special remote: Also support using quvi, for getting files, or checking if files exist in the web. This commit was sponsored by Mark Hepburn. Thanks!