aboutsummaryrefslogtreecommitdiff
path: root/Utility/Process.hs
Commit message (Collapse)AuthorAge
* finally really add back custom-setup stanzaGravatar Joey Hess2017-12-31
| | | | | | | | | | | | Fourth or fifth try at this and finally found a way to make it work. Absurd amount of busy-work forced on me by change in cabal's behavior. Split up Utility modules that need posix stuff out of ones used by Setup. Various other hacks around inability for Setup to use anything that ifdefs a use of unix. Probably lost a full day of my life to this. This is how build systems make their users hate them. Just saying.
* simpler more generic processTranscript'Gravatar Joey Hess2017-02-15
| | | | | | | | This allows using functions that generate CreateProcess and passing the result to processTranscript', which is more flexible, and also simpler than the old interface. This commit was sponsored by Riku Voipio.
* merge from propellorGravatar Joey Hess2016-03-06
|
* Revert "convert fail to error"Gravatar Joey Hess2016-01-24
| | | | | | | | | | This reverts commit 7f5fc3ec8f2d274c068e5662d04233bc0169c740. That changed the type of error from an IOError to something else, so broke stuff that was catching IOErrors. So back to a UserError, but be explicit this time that's what it's throwing.
* convert fail to errorGravatar Joey Hess2016-01-21
| | | | | | | | | Using fail here causes a "user error" exception to be thrown, which implies the user is at fault in its wording, which is incorrect. Also audited for other uses of fail in git-annex; the others are in monadic contexts where fail may not throw an exception, and involve user input, so kept them as-is.
* merge from propellorGravatar Joey Hess2015-10-28
|
* Merge branch 'winprocfix'Gravatar Joey Hess2015-10-04
|\
* | merge hlint changes from propellorGravatar Joey Hess2015-09-13
| |
| * webapp: Fix support for entering password when setting up a ssh remote.Gravatar Joey Hess2015-09-03
|/
* add debug logging of process exitsGravatar Joey Hess2015-08-13
| | | | | | | | | | This is mostly to be able to see how long a command took to run. Also exit code may be useful. Unofrtunately, I can't put the command name in there, because it's not available at this point, and it would be a much larger change to wrap the ProcessHandle data type to add that. However, it's generally pretty obvious which process exited from context.
* merge haddock formatting from propellorGravatar Joey Hess2015-05-30
|
* 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.
* 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.
* 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
|
* Fix build with process 1.2.1.0.Gravatar Joey Hess2015-01-04
|
* more general readProcess' merged from propellorGravatar Joey Hess2014-11-19
|
* lift types from IO to AnnexGravatar Joey Hess2014-07-29
| | | | | | | | | | | Some remotes like External need to run store and retrieve actions in Annex, not IO. In order to do that lift, I had to dive pretty deep into the utilities, making Utility.Gpg and Utility.Tmp be partly converted to using MonadIO, and Control.Monad.Catch for exception handling. There should be no behavior changes in this commit. This commit was sponsored by Michael Barabanov.
* export CreateProcess fields from Utility.ProcessGravatar Joey Hess2014-06-10
| | | | update code to avoid cwd and env redefinition warnings
* refactorGravatar Joey Hess2014-05-14
|
* relicense general utility library code to BSDGravatar Joey Hess2014-05-10
| | | | | Omitted a couple of files what have had significant contributions from others.
* sync, assistant, remotedaemon: Use ssh connection caching for git pushes and ↵Gravatar Joey Hess2014-04-12
| | | | | | | | | | | | | | | | | pulls. For sync, saves 1 ssh connection per remote. For remotedaemon, the same ssh connection that is already open to run git-annex-shell notifychanges is reused to pull from the remote. Only potential problem is that this also enables connection caching when the assistant syncs with a ssh remote. Including the sync it does when a network connection has just come up. In that case, cached ssh connections are likely to be stale, and so using them would hang. Until I'm sure such problems have been dealt with, this commit needs to stay on the remotecontrol branch, and not be merged to master. This commit was sponsored by Alexandre Dupas.
* port transferkeys to windows; make stopping in progress transfers work too ↵Gravatar Joey Hess2013-12-10
| | | | | | | | | | | | | | | (probably) transferkeys had used special FDs for communication, but that would be quite annoying to do in Windows. Instead, use stdin and stdout. But, to avoid commands like rsync stomping on them and messing up the communications channel, they're duplicated to a different handle; stdin is replaced with a null handle, and stdout is replaced with a copy of stderr. This should all work in windows too. Stopping in progress transfers may work on windows.. if the types unify anyway. ;) May need some more porting.
* oopGravatar Joey Hess2013-12-06
|
* oopGravatar Joey Hess2013-12-06
|
* pass COLLECT_GCC_OPTIONSGravatar Joey Hess2013-12-06
|
* refactorGravatar Joey Hess2013-11-12
|
* squash warningGravatar Joey Hess2013-11-12
|
* fix import for WindowsGravatar Joey Hess2013-11-12
|
* port processTranscript to Windows (suboptimal implementation)Gravatar Joey Hess2013-11-12
|
* git-recover-repository 1/2 doneGravatar Joey Hess2013-10-20
|
* avoid more build warnings on WindowsGravatar Joey Hess2013-08-04
|
* Slow and ugly work around for bug #718517 in git, which broke git-cat-file ↵Gravatar Joey Hess2013-08-01
| | | | | | | | | | | | | --batch for filenames containing spaces. This runs git-cat-file in non-batch mode for all files with spaces. If a directory tree has a lot of them, and is in direct mode, even "git annex add" when there are few new files will need a *lot* of forks! The only reason buffering the whole file content to get the sha is not a memory leak is that git-annex only ever uses this on symlinks. This needs to be reverted as soon as a fix is available in git!
* reorgGravatar Joey Hess2013-07-08
|
* make withQuietOutput work on WindowsGravatar Joey Hess2013-06-17
|
* Windows: Fix hang when adding several files at once.Gravatar Joey Hess2013-06-14
|
* Fix a zombie that could result when running a process like gpg to read and ↵Gravatar Joey Hess2013-05-19
| | | | write to it.
* fix permission damage (thanks, Windows)Gravatar Joey Hess2013-05-11
|
* fixup #if 0 stubs to use #ifndef mingw32_HOST_OSGravatar Joey Hess2013-05-10
| | | | | | That's needed in files used to build the configure program. For the other files, I'm keeping my __WINDOWS__ define, as I find that much easier to type. I may search and replace it to use the mingw32_HOST_OS thing later.
* stub out posix stuff for WindowsGravatar Joey Hess2013-05-10
| | | | This is enough to let the configure program build.
* webapp: Display any error message from git init if it fails to create a ↵Gravatar Joey Hess2013-02-26
| | | | repository.
* finished where indentation changesGravatar Joey Hess2012-12-13
|
* progress bars for glacier uploadsGravatar Joey Hess2012-11-25
|
* cleanupGravatar Joey Hess2012-11-06
|
* rsync special remote: Include annex-rsync-options when running rsync to test ↵Gravatar Joey Hess2012-10-28
| | | | | | | a key's presence. Also, use the new withQuietOutput function to avoid running the shell to /dev/null stderr in two other places.
* Fix a crash when merging files in the git-annex branch that contain invalid ↵Gravatar Joey Hess2012-10-12
| | | | | | | utf8. The crash actually occurred when writing out the file, which was done to a handle that had not had fileSystemEncoding applied to it.
* remove env display from debuggingGravatar Joey Hess2012-10-11
| | | | TMI when full env is passed in and modified..
* make a pipeReadStrict, that properly waits on the processGravatar Joey Hess2012-10-04
| | | | | | Nearly everything that's reading from git is operating on a small amount of output and has been switched to use that. Only pipeNullSplit stuff continues using the lazy version that yields zombies.