Commit graph

3452 commits

Author SHA1 Message Date
Joey Hess
ee806c1175 add news item for git-annex 3.20120230 2012-03-05 13:47:35 -04:00
Joey Hess
0d41899304 releasing version 3.20120230 2012-03-05 13:47:20 -04:00
Joey Hess
51338486dc Fix a bug in symlink calculation code, that triggered in rare cases where an annexed file is in a subdirectory that nearly matched to the .git/annex/object/xx/yy subdirectories.
This is a straight up pure-code stinker. The relative path calculation
looked for common subdirectories in the two paths, but failed to stop
after the paths diverged. When a later pair of subdirectories were the
same, the resulting relative path was wrong.

Added regression test for this.
2012-03-05 12:42:52 -04:00
Joey Hess
52e88f3ebf add remote start and stop hooks
Locking is used, so that, if there are multiple git-annex processes
using a remote concurrently, the stop hook is only run by the last
process that uses it.
2012-03-04 19:12:58 -04:00
Joey Hess
fba66c55ed foo 2012-03-04 13:16:35 -04:00
Joey Hess
3960825cef better chunked file retrieval
Avoids opening every chunk at once, instead streaming them in.

Not done for encrypted file retrieval yet.
2012-03-04 11:48:23 -04:00
Joey Hess
612ca3cf2e tweak davfs2 settings 2012-03-04 11:12:52 -04:00
Joey Hess
896fce3847 box.com seems to behave better with smaller chunks
Seeing some weird failures in the davfs2 or box.com layer with 100 mb
chunks.
2012-03-04 11:02:41 -04:00
Joey Hess
013c7ea441 clarification 2012-03-04 10:51:25 -04:00
Joey Hess
89cc2d128f make meter slightly wider 2012-03-04 10:49:28 -04:00
Joey Hess
7ba79cfb8c thread through original key to retrieveEnctypted
Allows showing progress bar for this last case of the directory special
remote.
2012-03-04 03:36:39 -04:00
Joey Hess
4638314001 add progress display when receiving files
That was actually really easy. But, when getting a file from an encrypted
directory special remote, no meter can be shown, because the total file
size is not known.
2012-03-04 03:25:41 -04:00
Joey Hess
9856c24a59 Add progress bar display to the directory special remote.
So far I've only written progress bars for sending files, not yet
receiving.

No longer uses external cp at all. ByteString IO is fast enough.
2012-03-04 03:17:25 -04:00
Joey Hess
8fc533643d instructions for using Box.com as a special remote
I was sucked in by the 50 gb free lifetime storage offer.
Happily, it was pretty easy to get it to work with git-annex.
2012-03-04 00:14:42 -04:00
Joey Hess
50c897c082 tweak 2012-03-03 20:02:48 -04:00
Joey Hess
3436aba6de Directory special remotes now support chunking files written to them
Avoiding writing files larger than a specified size is useful on certian
things. For example, box.com has a file size limit of 100 mb. Could also
be useful on really crappy removable media.
2012-03-03 18:05:55 -04:00
Joey Hess
2841d748a4 Merge branch 'master' of ssh://git-annex.branchable.com 2012-03-01 22:40:24 -04:00
Joey Hess
1098bc37ab "here" can be used to refer to the current repository, which can read better than the old "." (which still works too). 2012-03-01 22:35:10 -04:00
http://joey.kitenet.net/
98747ae86b Added a comment 2012-02-29 22:54:01 +00:00
http://peter-simons.myopenid.com/
432dde9156 Added a comment: How do you build the Crypto library with GHC 7.4.1? 2012-02-29 19:20:21 +00:00
Joey Hess
478fdc8a5d add news item for git-annex 3.20120229 2012-02-29 02:39:56 -04:00
Joey Hess
6571831b92 releasing version 3.20120229 2012-02-29 02:39:44 -04:00
Joey Hess
a930f54122 Merge branch 'master' of ssh://git-annex.branchable.com 2012-02-29 02:35:03 -04:00
Joey Hess
e5fee3f352 Fix test suite to not require a unicode locale.
Without a unicode locale, it will fail to print a unicode filename to
console, and fails.
2012-02-29 02:32:05 -04:00
http://joey.kitenet.net/
d56da1b9cb Added a comment 2012-02-29 04:27:47 +00:00
Joey Hess
f53f23c3f3 Merge branch 'master' of ssh://git-annex.branchable.com 2012-02-28 20:01:08 -04:00
http://peter-simons.myopenid.com/
ea6cb182e0 Added a comment: Test-suite won't compile with GHC 7.4.x 2012-02-28 17:40:00 +00:00
Joey Hess
93886ae707 Merge branch 'master' of ssh://git-annex.branchable.com 2012-02-28 10:41:24 -04:00
Sergei Trofimovich
8428703d78 git-union-merge: add 'text' to dependencies
Fixes following build failure on ghc-7.4/Cabal-1.14:

    $ runhaskell Setup.hs build
    Building git-annex-3.20120227...
    Preprocessing executable 'git-union-merge' for git-annex-3.20120227...
    Git/Command.hs:11:18:
        Could not find module `Data.Text.Lazy.IO'
        It is a member of the hidden package `text-0.11.1.13'.
        Perhaps you need to add `text' to the build-depends in your .cabal file.
        Use -v to see a list of the files searched for.

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2012-02-28 10:40:50 -04:00
Joey Hess
6d3fb5cba7 remove -fspec-constr-count workaround
not needed with ghc 7.4
2012-02-27 14:36:40 -04:00
Joey Hess
ed0f5cd2d3 add news item for git-annex 3.20120227 2012-02-27 13:07:09 -04:00
Joey Hess
8cae4115a8 releasing version 3.20120227 2012-02-27 13:07:04 -04:00
Joey Hess
2fd294d06f move --from, copy --from: 10 times faster scanning remote on local disk
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.
2012-02-26 14:59:48 -04:00
Joey Hess
00d814aecc fix filename encoding for git cat-file
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.)
2012-02-26 14:11:50 -04:00
Joey Hess
b889581945 version dependency on openssh-client
This is only to ensure that it's as new a version as it was built with, so
partial upgrades work.
2012-02-25 19:31:46 -04:00
Joey Hess
12b89a3eb8 configure: Check if ssh connection caching is supported by the installed version of ssh and default annex.sshcaching accordingly. 2012-02-25 19:15:29 -04:00
Joey Hess
c3fbe07d7a do a cleanup commit after moving data from or to a git remote
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.
2012-02-25 18:02:49 -04:00
Joey Hess
a3c9d06a26 add git-annex-shell commit
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.
2012-02-25 16:47:28 -04:00
Joey Hess
1f73db3469 improve alwayscommit=false mode
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.
2012-02-25 16:18:55 -04:00
Joey Hess
b49c0c2633 add annex.alwayscommit option
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.
2012-02-25 15:31:42 -04:00
http://adamspiers.myopenid.com/
638741f49e Added a comment: very nice 2012-02-25 15:02:18 +00:00
Joey Hess
2d5974685f Merge branch 'master' of ssh://git-annex.branchable.com 2012-02-25 10:53:29 -04:00
Joey Hess
df3a310b83 update copyright format url 2012-02-25 10:40:05 -04:00
http://www.joachim-breitner.de/
92236dbdaf Added a comment 2012-02-24 23:09:04 +00:00
Joey Hess
39f3e9e068 update 2012-02-24 17:53:21 -04:00
http://joey.kitenet.net/
0aa7f19c93 Added a comment 2012-02-24 20:52:51 +00:00
Joey Hess
21216becb4 Merge branch 'master' of ssh://git-annex.branchable.com 2012-02-24 16:35:33 -04:00
Joey Hess
bd66f962d3 Deal with NFS problem that caused a failure to remove a directory when 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.
2012-02-24 16:30:47 -04:00
http://www.joachim-breitner.de/
0b19f7c709 2012-02-24 20:28:20 +00:00
Joey Hess
c9b48520cc move misplaced bug report 2012-02-24 15:48:01 -04:00