From 5c706d1ec48172f98e1826684ab380a69079b66a Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 22 Jun 2011 16:02:43 -0400 Subject: stop undoing gitattributes on uninit v2 upgrade will undo them --- Upgrade/V2.hs | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 Upgrade/V2.hs (limited to 'Upgrade/V2.hs') diff --git a/Upgrade/V2.hs b/Upgrade/V2.hs new file mode 100644 index 000000000..deb231d52 --- /dev/null +++ b/Upgrade/V2.hs @@ -0,0 +1,48 @@ +{- git-annex v2 -> v2 upgrade support + - + - Copyright 2011 Joey Hess + - + - Licensed under the GNU GPL version 3 or higher. + -} + +module Upgrade.V1 where + +import System.IO.Error (try) +import System.Directory +import Control.Monad.State (liftIO) +import Control.Monad (filterM, forM_, unless) +import System.Posix.Files +import System.FilePath +import Data.String.Utils +import System.Posix.Types +import Data.Maybe +import Data.Char + +import Types.Key +import Content +import Types +import Locations +import LocationLog +import qualified Annex +import qualified AnnexQueue +import qualified GitRepo as Git +import Backend +import Messages +import Version +import Utility +import qualified Command.Init + +{- Old .gitattributes contents, not needed anymore. -} +attrLines :: [String] +attrLines = + [ stateDir "*.log merge=union" + , stateDir "*/*/*.log merge=union" + ] + +gitAttributesUnWrite :: Git.Repo -> IO () +gitAttributesUnWrite repo = do + let attributes = Git.attributes repo + whenM (doesFileExist attributes) $ do + c <- readFileStrict attributes + safeWriteFile attributes $ unlines $ + filter (\l -> not $ l `elem` attrLines) $ lines c -- cgit v1.2.3