initremote: Don't allow creating a special remote that has the same name as an existing git remote.

This is not a complete fix. For one, git remote will happily go add a
remote that has the same name as an existing special remote. For another,
enableremote will enable a special remote over top of an existing git
remote. And, also, the webapp might.
This commit is contained in:
Joey Hess 2014-10-15 15:47:49 -04:00
parent 0a142fdd83
commit fe5e25eec7
2 changed files with 10 additions and 4 deletions

View file

@ -33,11 +33,15 @@ start (name:ws) = ifM (isJust <$> findExisting name)
( error $ "There is already a special remote named \"" ++ name ++
"\". (Use enableremote to enable an existing special remote.)"
, do
let c = newConfig name
t <- findType config
ifM (isJust <$> Remote.byNameOnly name)
( error $ "There is already a remote named \"" ++ name ++ "\""
, do
let c = newConfig name
t <- findType config
showStart "initremote" name
next $ perform t name $ M.union config c
showStart "initremote" name
next $ perform t name $ M.union config c
)
)
where
config = Logs.Remote.keyValToConfig ws

2
debian/changelog vendored
View file

@ -4,6 +4,8 @@ git-annex (5.20141014) UNRELEASED; urgency=medium
before it has no effect.
* Remove hurd stuff from cabal file, since hackage currently rejects
it.
* initremote: Don't allow creating a special remote that has the same
name as an existing git remote.
-- Joey Hess <joeyh@debian.org> Tue, 14 Oct 2014 14:09:24 -0400