summaryrefslogtreecommitdiff
path: root/Utility
Commit message (Collapse)AuthorAge
* couple of AMP warnings I missed beforeGravatar Joey Hess2015-05-10
|
* more {-# OPTIONS_GHC -fno-warn-tabs #-} ... Forcing people who have what is ↵Gravatar Joey Hess2015-05-10
| | | | merely a difference of opinion to you to do this is a bit of an asshole move. Just saying.
* disable horrible tab warning, needed in every file that Setup.hs pulls inGravatar Joey Hess2015-05-10
| | | | | | | | This is certianly a cabal bug for not passing the build options in the cabal file when building Setup.hs. And, why oh why did ghc enable this warning by default? So unhappy with this choice.
* rejigger imports for clean build with ghc 7.10's AMP changesGravatar Joey Hess2015-05-10
| | | | | The explict import Prelude after import Control.Applicative is a trick to avoid a warning.
* FlexibleContexts needed by ghc 7.10Gravatar Joey Hess2015-05-10
|
* switch to Control.Monad.ST to avoid build warning in ghc 7.10Gravatar Joey Hess2015-05-10
|
* Improve quvi 0.4 output parsing to handle cases wher there is no known ↵Gravatar Joey Hess2015-05-08
| | | | filename extension. This is currently the case when using quvi with youtube. In this case, the extension ".m" will be used.
* avoid using relative path from temp dir to dest fileGravatar Joey Hess2015-05-07
| | | | | | | | | | | That failed on OSX. The temp dir was /var/folders/fb/pnwjj52n7fg0r9mnvpsfll180000gr/T/downloadurl and the relative path ../../../../../../Volumes/Visitors/joeyh/git-annex/r/.git/... Didn't work. I have no clue why, how did OSX manage to break this? But, the relative path is longer most of the time anyway, so let's just use the absolute path.
* Replace dataenc with sandi.Gravatar Magnus Therning2015-05-07
| | | | | | The library dataenc is unmaintained and has been superseded by sandi. Signed-off-by: Magnus Therning <magnus@therning.org>
* Support checking ftp urls for file presence.Gravatar Joey Hess2015-05-05
|
* Work around wget bug #784348 which could cause it to clobber git-annex ↵Gravatar Joey Hess2015-05-05
| | | | symlinks when downloading from ftp.
* add more generic interfaceGravatar Joey Hess2015-05-05
|
* revert reversion merged from propellorGravatar Joey Hess2015-04-29
|
* avoid dupicate bracket import errrorGravatar Joey Hess2015-04-29
| | | | | | | | | | Ambiguous occurrence `bracket' It could refer to either `Control.Exception.bracket', imported from `Control.Exception' at Utility/FileMode.hs:14:27-33 (and originally defined in `Control.Exception.Base') or `Utility.Exception.bracket', imported from `Utility.Exception' at Utility/FileMode.hs:22:1-24 (and originally defined in `Control.Monad.Catch')
* merge generalization of writeFileProtected from propellorGravatar Joey Hess2015-04-28
|
* Dropped support for older versions of yesod and warp than the ones in Debian ↵Gravatar Joey Hess2015-04-22
| | | | | | Jessie. 466 lines of compat cruft deleted!
* Removed dependency on haskell SHA library, instead using cryptohash >= 0.11.0.Gravatar Joey Hess2015-04-19
|
* refactorGravatar Joey Hess2015-04-19
|
* removed all uses of undefined from code baseGravatar Joey Hess2015-04-19
| | | | It's a code smell, can lead to hard to diagnose error messages.
* fsck --from remote: When bad content is found in the remote, and the local ↵Gravatar Joey Hess2015-04-18
| | | | repo does not have a copy of the content, preserve the bad content in .git/annex/bad/ to avoid further data loss.
* don't test with null pathsGravatar Joey Hess2015-04-14
|
* fix relPathDirToFileAbs on windows with different drive lettersGravatar Joey Hess2015-04-14
| | | | | | Since we started using this for git repos, when a remote was on another drive, it resulted in a bogus relative path to it being used by git-annex, which didn't work.
* info: Added --bytes option.Gravatar Joey Hess2015-04-12
|
* cleanupGravatar Joey Hess2015-04-09
|
* bring back --quiet filtering of stdout and stderr, with deadlock fixedGravatar Joey Hess2015-04-06
| | | | | | | | | | | | | | | | | | | | | | I don't quite understand the cause of the deadlock. It only occurred when git-annex-shell transferinfo was being spawned over ssh to feed download transfer progress back. And if I removed this line from feedprogressback, the deadlock didn't occur: bytes <- readSV v The problem was not a leaked FD, as far as I could see. So what was it? I don't know. Anyway, this is a nice clean implementation, that avoids the deadlock. Just fork off the async threads to handle filtering the stdout and stderr, and let them clean up their handles whenever they decide to exit. I've verified that the handles do get promptly closed, although a little later than I would expect. Presumably that "little later" is what was making waiting on the threads deadlock. Despite the late exit, the last line of stdout and stderr appears where I'd want it to, so I guess this is ok..
* Fixes a bug in the last release that caused rsync and possibly other ↵Gravatar Joey Hess2015-04-06
| | | | | | | | | | commands to hang at the end of a file transfer. Stderr reader blocks waiting for all stderr, and so blocks the process ever exiting. I tried several ways to get around this, but no success yet. For now, disable the stderr reader entirely.
* relay external special remote stderr through progress suppression machinery ↵Gravatar Joey Hess2015-04-04
| | | | | | | | | | (eep!) It sounds worse than it is. ;) Some external special remotes may run commands that display progress on stderr. If git-annex is run with --quiet, this should filter out such displays while letting the errors through.
* well along the way to fully quiet --quietGravatar Joey Hess2015-04-04
| | | | | | | Came up with a generic way to filter out progress messages while keeping errors, for commands that use stderr for both. --json mode will disable command outputs too.
* make downloadQuiet quiet againGravatar Joey Hess2015-04-03
| | | | This was broken in commit 95418cc430284b65af13105f7c63da08908dd826
* fix stderr handlingGravatar Joey Hess2015-04-03
|
* WIP on making --quiet silence progress, and infra for concurrent progress barsGravatar Joey Hess2015-04-03
|
* rename bothHandles -> ioHandlesGravatar Joey Hess2015-04-03
|
* Significantly sped up processing of large numbers of directories passed to a ↵Gravatar Joey Hess2015-04-02
| | | | | | | | single git-annex command. (try 2) New approach is to do it the expensive way for the first 100 paths on the command line, but then assume the user doesn't care about order too much and fall back to the cheap way that does not preserve order.
* Revert "Significantly sped up processing of large numbers of directories ↵Gravatar Joey Hess2015-04-02
| | | | | | | | | passed to a single git-annex command." This reverts commit 5492d8f4ddbd398e0188da9daed840908d1198c0. Whoops, git ls-files does not always output in the input ordering. That's why all this work is needed. Urk.
* commentGravatar Joey Hess2015-04-02
|
* minor optGravatar Joey Hess2015-04-02
|
* make segmentXargs preserve orderGravatar Joey Hess2015-04-02
|
* Significantly sped up processing of large numbers of directories passed to a ↵Gravatar Joey Hess2015-04-02
| | | | single git-annex command.
* micro-optGravatar Joey Hess2015-04-01
|
* Work around curl bug when asked to download an empty url to a file.Gravatar Joey Hess2015-03-27
| | | | | | | | | | | | | | | | | | | | | In this situation, curl -o exits successfully without creating the output file. There was already a workaround for curl file:/// but I did not realize this also affected regular url downloads. To fix it, pre-create the destination file before starting curl. Since we cannot always know the size of an url before trying to download it, let's always do this. Note that since curl is told -C -, we have to consider if this makes curl try to do a ranged download, which might fail on some servers where a regular download would have succeeded. My testing indicates this isn't a problem; since the file is empty, curl seems to not try to do a ranged download. Original report: https://github.com/datalad/datalad/issues/79 Curl bug report: https://github.com/bagder/curl/issues/183
* update comment for segmentXargsGravatar Joey Hess2015-03-26
|
* metadata: Fix encoding problem that led to mojibake when storing metadata ↵Gravatar Joey Hess2015-03-04
| | | | | | | | | | | | | | | | | | | | | | | | | strings that contained both unicode characters and a space (or '!') character. The fix is to stop using w82s, which does not properly reconstitute unicode strings. Instrad, use utf8 bytestring to get the [Word8] to base64. This passes unicode through perfectly, including any invalid filesystem encoded characters. Note that toB64 / fromB64 are also used for creds and cipher embedding. It would be unfortunate if this change broke those uses. For cipher embedding, note that ciphers can contain arbitrary bytes (should really be using ByteString.Char8 there). Testing indicated it's not safe to use the new fromB64 there; I think that characters were incorrectly combined. For credpair embedding, the username or password could contain unicode. Before, that unicode would fail to round-trip through the b64. So, I guess this is not going to break any embedded creds that worked before. This bug may have affected some creds before, and if so, this change will not fix old ones, but should fix new ones at least.
* fix intentional typo left in after debugging session, broke quvi support ↵Gravatar Joey Hess2015-02-19
| | | | (last release is ok)
* bittorrent: Fix mojibake introduced in parsing arai2c progress output.Gravatar Joey Hess2015-02-10
| | | | | | | | | | | | hGetSomeString reads one byte at a time, so unicode bytes are not composed. The problem comes when outputting that to the console with hPut; that tried to apply the handle's encoding, and so we get mojibake. Instead, use ByteStrings, and only convert it to a string for parsing, not for display. Note that there are a couple of other things that use hGetSomeString, which I've left as-is for now.
* addurl: Avoid crash if quvi is not installed, when git-annex was built with ↵Gravatar Joey Hess2015-02-10
| | | | | | | process-1.2 createProcess has been changed to throw an exception if the program is not in path.
* Windows: Fix bug in dropping an annexed file, which caused a symlink to be ↵Gravatar Joey Hess2015-02-09
| | | | staged that contained backslashes.
* Added MD5 and MD5E backends.Gravatar Joey Hess2015-02-04
|
* Remove support for building without cryptohash.Gravatar Joey Hess2015-02-04
| | | | | This will prevent backporting to wheezy, but it's time to simplify the code.
* import Data.Default in CommonGravatar Joey Hess2015-01-28
|
* addurl: When a Content-Disposition header suggests a filename to use, addurl ↵Gravatar Joey Hess2015-01-22
| | | | will consider using it, if it's reasonable and doesn't conflict with an existing file. (--file overrides this)