have init --version fail when repo is already initialized with other version

init: When the repo is already initialized, and --version requests a
different version, error out rather than silently not changing the version.
This commit is contained in:
Joey Hess 2019-08-08 14:12:46 -04:00
parent 65f34ffb4c
commit 70b71bf660
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
3 changed files with 15 additions and 0 deletions

View file

@ -51,6 +51,12 @@ start os = starting "init" (ActionItemOther (Just $ initDesc os)) $
perform :: InitOptions -> CommandPerform
perform os = do
case initVersion os of
Nothing -> noop
Just wantversion -> getVersion >>= \case
Just v | v /= wantversion ->
giveup $ "This repository is already a initialized with version " ++ show (fromRepoVersion v) ++ ", not changing to requested version."
_ -> noop
initialize
(if null (initDesc os) then Nothing else Just (initDesc os))
(initVersion os)