Commit graph

3274 commits

Author SHA1 Message Date
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
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
Joey Hess
44b115e0b1 Merge branch 'master' into ghc7.4
Conflicts:
	Utility/Misc.hs
2012-02-03 16:48:40 -04:00
Joey Hess
146c36ca54 IO exception rework
ghc 7.4 comaplains about use of System.IO.Error to catch exceptions.
Ok, use Control.Exception, with variants specialized to only catch IO
exceptions.
2012-02-03 16:47:24 -04:00
Joey Hess
05f89123e0 update; ghc7.4 branch fixes this pretty well now 2012-02-03 16:25:34 -04:00
Joey Hess
d8fb97806c support all filename encodings with ghc 7.4
Under ghc 7.4, this seems to be able to handle all filename encodings
again. Including filename encodings that do not match the LANG setting.
I think this will not work with earlier versions of ghc, it uses some ghc
internals.

Turns out that ghc 7.4 has a special filesystem encoding that it uses when
reading/writing filenames (as FilePaths). This encoding is documented
to allow  "arbitrary undecodable bytes to be round-tripped through it".

So, to get FilePaths from eg, git ls-files, set the Handle that is reading
from git to use this encoding. Then things basically just work.

However, I have not found a way to make Text read using this encoding.
Text really does assume unicode. So I had to switch back to using String
when reading/writing data to git. Which is a pity, because it's some
percent slower, but at least it works.

Note that stdout and stderr also have to be set to this encoding, or
printing out filenames that contain undecodable bytes causes a crash.
IMHO this is a misfeature in ghc, that the user can pass you a filename,
which you can readFile, etc, but that default, putStr of filename may
cause a crash!

Git.CheckAttr gave me special trouble, because the filenames I got back
from git, after feeding them in, had further encoding breakage.
Rather than try to deal with that, I just zip up the input filenames
with the attributes. Which must be returned in the same order queried
for this to work.

Also of note is an apparent GHC bug I worked around in Git.CheckAttr. It
used to forkProcess and feed git from the child process.  Unfortunatly,
after this forkProcess, accessing the `files` variable from the parent
returns []. Not the value that was passed into the function. This screams
of a bad bug, that's clobbering a variable, but for now I just avoid
forkProcess there to work around it. That forkProcess was itself only added
because of a ghc bug, #624389. I've confirmed that the test case for that
bug doesn't reproduce it with ghc 7.4. So that's ok, except for the new ghc
bug I have not isolated and reported. Why does this simple bit of code
magnet the ghc bugs? :)

Also, the symlink touching code is currently broken, when used on utf-8
filenames in a non-utf-8 locale, or probably on any filename containing
undecodable bytes, and I temporarily commented it out.
2012-02-03 16:23:20 -04:00
Joey Hess
fb78107f85 add a check for not utf-8 console 2012-02-03 01:41:14 -04:00
Joey Hess
94caa26883 update 2012-02-02 15:44:22 -04:00
Joey Hess
828df56453 update; newghc-edges branch 2012-02-02 15:41:22 -04:00
Joey Hess
fc8a1d213b update 2012-02-02 10:56:39 -04:00
Joey Hess
39e887e8e6 update; unix-compat gets some of the way 2012-02-02 10:56:23 -04:00
Joey Hess
33fd49703c update 2012-02-02 10:31:56 -04:00
Joey Hess
f2081ad056 update 2012-02-01 22:24:40 -04:00
Joey Hess
b91569ba98 spent 3 hours on this bug; developed two incomplete fixes 2012-02-01 16:26:23 -04:00
Joey Hess
3d49258e5b attempt at a quick, utf-8 only fix to the ghc 7.4 problem
If you have only utf-8 filenames, and need to build git-annex with ghc 7.4,
this will work. But, it will crash on non-utf-8 filenames.
2012-02-01 16:16:08 -04:00
Joey Hess
6c64a214fa add a test case for adding a file with a unicode filename
This fails with ghc 4.7.
2012-01-31 16:34:04 -04:00
Joey Hess
275391b1bf Merge branch 'master' of ssh://git-annex.branchable.com 2012-01-30 21:08:27 -04:00
Joey Hess
ed64bd8a4b remove; unused 2012-01-30 13:20:36 -04:00