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:
parent
65f34ffb4c
commit
70b71bf660
3 changed files with 15 additions and 0 deletions
|
@ -15,6 +15,9 @@ git-annex (7.20190731) UNRELEASED; urgency=medium
|
|||
since it needs 64 bit git now.
|
||||
* Build with silently-1.2.5.1 on Windows; the old one used "NUL" which
|
||||
is not supported with recent versions of ghc.
|
||||
* init: When the repo is already initialized, and --version requests a
|
||||
different version, error out rather than silently not changing the
|
||||
version.
|
||||
|
||||
-- Joey Hess <id@joeyh.name> Thu, 01 Aug 2019 00:11:56 -0400
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -9,3 +9,9 @@ I have not managed to reproduce this outside of the test suite.
|
|||
I wonder if perhaps the environment variable that the test suite sets
|
||||
to communicate with itself is not working on Windows, which sometimes
|
||||
has gotchas around environment variables. --[[Joey]]
|
||||
|
||||
Hmm, I reordered the direct mode tests to come first, and the failure went
|
||||
away. Think that .t/repo gets reused, and being already a v7 repo, git annex
|
||||
init --version=7 silently did not change it. (Made that error out.)
|
||||
So the test suite should use different paths for the base repo in each test
|
||||
pass.
|
||||
|
|
Loading…
Reference in a new issue