summaryrefslogtreecommitdiff
path: root/Utility
Commit message (Collapse)AuthorAge
* restart coprocess in raw modeGravatar Joey Hess2016-11-01
| | | | | | | | | | | Restarting a crashing git process could result in filename encoding issues when not in a unicode locale, as the restarted processes's handles were not read in raw mode. Since rawMode is always used when starting a coprocess, didn't bother to parameterise it and just always enable it for simplicity. This commit was sponsored by Jake Vosloo on Patreon.
* test: Deal with gpg-agent behavior change that broke the test suite.Gravatar Joey Hess2016-10-18
| | | | | | | | gpg-agent started deleting its socket file on shutdown, and this tickled an ugly behavior in removeDirectoryRecursive, https://github.com/haskell/directory/issues/60 Running removeDirectoryRecursive again on exception avoids the problem.
* use System.Directory not Utility.DirectoryGravatar Joey Hess2016-09-22
| | | | | This module does not use isSymbolicLink so avoid depending on extra Utility.* stuff, to make it more easily reused elsewhere.
* avoid needing PartialPreludeGravatar Joey Hess2016-09-22
|
* use takeDirectory instead of parentDirGravatar Joey Hess2016-09-22
| | | | | No need for a trailing slash in the directory here, so avoid pulling in an extra module.
* avoid using split unnecessarilyGravatar Joey Hess2016-09-22
| | | | I'd like to get rid of all uses of Data.String.Utils eventually..
* remove redundant constraintGravatar Joey Hess2016-09-15
|
* Improve gpg secret key list parser to deal with changes in gpg 2.1.15. Fixes ↵Gravatar Joey Hess2016-09-14
| | | | | | | | | | | key name display in webapp. gpg 2.1.15 (or so) seems to have added some new fields to the --with-colons --list-secret-keys output. These include "fpr" and "grp", and come before the "uid" line. So, the parser was giving up before it saw the name. Fix by continuing to look for the uid line until the next "sec" line. This commit was sponsored by Ole-Morten,Duesund on Patreon.
* drop incremental json object display; clean up codeGravatar Joey Hess2016-09-09
| | | | | | | | | | | | | This gets rid of quite a lot of ugly hacks around json generation. I doubt that any real-world json parsers can parse incomplete objects, so while it's not as nice to need to wait for the complete object, especially for commands like `git annex info` that take a while, it doesn't seem worth the added complexity. This also causes the order of fields within the json objects to be reordered. Since any real json parser shouldn't care, the only possible problem would be with ad-hoc parsers of the old json output.
* refactorGravatar Joey Hess2016-09-09
|
* Rate limit console progress display updates to 10 per second. Was updating ↵Gravatar Joey Hess2016-09-08
| | | | as frequently as changes were reported, up to hundreds of times per second, which used unncessary bandwidth when running git-annex over ssh etc.
* avoid deprecation warning from parseUrlGravatar Joey Hess2016-09-07
|
* switch away from deprecated interfaceGravatar Joey Hess2016-09-05
| | | | | Again the new stuff works back to network-2.4, so no need to adjust cabal bounds.
* Windows: Handle shebang in external special remote program.Gravatar Joey Hess2016-09-05
|
* avoid using Strings for JSON output; keep it ByteString throughoutGravatar Joey Hess2016-07-26
|
* Removed dependency on json library; all JSON is now handled by aeson.Gravatar Joey Hess2016-07-26
| | | | | I've eyeballed all --json commands, and the only difference should be that some fields are re-ordered.
* allow using Aeson for streaming JSON outputGravatar Joey Hess2016-07-26
| | | | | | | Keeping Text.JSON use for now, because it seems a better fit for most of the commands, which don't use very structured JSON objects, but just output whatever fields suites them. But this lets Aeson be used when a more structured data type is available to serialize to JSON.
* Support checking presence of content at a http url that redirects to a ftp url.Gravatar Joey Hess2016-07-12
|
* fix cabal configureGravatar Joey Hess2016-07-05
| | | | | MIN_VERSION_base macro is not defined at cabal configure time, so check MIN_VERSION_GLASGOW_HASKELL instead.
* handle SomeAsyncException same as AsyncExceptionGravatar Joey Hess2016-06-20
| | | | | This new class was added to base a while ago; I don't know what uses it, but it's intended to be an async exception, so make sure we don't catch it.
* fix build warning with new version of QuickCheckGravatar Joey Hess2016-06-13
|
* also avoid crashing in most circumstances if unable to determine the usernameGravatar Joey Hess2016-06-08
| | | | | | | | Mostly the username is only used for the git committer or other display purposes, and we can just fall back to a dummy value in these cases. The only remaining place where an error is thrown is when starting local pairing, which needs the username to be known.
* Avoid a crash if getpwuid does not work, when querying the user's full name.Gravatar Joey Hess2016-06-08
|
* split out module to work around badly named symbol in directory-1.2.6.2Gravatar Joey Hess2016-05-22
| | | | | | | Sadly my bug report about this is not going to get fixed it seems, so I have to drag around a whole added module file just to deal with it. https://github.com/haskell/directory/issues/52
* avoid warnings about not exported System.Directory.isSymbolicLinkGravatar Joey Hess2016-04-28
|
* Fix build with directory-1.2.6.2.Gravatar Joey Hess2016-04-28
| | | | | | It started exporting a isSymbolicLink which supports windows. But, git-annex does no use symlinks on windows yet and this conflicts with the function by the same name from unix-compat, so hide it.
* fix build on windows with older ghcGravatar Joey Hess2016-04-08
|
* hard links on windowsGravatar Joey Hess2016-04-08
| | | | | * annex.thin and annex.hardlink are now supported on Windows. * unannex --fast now makes hard links on Windows.
* build without disk-free-space on androidGravatar Joey Hess2016-03-08
|
* merge from propellorGravatar Joey Hess2016-03-06
|
* fix build with old ghcGravatar Joey Hess2016-03-05
|
* another windows build fixGravatar Joey Hess2016-03-05
|
* more windows build fixesGravatar Joey Hess2016-03-05
|
* fix windows build moreGravatar Joey Hess2016-03-05
|
* Merge branch 'no-cbits'Gravatar Joey Hess2016-03-05
|\
* | fix windows buildGravatar Joey Hess2016-03-03
| |
* | fix windows buildGravatar Joey Hess2016-03-03
| |
* | Fix shared lock file FD leak.Gravatar Joey Hess2016-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes behavior in this situation: l1 <- lockShared Nothing "lck" l2 <- lockShared Nothing "lck" dropLock l1 dropLock l2 Before, the lock was dropped upon the second dropLock call, but the fd remained open, and would never be closed while the program was running. Fixed by a rather round-about method, but it should work well enough. It would have been simpler to open open the shared lock once, and not open it again in the second call to lockShared. But, that's difficult to do atomically. This also affects Windows and PID locks, not just posix locks. In the case of pid locks, multiple calls to waitLock within the same process are allowed because the side lock is locked using a posix lock, and so multiple exclusive locks can be taken in the same process. So, this change fixes a similar problem with pid locks. l1 <- waitLock (Seconds 1) "lck" l2 <- waitLock (Seconds 1) "lck" dropLock l1 dropLock l2 Here the l2 side lock fd remained open but not locked, although the pid lock file was removed. After this change, the second dropLock will close both fds to the side lock, and delete the pidlock.
* | commentGravatar Joey Hess2016-03-01
| |
* | Fix bug preventing moving files to/from a repository with annex.pidlock set.Gravatar Joey Hess2016-03-01
| |
* | comment typo fixGravatar Joey Hess2016-03-01
| |
* | remove support for network older than 2.4Gravatar Joey Hess2016-02-23
| | | | | | | | debian stable has 2.4
* | avoid warning on windows buildGravatar Joey Hess2016-02-15
| |
| * move old ghc compat code into separate module; eliminate WITH_CLIBSGravatar Joey Hess2016-02-15
| | | | | | | | | | This avoids hsc2hs being run except when building for the old version of ghc. Should speed up builds.
| * switch from homegrown code to disk-free-spaceGravatar Joey Hess2016-02-15
| | | | | | | | | | | | | | | | According to https://github.com/redneb/disk-free-space/issues/3 , disk-free-space should be at least as portable as my homegrown code was. One change I noticed is, getDiskSize was not implemented for windows in the old code, and should work now.
| * remove Utility.Mounts et al; moved to mountpoints packageGravatar Joey Hess2016-02-15
|/
* deprecatedGravatar Joey Hess2016-02-14
|
* remove unused Read instanceGravatar Joey Hess2016-02-14
|
* better typesGravatar Joey Hess2016-02-14
|
* if keys database cannot be opened due to permissions, ignoreGravatar Joey Hess2016-02-12
| | | | | | This lets readonly repos be used. If a repo is readonly, we can ignore the keys database, because nothing that we can do will change the state of the repo anyway.