summaryrefslogtreecommitdiff
path: root/Utility
Commit message (Collapse)AuthorAge
* don't test host in configureGravatar Joey Hess2012-10-30
| | | | That'll fail when building offline.
* build fixGravatar Joey Hess2012-10-29
|
* allow WITH_HOST setting tooGravatar Joey Hess2012-10-28
|
* support using haskell-dns for SRV lookupsGravatar Joey Hess2012-10-28
| | | | | This library should be easier to install than ADNS, so I've made it be used by default.
* 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.
* reconnect XMPP when NetWatcher notices a changeGravatar Joey Hess2012-10-27
|
* Merge branch 'master' into xmppGravatar Joey Hess2012-10-26
|\ | | | | | | | | Conflicts: Assistant/Threads/NetWatcher.hs
| * NetWatcher: When dbus connection is lost, try to reconnect.Gravatar Joey Hess2012-10-26
| | | | | | | | | | | | | | | | MountWatcher can't do this, because it uses the session dbus, and won't have access to the new DBUS_SESSION_BUS_ADDRESS if a new session is started. Bumped dbus library version, FD leak in it is fixed.
* | XMPP configuration formGravatar Joey Hess2012-10-26
| | | | | | | | | | | | Currently relies on SRV being set, or the JID's hostname being the server hostname and the port being default. Future work: Allow manual configuration of user name, hostname, and port.
* | SRV record constructionGravatar Joey Hess2012-10-26
| |
* | hook up SRV lookups for XMPPGravatar Joey Hess2012-10-26
| |
* | Merge branch 'master' into xmppGravatar Joey Hess2012-10-26
|\| | | | | | | | | | | Conflicts: Assistant/Threads/MountWatcher.hs Assistant/Threads/NetWatcher.hs
| * improved dbus error handlingGravatar Joey Hess2012-10-26
| | | | | | | | | | | | | | Now when the dbus connection is dropped, it'll fall back to polling. I could make it try to reconnect, but there's a FD leak in the dbus library, so not yet.
| * Use USER and HOME environment when set, and only fall back to getpwent, ↵Gravatar Joey Hess2012-10-25
| | | | | | | | which doesn't work with LDAP or NIS.
* | add the SRV library, forgot to addGravatar Joey Hess2012-10-25
| |
* | deal with mtl/monads-tf conflictGravatar Joey Hess2012-10-24
|/ | | | | | I had been using -ignore-package monads-tf to deal with this, but the XMPP library uses monads-tf, so that also ignores it. Instead, use PackageImports to force use of mtl in my own code.
* file:/// URLs can now be used with the web special remote.Gravatar Joey Hess2012-10-21
|
* Merge branch 'safesemaphore'Gravatar Joey Hess2012-10-20
|\ | | | | | | | | | | Conflicts: debian/changelog git-annex.cabal
* | better fix for zombie problem, which turns out to be a zombie ssh started by ↵Gravatar Joey Hess2012-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rsync When rsyncProgress pipes rsync's stdout, this turns out to cause a ssh process started by rsync to be left behind as a zombie. I don't know why, but my recent zombie reaping cleanup was correct, it's just that this other zombie, that's not directly started by git-annex, was no longer reaped due to changes in the cleanup. Make rsyncProgress reap the zombie started by rsync, as a workaround. FWIW, the process tree looks like this. It seems like the rsync child is for some reason starting but not waiting on this extra ssh process. Ssh connection caching may be involved -- disabling it seemed to change the shape of the tree, but did not eliminate the zombie. 9378 pts/14 S+ 0:00 | \_ rsync -p --progress --inplace -4 -e 'ssh' '-S' ... 9379 pts/14 S+ 0:00 | | \_ ssh ... 9380 pts/14 S+ 0:00 | | \_ rsync -p --progress --inplace -4 -e 'ssh' '-S' ... 9381 pts/14 Z+ 0:00 | \_ [ssh] <defunct>
* | cleanupGravatar Joey Hess2012-10-16
| |
* | releasing version 3.201210163.20121016Gravatar Joey Hess2012-10-16
| |
* | remove unused functionGravatar Joey Hess2012-10-16
| |
* | avoid partial !! in gpg list-keys parserGravatar Joey Hess2012-10-16
| |
* | Bug fix: A recent change caused git-annex-shell to crash.Gravatar Joey Hess2012-10-15
| |
* | avoid duplicate code with a more generic monadic matcherGravatar Joey Hess2012-10-13
| | | | | | | | | | Interesting type signature ghc derived for this: forall o (m :: * -> *). Monad m => Matcher o -> (o -> m Bool) -> m Bool
* | 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..
* | deal with incompatable api change in network 2.4.0.1Gravatar Joey Hess2012-10-10
| | | | | | | | | | On the cabal side, let's just require this new version, and set -DURI_24 to enable the code using it.
* | wired preferred content up to get, copy, and drop --autoGravatar Joey Hess2012-10-08
| |
| * Merge branch 'master' into safesemaphoreGravatar Joey Hess2012-10-07
| |\ | |/ |/| | | | | Conflicts: debian/changelog
* | look for sysctl in some common sbin locations when it's not in PATHGravatar Joey Hess2012-10-06
| |
| * NotificationBroadcaster: Use SampleVars from SafeSemaphores instead of baseGravatar Ben Gamari2012-10-05
|/ | | | SampleVars from base are unsafe
* 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.
* added preferred-content log, and allow editing it with vicfgGravatar Joey Hess2012-10-04
| | | | | | | | | | | | | | This includes a full parser for the boolean expressions in the log, that compiles them into Matchers. Those matchers are not used yet. A complication is that matching against an expression should never crash git-annex with an error. Instead, vicfg checks that the expressions parse. If a bad expression (or an expression understood by some future git-annex version) gets into the log, it'll be ignored. Most of the code in Limit couldn't fail anyway, but I did have to make limitCopies check its parameter first, and return an error if it's bad, rather than erroring at runtime.
* bring back default SIGINT handlerGravatar Joey Hess2012-10-01
| | | | | | | | | | | | This seems to fix a problem I've recently seen where ctrl-c during rsync leads to `git annex get` moving on to the next thing rather than exiting. Seems likely that started happening with the switch to System.Process (d1da9cf221aeea5c7ac8a313a18b559791a04f12), as the old code took care to install a default SIGINT handler. Note that since the bug was only occurring sometimes, I am not 100% sure I've squashed it, although I seem to have.
* let's not -DOSX, that results in unwanted manglingGravatar Joey Hess2012-09-29
|
* kqueue bugfix: apply pruner to changed filesGravatar Joey Hess2012-09-28
| | | | | It already applied the pruner when traversing directories, so .git is excluded, but .gitignore was not. Now it is.
* retry bindGravatar Joey Hess2012-09-27
| | | | | | This is a workaround for bind failing with EINVAL sometimes on OSX. I don't know why; EVINAL should mean the socket is already bound to an address, but this is with a new socket.
* make the standalone OSX app automatically install itself when runGravatar Joey Hess2012-09-26
|
* Fix fallback to ~/Desktop when xdg-user-dir is not available. Closes: #688833Gravatar Joey Hess2012-09-25
| | | | | Really the fix here is to make Utility.Process only throw IOErrors, which is what I naturally assumed it'd throw.
* New --time-limit option, makes long git-annex commands stop after a ↵Gravatar Joey Hess2012-09-25
| | | | specified amount of time.
* move sticky bit code into Utility.FileModeGravatar Joey Hess2012-09-25
| | | | | | | | | | | Simplified it using existing functions. I doubt setSticky needs to return the FileMode; if it does for some reason, it can be changed to use modifyFileMode' Converted isSticky to a pure function for consistency with isSymlink. Note that the sticky bit of a file can be tested thus: isSticky . fileMode <$> getFileStatus file
* hooked up git-annex-shell transferinfoGravatar Joey Hess2012-09-21
| | | | Finally done with progressbars!
* avoid calling the progress callback when the bytes sent have not changedGravatar Joey Hess2012-09-20
| | | | | Does rsync stall and update its progress display? Dunno, but this was an easy optimisation to throw in.
* watch for changes to transfer info files, to update progress bars on uploadGravatar Joey Hess2012-09-20
| | | | | | | | | | | | | | This is handled differently for inotify, which can track modifications of existing files, and kqueue, which cannot (TTBOMK). On the inotify side, the TransferWatcher just waits for the file to be updated and reads the new bytesComplete. On the kqueue side, the TransferPoller has to re-read the file every update (currently 0.5 seconds, might need to increase that). I did think about working around kqueue's limitations by somehow creating a new file each time the size changed. But cleaning up all the files that would result seemed difficult. And really, this is not a lot worse than the TransferWatcher's behavior for downloads, which stats a file every 0.5 seconds. As long as the OS has decent file caching behavior..
* optimised rsync output reader to read whole blocks at a timeGravatar Joey Hess2012-09-20
|
* updateGravatar Joey Hess2012-09-20
|
* better parameter nameGravatar Joey Hess2012-09-19
|
* rsync progress interceptionGravatar Joey Hess2012-09-19
| | | | | | | | Current implementation parses rsync's output a character a time, which is hardly efficient. It could be sped up a lot by using hGetBufSome, but that would require going really lowlevel, down to raw C style buffers (good example of that here: http://users.aber.ac.uk/afc/stricthaskell.html) But rsync doesn't output very much, so currently it seems ok.
* parser for rsync progress outputGravatar Joey Hess2012-09-19
|