diff options
author | Joey Hess <joey@kitenet.net> | 2012-06-11 10:33:58 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-06-11 10:33:58 -0400 |
commit | 7f70767bfb2ada474274c1dfad0e1a6d60955402 (patch) | |
tree | f9abf52f8f9cc25a334a80cbdd4fb7255df71154 /Command/Uninit.hs | |
parent | 28242b3bf8d75bf5b789830b66b90cec92e296d5 (diff) |
uninit: Refuse to run in a subdirectory. Closes: #677076
Diffstat (limited to 'Command/Uninit.hs')
-rw-r--r-- | Command/Uninit.hs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Command/Uninit.hs b/Command/Uninit.hs index d6283a77d..5724bffd0 100644 --- a/Command/Uninit.hs +++ b/Command/Uninit.hs @@ -23,9 +23,13 @@ def = [addCheck check $ command "uninit" paramPaths seek check :: Annex () check = do - b <- current_branch + b <- current_branch when (b == Annex.Branch.name) $ error $ "cannot uninit when the " ++ show b ++ " branch is checked out" + top <- fromRepo Git.repoPath + cwd <- liftIO getCurrentDirectory + whenM ((/=) <$> liftIO (absPath top) <*> liftIO (absPath cwd)) $ error $ + "can only run uninit from the top of the git repository" where current_branch = Git.Ref . Prelude.head . lines <$> revhead revhead = inRepo $ Git.Command.pipeRead |