summaryrefslogtreecommitdiff
path: root/debian
Commit message (Collapse)AuthorAge
* changelogGravatar Joey Hess2013-10-01
|
* Disable receive.denyNonFastForwards when setting up a gcrypt special remoteGravatar Joey Hess2013-10-01
| | | | | | gcrypt needs to be able to fast-forward the master branch. If a git repository is set up with git init --shared --bare, it gets that set, and pushing to it will then fail, even when it's up-to-date.
* assistant: More robust inotify handling; avoid crashing if a directory ↵Gravatar Joey Hess2013-09-30
| | | | cannot be read.
* fix direct mode switch permissions problemGravatar Joey Hess2013-09-30
| | | | Similar to how a similar problem with indirect was earlier fixed.
* finally sorted out the OSX gpg messGravatar Joey Hess2013-09-29
|
* webapp: Fixed a bug where when a new remote is added, one file may fail to ↵Gravatar Joey Hess2013-09-29
| | | | | | | | | | | | | | | | sync to or from it This happened because the transferrer process did not know about the new remote. remoteFromUUID crashed, which crashed the transferrer. When it was restarted, the new one knew about the new remote so all further files would transfer, but the one file would temporarily not be, until transfers retried. Fixed by making remoteFromUUID not crash, and try reloading the remote list if it does not know about a remote. Note that this means that remoteFromUUID does not only return Nothing anymore when the UUID is the UUID of the local repository. So had to change some code that dependend on that assumption.
* Send a git-annex user-agent when downloading urls.Gravatar Joey Hess2013-09-28
| | | | | | | | | Overridable with --user-agent option. Not yet done for S3 or WebDAV due to limitations of libraries used -- nether allows a user-agent header to be specified. This commit sponsored by Michael Zehrer.
* webapp: Support storing encrypted git repositories on rsync.net.Gravatar Joey Hess2013-09-26
| | | | | | Does not yet support re-enabling such a repository though. This commit was sponsored by Jan Pieper.
* add, import, assistant: Better preserve the mtime of symlinks, when when ↵Gravatar Joey Hess2013-09-25
| | | | | | | adding content that gets deduplicated. Note that this turned out to remove a syscall, not add any expense. Otherwise, I would not have done it.
* 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
| | |