diff options
author | Joey Hess <joey@kitenet.net> | 2014-10-15 15:47:49 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2014-10-15 15:47:49 -0400 |
commit | 9a4c5746c2df53f9c385b62a051772f8dd91b1a9 (patch) | |
tree | e1fdf05c330c9102290201c83976e4f3b05cd9a4 | |
parent | a919ef54ff13438d12da75d98015b1299bc9c6ee (diff) |
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.
-rw-r--r-- | Command/InitRemote.hs | 14 | ||||
-rw-r--r-- | debian/changelog | 2 |
2 files changed, 11 insertions, 5 deletions
diff --git a/Command/InitRemote.hs b/Command/InitRemote.hs index e2fc4146d..51ea15373 100644 --- a/Command/InitRemote.hs +++ b/Command/InitRemote.hs @@ -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 - - showStart "initremote" name - next $ perform t name $ M.union config c + 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 + ) ) where config = Logs.Remote.keyValToConfig ws diff --git a/debian/changelog b/debian/changelog index 911b97049..4fafd331a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 |