enableremote: When enabling a non-special remote, param=value parameters can't be used, so error out if any are provided.

This commit was sponsored by Riku Voipio.
This commit is contained in:
Joey Hess 2017-04-07 13:14:53 -04:00
parent 20b634c82c
commit f406d16525
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
3 changed files with 19 additions and 1 deletions

View file

@ -12,6 +12,8 @@ git-annex (6.20170322) UNRELEASED; urgency=medium
necessary because as feared, the extra -n parameter that git-annex
passes breaks uses of these environment variables that expect exactly
the parameters that git passes.
* enableremote: When enabling a non-special remote, param=value
parameters can't be used, so error out if any are provided.
-- Joey Hess <id@joeyh.name> Wed, 29 Mar 2017 12:41:46 -0400

View file

@ -39,7 +39,10 @@ start (name:rest) = go =<< filter matchingname <$> Annex.fromRepo Git.remotes
matchingname r = Git.remoteName r == Just name
go [] = startSpecialRemote name (Logs.Remote.keyValToConfig rest)
=<< Annex.SpecialRemote.findExisting name
go (r:_) = startNormalRemote name r
go (r:_)
| null rest = startNormalRemote name r
| otherwise = giveup $
"That is a normal git remote; passing these parameters does not make sense: " ++ unwords rest
startNormalRemote :: Git.RemoteName -> Git.Repo -> CommandStart
startNormalRemote name r = do

View file

@ -0,0 +1,13 @@
[[!comment format=mdwn
username="joey"
subject="""comment 1"""
date="2017-04-07T16:54:19Z"
content="""
This does not happen when I do the same thing with a directory special
remote.
I do reproduce it with gcrypt. It must be missing a call to the code that
handles keyid+=.
Thanks for an excellent bug report!
"""]]