diff options
author | Joey Hess <joey@kitenet.net> | 2011-08-17 14:14:43 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-08-17 14:44:31 -0400 |
commit | 56f6923ccbc6fb1932137b53458a4cece47e69b0 (patch) | |
tree | a2c9a949f2c6c5163551a76f4012e7606e3c1463 /Command/Init.hs | |
parent | 3b5f7221305ba6e768711d8326a01b78fb1e4f79 (diff) |
Now "git annex init" only has to be run once
when a git repository is first being created. Clones will automatically
notice that git-annex is in use and automatically perform a basic
initalization. It's still recommended to run "git annex init" in any
clones, to describe them.
Diffstat (limited to 'Command/Init.hs')
-rw-r--r-- | Command/Init.hs | 38 |
1 files changed, 3 insertions, 35 deletions
diff --git a/Command/Init.hs b/Command/Init.hs index 71e87050d..019106051 100644 --- a/Command/Init.hs +++ b/Command/Init.hs @@ -7,19 +7,13 @@ module Command.Init where -import Control.Monad.State (liftIO) -import Control.Monad (when, unless) -import System.Directory +import Control.Monad (when) import Command import qualified Annex -import qualified Git -import qualified Branch import UUID -import Version import Messages -import Types -import Utility +import Init command :: [Command] command = [standaloneCommand "init" paramDesc seek @@ -39,34 +33,8 @@ start ws = do perform :: String -> CommandPerform perform description = do - Branch.create + initialize g <- Annex.gitRepo u <- getUUID g - setVersion describeUUID u description - unless (Git.repoIsLocalBare g) $ - gitPreCommitHookWrite g next $ return True - -{- set up a git pre-commit hook, if one is not already present -} -gitPreCommitHookWrite :: Git.Repo -> Annex () -gitPreCommitHookWrite repo = do - exists <- liftIO $ doesFileExist hook - if exists - then warning $ "pre-commit hook (" ++ hook ++ ") already exists, not configuring" - else liftIO $ do - viaTmp writeFile hook preCommitScript - p <- getPermissions hook - setPermissions hook $ p {executable = True} - where - hook = preCommitHook repo - -preCommitHook :: Git.Repo -> FilePath -preCommitHook repo = - Git.workTree repo ++ "/" ++ Git.gitDir repo ++ "/hooks/pre-commit" - -preCommitScript :: String -preCommitScript = - "#!/bin/sh\n" ++ - "# automatically configured by git-annex\n" ++ - "git annex pre-commit .\n" |