summaryrefslogtreecommitdiff
path: root/Config
Commit message (Collapse)AuthorAge
* use DynamicConfig to handle cost-commandGravatar Joey Hess2017-08-17
| | | | This commit was sponsored by Jake Vosloo on Patreon.
* add annex-ignore-command and annex-sync-command configsGravatar Joey Hess2017-08-17
| | | | | | | | | | | | | | | | Added remote configuration settings annex-ignore-command and annex-sync-command, which are dynamic equivilants of the annex-ignore and annex-sync configurations. For this I needed a new DynamicConfig infrastructure. Its implementation should be as fast as before when there is no dynamic config, and it caches so shell commands are only run once. Note that annex-ignore-command exits nonzero when the remote should be ignored. While that may seem backwards, it allows using the same command for it as for annex-sync-command when you want to disable both. This commit was sponsored by Trenton Cronholm on Patreon.
* annex.autocommit can be configured via git-annex configGravatar Joey Hess2017-02-03
| | | | | | | | | | | | | | | | | ... to control the default behavior in all clones of a repository. This includes a new Configurable data type, so the GitConfig type indicates which values can be configured this way. The implementation should be quite efficient; the config log is only read once, and only when a Configurable value has not already been set by git-config. Indeed, it would be nice in the future to extend this, so that git-config is itself only read on demand. Some commands may not need to look at the git configuration at all. This commit was sponsored by Trenton Cronholm on Patreon.
* Avoid backtraces on expected failures when built with ghc 8; only use ↵Gravatar Joey Hess2016-11-15
| | | | | | | | | | | | | backtraces for unexpected errors. ghc 8 added backtraces on uncaught errors. This is great, but git-annex was using error in many places for a error message targeted at the user, in some known problem case. A backtrace only confuses such a message, so omit it. Notably, commands like git annex drop that failed due to eg, numcopies, used to use error, so had a backtrace. This commit was sponsored by Ethan Aubin.
* webapp: Fix bugs that could result in a relative path such as "." being ↵Gravatar Joey Hess2015-12-02
| | | | | | | | written to ~/.config/git-annex/autostart and ignore any such relative paths in the file This was a reversion caused by the relative path changes in 5.20150113.
* 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.
* refactorGravatar Joey Hess2015-04-30
|
* info dir: Added information about repositories that contain files in the ↵Gravatar Joey Hess2015-04-12
| | | | | | | | | | | specified directory. This is a nearly free feature; it piggybacks on the location log lookups done for the numcopies stats. So, the only extra overhead is updating the map of repository sizes. However, I had to switch to Data.Map.Strict, which needs containers 0.5. If backporting to wheezy, will probably need to revert this commit.
* make programPath return FilePath not Maybe FilePathGravatar Joey Hess2015-02-28
| | | | | Looking at the few current callers, it's ok to have programPath throw an exception, in the unusual case where it cannot find git-annex.
* update my email address and homepage urlGravatar Joey Hess2015-01-21
|
* revert parentDir changeGravatar Joey Hess2015-01-09
| | | | | | | | Reverts 2bba5bc22d049272d3328bfa6c452d3e2e50e86c Unfortunately, this caused breakage on Windows, and possibly elsewhere, because parentDir and takeDirectory do not behave the same when there is a trailing directory separator.
* made parentDir return a Maybe FilePath; removed most uses of itGravatar Joey Hess2015-01-06
| | | | | | | | parentDir is less safe than takeDirectory, especially when working with relative FilePaths. It's really only useful in loops that want to terminate at / This commit was sponsored by Audric SCHILTKNECHT.
* fix some mixed space+tab indentationGravatar Joey Hess2014-10-09
| | | | | | | | | This fixes all instances of " \t" in the code base. Most common case seems to be after a "where" line; probably vim copied the two space layout of that line. Done as a background task while listening to episode 2 of the Type Theory podcast.
* reorgGravatar Joey Hess2014-01-21
|
* move programPath out of Config.Files to Annex.PathGravatar Joey Hess2013-11-24
| | | | | | | | This works around horribleness in the Mavericks cpp, which falls over on the #if when configure is running. Moving it avoids the file being built at that point. But it's also a location that makes sense..
* watch git-annex program file to detect upgradesGravatar Joey Hess2013-11-22
| | | | | | | | | | | | | | | | | | | | | | | | Not yet wired up to restart the assistant on upgrade; that needs careful sanity checking to wait until the upgrade is done before restarting. Used the DirWatcher here, so it gets events for any changes to the directory containing the program file. (But not subdirs.) This is necessary in order to detect when the file is renamed as part of the upgrade, which an inotify on a single file would not detect. (Also, I have DirWatcher code, but not FileWatcher code.) Note that upgrades that remove or rename a whole directory tree containing the executable will *not* trigger this code. So eg, deleting and replacing the whole standalone tarball dir tree won't work -- but untarring it over top will. So should dpkg package upgrades. Added programPath, using a new GHC feature to find the full path to the executable. The fallback code for old GHC or unsupported OS is less good; its worst failure mode would be either failing to find the program, and so not checking for upgrades, or finding a git-annex that's in PATH, but is not the one running. This commit was sponsored by John Roepke.
* hlintGravatar Joey Hess2013-09-25
| | | | test suite still passes
* webapp: When the user switches to display a different repository, that ↵Gravatar Joey Hess2013-06-11
| | | | repository becomes the default repository to be displayed next time the webapp gets started.
* Detect bad content in ~/.config/git-annex/program and look in PATH instead.Gravatar Joey Hess2013-05-20
|
* rename moduleGravatar Joey Hess2013-05-12
|
* better autostart file modificationGravatar Joey Hess2013-04-23
| | | | | | | | As well as just being nicer, and less code, this uses nubBy equalFilePath to ensure that the autostart file never gets dups. Also, removing from the file no longer needs to be a perfect string match; it also uses equalFilePath.
* strip newlines in programfileGravatar Joey Hess2013-04-23
| | | | | | Indeed, ignore lines after the first. Use might create it with echo..
* rename moduleGravatar Joey Hess2013-04-23
|
* minor robustness fixes in repo cost reordering codeGravatar Joey Hess2013-03-18
|
* better costBetween; avoid unnecessary fractional valuesGravatar Joey Hess2013-03-14
|
* split cost out into its own moduleGravatar Joey Hess2013-03-13
Added a function to insert a new cost into a list, which could be used to asjust costs after a drag and drop.