Commit graph

3290 commits

Author SHA1 Message Date
Joey Hess
a2f241d503 fix LsFiles.typeChanged paths
Passing absolute paths to Command.Add used to work, but after recent
changes doesn't. All LsFiles should use relative paths anyway, so fix it
there.
2012-02-14 00:22:42 -04:00
Joey Hess
cbaebf538a rework git check-attr interface
Now gitattributes are looked up, efficiently, in only the places that
really need them, using the same approach used for cat-file.

The old CheckAttr code seemed very fragile, in the way it streamed files
through git check-attr.
I actually found that cad8824852
was still deadlocking with ghc 7.4, at the end of adding a lot of files.
This should fix that problem, and avoid future ones.

The best part is that this removes withAttrFilesInGit and withNumCopies,
which were complicated Seek methods, as well as simplfying the types
for several other Seek methods that had a Backend tupled in.
2012-02-13 23:52:21 -04:00
Joey Hess
d35a8d85b5 another place hGetBoth was used without a writer thread 2012-02-13 20:23:45 -04:00
Joey Hess
cad8824852 thinko
I removed the now unnecessary forkProcess, but forgot to change back to
pipeBoth, so there was no writer thread.
2012-02-13 20:01:37 -04:00
Joey Hess
0ef6d86873 force state strictly
When converting to the strict state monad, I missed this place where
thunks to the state could be built up, possibly. This seems to make
it run in some percentage less memory.
2012-02-13 16:59:00 -04:00
Joey Hess
59b2adea4f changelog for a964012fc3
Turns out that commit really made some serious improvements to memory use.
With the lazy state monad, git-annex add in a huge tree grew seemingly
without bound until it overflowed the stack. With the strict monad,
it uses 42 mb max.

It's possible another change since the 3.20120123 release fixed that,
but a964012fc3 seems most likely.
2012-02-13 16:58:58 -04:00
Joey Hess
3ac2677e00 comment typo 2012-02-13 16:58:26 -04:00
Joey Hess
ecfcb41abe work around Network.Browser bug that converts a HEAD to a GET when following a redirect
The code explicitly switches from HEAD to GET for most redirects.
Possibly because someone misread a spec (which does require switching from
POST to GET for 303 redirects). Or possibly because the spec really is that
bad. Upstream bug: https://github.com/haskell/HTTP/issues/24

Since we absolutely don't want to download entire (large) files from
the web when checking that they exist with HEAD, I wrote my own redirect
follower, based closely on the one used by Network.Browser, but without
this misfeature.

Note that Network.Browser checks that the redirect url is a http url
and fails if not. I don't, because I want to not need to change this
code when it gets https support (related: I'm surprised to see it
doesn't support https yet..). The check does not seem security significant;
it doesn't support file:// urls for example. If a http url is redirected
to https, the Network.Browser will actually make a http connection again.
This could loop, but only up to 5 times.
2012-02-10 21:54:25 -04:00
Joey Hess
6335abcab2 doc update 2012-02-10 20:40:18 -04:00
Joey Hess
a3ebf16e62 also verify new urls when adding them to existing files 2012-02-10 19:40:54 -04:00
Joey Hess
17fed709c8 addurl --fast: Verifies that the url can be downloaded (only getting its head), and records the size in the key. 2012-02-10 19:23:46 -04:00
Joey Hess
9030f68452 When checking that an url has a key, verify that the Content-Length, if available, matches the size of the key.
If there's no Content-Length, or the key has no size, this check is not
done, but it should happen most of the time, and protect against web
content that has changed.
2012-02-10 19:23:41 -04:00
Joey Hess
fa77d9486d Merge branch 'master' of ssh://git-annex.branchable.com 2012-02-09 21:53:51 -04:00
Joey Hess
d55f3c0716 Fix teardown of stale cached ssh connections. 2012-02-09 21:49:46 -04:00
Joey Hess
e4d0923544 wording 2012-02-09 17:35:36 -04:00
http://joey.kitenet.net/
4ccc01922f Added a comment 2012-02-09 19:42:28 +00:00
http://peter-simons.myopenid.com/
4b4b887d8d Added a comment 2012-02-09 18:53:04 +00:00
http://peter-simons.myopenid.com/
df3be73080 How to expire old versions of files that have been edited? 2012-02-09 18:31:03 +00:00
Joey Hess
1c0bd81ba6 addurl: Normalize badly encoded urls. 2012-02-09 14:19:58 -04:00
Joey Hess
ac97454659 improve error message 2012-02-08 15:49:42 -04:00
Joey Hess
ef013506cb addurl: Added a --file option
Can be used to specify what file the url is added to. This can be used to
override the default filename that is used when adding an url, which is
based on the url. Or, when the file already exists, the url is recorded as
another location of the file.
2012-02-08 15:35:29 -04:00
Joey Hess
57a747d081 S3: Fix irrefutable pattern failure when accessing encrypted S3 credentials. 2012-02-08 11:41:15 -04:00
Joey Hess
995bf51e10 correction 2012-02-07 16:52:39 -04:00
Joey Hess
2dcce5a8bb merged ghc 7.4 support into master 2012-02-07 14:15:37 -04:00
Joey Hess
b51d7de608 Merge branch 'ghc7.4' 2012-02-07 14:12:39 -04:00
Joey Hess
b8140f3fc2 list of git branches 2012-02-07 14:10:17 -04:00
Joey Hess
1338922f9e add a tip about using git's assume-unchanged feature to optimize large trees 2012-02-07 14:09:54 -04:00
Joey Hess
7d04f3ad58 Merge branch 'master' into ghc7.4 2012-02-07 14:09:23 -04:00
Joey Hess
b9b72d22a9 refactor
Wow, triple monadic lift!
2012-02-07 01:40:14 -04:00
Joey Hess
0ad5d8168f add a bug template 2012-02-06 21:38:05 -04:00
Joey Hess
679e2567d0 add a bug template 2012-02-06 21:37:44 -04:00
Joey Hess
3f4f96228e changelog 2012-02-06 20:42:49 -04:00
Joey Hess
a81297065d use "known" instead of "visible"
I think it's clearer, also it's the same length as "local" :)
2012-02-06 20:42:49 -04:00
Joey Hess
a6c4b10771 add news item 2012-02-06 20:42:48 -04:00
Joey Hess
a84d50a1ed exception update in test too 2012-02-06 20:42:48 -04:00
Joey Hess
5a82c0dee7 add a tip about using git's assume-unchanged feature to optimize large trees 2012-02-06 20:42:48 -04:00
Joey Hess
edcd3123d5 list of git branches 2012-02-06 20:42:48 -04:00
Joey Hess
e2bcf1717e already done 2012-02-06 20:34:07 -04:00
Joey Hess
2180e00e12 Merge remote-tracking branch 'origin/master' 2012-02-06 20:33:13 -04:00
http://jefferai.org/
5e59440533 2012-02-07 00:18:24 +00:00
Joey Hess
e066fa3884 use "known" instead of "visible"
I think it's clearer, also it's the same length as "local" :)
2012-02-06 14:19:44 -04:00
Joey Hess
10876ca59e wording 2012-02-04 16:37:55 -04:00
Joey Hess
90ab17e153 remove old comment 2012-02-04 16:34:13 -04:00
Joey Hess
91fc975964 note 7.4 needed 2012-02-04 14:51:52 -04:00
Joey Hess
56470ce3e5 really fix foreign C functions filename encodings
GHC should probably export withFilePath.
2012-02-04 14:30:28 -04:00
Joey Hess
dc682e53a2 use fileEncoding for git-update-index input handle 2012-02-04 13:03:33 -04:00
Joey Hess
586be39952 fix file encoding of HashObject 2012-02-04 13:01:00 -04:00
Joey Hess
f1c7dc1212 fix touch and statfs to work on any files in any locale
Use withCAString rather than withCString.

XXX Actually, this only works in non-unicode locales when presented with
unicode characters. Help?
2012-02-04 12:44:51 -04:00
Joey Hess
2385fe3c4c add news item 2012-02-04 01:59:53 -04:00
Joey Hess
97db2f945a exception update in test too 2012-02-03 16:57:07 -04:00