Joey Hess [Wed, 4 Mar 2020 17:04:56 +0000 (13:04 -0400)]
Linux standalone: Use md5sum to shorten paths in .cache/git-annex/locales
md5sum is part of busybox, so is probably available unless it were compiled
out. If md5sum (or cut for that matter) is not available, it will
still use the whole path to $base, otherwise hash it.
Of course it's possible for md5sum to be available sometimes and not others
on the same system; in such an event the locales would be built twice for
the same bundle. The cleanup code will delete both sets once that
version of the bundle is upgraded.
Joey Hess [Mon, 2 Mar 2020 19:50:40 +0000 (15:50 -0400)]
git-annex config: guard against non-repo-global configs
git-annex config: Only allow configs be set that are ones git-annex
actually supports reading from repo-global config, to avoid confused users
trying to set other configs with this.
Peter Simons [Fri, 28 Feb 2020 10:56:48 +0000 (11:56 +0100)]
Fix build with ghc-8.8.x.
The 'fail' method has been moved to the 'MonadFail' class. I made the changes
so that the code still compiles with previous versions of 'base' that don't
have the new MonadFail class exported by Prelude yet.
Joey Hess [Thu, 27 Feb 2020 18:09:18 +0000 (14:09 -0400)]
catch whereisKey exception and provide error messages when external programs neglect to
* whereis: If a remote fails to report on urls where a key
is located, display a warning, rather than giving up and not displaying
any information.
* When external special remotes fail but neglect to provide an error
message, say what request failed, which is better than displaying an
empty error message to the user.
debian/: declare breaks until yet to be released datalad 0.12.3
This is due to upcoming release with API breakage:
* add: Removed the --include-dotfiles option.
which is used in the core of datalad. Such breakage is yet to be mitigated
on DataLad side. Relevant issue: https://github.com/datalad/datalad/issues/4185
Joey Hess [Thu, 27 Feb 2020 05:06:35 +0000 (01:06 -0400)]
rename changeGitConfig to overrideGitConfig and avoid unncessary calls
It's important that it be clear that it overrides a config, such that
reloading the git config won't change it, and in particular, setConfig
won't change it.
Most of the calls to changeGitConfig were actually after setConfig,
which was redundant and unncessary. So removed those.
The only remaining one, besides --debug, is in the handling of
repository-global config values. That one's ok, because the
way mergeGitConfig is implemented, it does not override any value that
is set in git config. If a value with a repo-global setting was passed
to setConfig, it would set it in the git config, reload the git config,
re-apply mergeGitConfig, and use the newly set value, which is the right
thing.