summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* add news item for git-annex 3.201202273.20120227Gravatar Joey Hess2012-02-27
|
* releasing version 3.20120227Gravatar Joey Hess2012-02-27
|
* move --from, copy --from: 10 times faster scanning remote on local diskGravatar Joey Hess2012-02-26
| | | | | | | | | | | | | | | | | | | Rather than go through the location log to see which files are present on the remote, it simply looks at the disk contents directly. I benchmarked this speeding up scanning 834 files, from an annex on my phone's SSD, from 11.39 seconds to 1.31 seconds. (No files actually moved.) Also benchmarked 8139 files, from an annex on spinning storage, speeding up from 103.17 to 13.39 seconds. Note that benchmarking with an encrypted annex on flash actually showed a minor slowdown with this optimisation -- from 13.93 to 14.50 seconds. Seems the overhead of doing the crypto needed to get the filenames to directly check can be higher than the overhead of looking up data in the location log. (Which says good things about how well the location log and git have been optimised!) It *may* make sense to make encrypted local remotes not have hasKeyCheap set; further benchmarking is called for.
* fix filename encoding for git cat-fileGravatar Joey Hess2012-02-26
| | | | | | | | | | | The filename sent to git cat-file needs to be sent on a File encoded handle. Also set the read handle to use the File encoding, so that any error message mentioning the filename is received properly. The actual file content is read using Data.ByteString.Char8, which will ignore the read handle's encoding, so this won't change that. (Whether that is entirely correct remains to be seen.)
* version dependency on openssh-clientGravatar Joey Hess2012-02-25
| | | | | This is only to ensure that it's as new a version as it was built with, so partial upgrades work.
* configure: Check if ssh connection caching is supported by the installed ↵Gravatar Joey Hess2012-02-25
| | | | version of ssh and default annex.sshcaching accordingly.
* do a cleanup commit after moving data from or to a git remoteGravatar Joey Hess2012-02-25
| | | | | | | | Added Annex.cleanup, which is a general purpose interface for adding actions to run at the end. Remotes with the old git-annex-shell will commit every time, and have no commit command, so hide stderr when running the commit command.
* add git-annex-shell commitGravatar Joey Hess2012-02-25
| | | | | | | | | Eventually, git-annex might try running this after making changes to a remote. I have not yet thought of a good way for it to tell which remotes it needs to run it on though. It can't just do it when shutting down a cached ssh connection, because ssh connection caching is optional, and that would not handle local remotes not accessed over ssh either.
* improve alwayscommit=false modeGravatar Joey Hess2012-02-25
| | | | | | | | | | | | | | Now changes are staged into the branch's index, but not committed, which avoids growing a large journal. And sync and merge always explicitly commit, ensuring that even when they do nothing else, they commit the staged changes. Added a flag file to indicate that the branch's journal contains uncommitted changes. (Could use git ls-files, but don't want to run that every time.) In the future, this ability to have uncommitted changes staged in the journal might be used on remotes after a series of oneshot commands.
* add annex.alwayscommit optionGravatar Joey Hess2012-02-25
| | | | | | To avoid commits of data to the git-annex branch after each command is run, set annex.alwayscommit=false. Its data will then be committed less frequently, when a merge or sync is done.
* Added a comment: very niceGravatar http://adamspiers.myopenid.com/2012-02-25
|
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2012-02-25
|\
* | update copyright format urlGravatar Joey Hess2012-02-25
| |
| * Added a commentGravatar http://www.joachim-breitner.de/2012-02-24
| |
* | updateGravatar Joey Hess2012-02-24
| |
| * Added a commentGravatar http://joey.kitenet.net/2012-02-24
|/
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2012-02-24
|\
* | Deal with NFS problem that caused a failure to remove a directory when ↵Gravatar Joey Hess2012-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | removing content from the annex. I was able to reproduce this on linux using the kernel's nfs server and mounting localhost:/. Determined that removing the directory fails when the just-deleted file in it was locked. Considered dropping the lock before removing the directory, but this would complicate parts of the code that should not need to worry about locking. So instead, ignore the failure to remove the directory in this case. While I was at it, made it attempt to remove both levels of hash directories, in case they're empty.
| * (no commit message)Gravatar http://www.joachim-breitner.de/2012-02-24
|/
* move misplaced bug reportGravatar Joey Hess2012-02-24
|
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2012-02-24
|\
| * (no commit message)Gravatar https://www.google.com/accounts/o8/id?id=AItOawkCoDbzG4_biL7Y9IvUiRsBH_GchCKAaW42012-02-24
| |
* | cleanupGravatar Joey Hess2012-02-21
| |
* | revert hlint changeGravatar Joey Hess2012-02-20
| | | | | | | | broke a test
* | refactorGravatar Joey Hess2012-02-20
| |
* | quiet expected compiler warningGravatar Joey Hess2012-02-20
| |
* | improve interfaceGravatar Joey Hess2012-02-18
|/
* more robustness fixesGravatar Joey Hess2012-02-18
|
* don't fail with --pathdepth when file already existsGravatar Joey Hess2012-02-18
|
* warningGravatar Joey Hess2012-02-18
|
* don't error out entirely if an url cannot be downloadedGravatar Joey Hess2012-02-18
|
* avoid unnecessary log changes when re-adding the same urlGravatar Joey Hess2012-02-17
|
* Store web special remote url info in a more efficient location.Gravatar Joey Hess2012-02-17
| | | | | | | | storing it in remotes/web/xx/yy/foo.log meant lots of extra directory objects in git. Now I use xx/yy/foo.log.web, which is just as unique, but more efficient since foo.log is there anyway. Of course, it still looks in the old location too.
* variable nameGravatar Joey Hess2012-02-17
|
* reorgGravatar Joey Hess2012-02-17
|
* reorder for clarityGravatar Joey Hess2012-02-16
|
* make Migrate use ReKey rather than the other way aroundGravatar Joey Hess2012-02-16
| | | | as ReKey is plumbing, this makes sense
* fix filename limit when using --pathdepthGravatar Joey Hess2012-02-16
|
* order commands in usage by nameGravatar Joey Hess2012-02-16
|
* rekey: New plumbing level command, can be used to change the keys used for ↵Gravatar Joey Hess2012-02-16
| | | | files en masse.
* reorderGravatar Joey Hess2012-02-16
|
* zero still badGravatar Joey Hess2012-02-16
|
* allow pathdepth to drop from the front or take from the end (negative)Gravatar Joey Hess2012-02-16
|
* improve usageGravatar Joey Hess2012-02-16
|
* addurl: Add --pathdepth option.Gravatar Joey Hess2012-02-16
|
* avoid too long filename when making up a filename for addurl tooGravatar Joey Hess2012-02-16
|
* handle really long urlsGravatar Joey Hess2012-02-16
| | | | | Using the whole url as a key can make the filename too long. Truncate and use a md5sum for uniqueness if necessary.
* hlintGravatar Joey Hess2012-02-16
|
* create parent directories as needed for addurl --fileGravatar Joey Hess2012-02-16
|
* updateGravatar Joey Hess2012-02-15
|