diff options
Diffstat (limited to 'Annex')
-rw-r--r-- | Annex/MetaData.hs | 17 | ||||
-rw-r--r-- | Annex/MetaData/StandardFields.hs | 38 |
2 files changed, 44 insertions, 11 deletions
diff --git a/Annex/MetaData.hs b/Annex/MetaData.hs index 68aef33f1..f382f0ab1 100644 --- a/Annex/MetaData.hs +++ b/Annex/MetaData.hs @@ -5,11 +5,15 @@ - Licensed under the GNU GPL version 3 or higher. -} -module Annex.MetaData where +module Annex.MetaData ( + genMetaData, + module X +) where import Common.Annex import qualified Annex -import Types.MetaData +import Types.MetaData as X +import Annex.MetaData.StandardFields as X import Logs.MetaData import Annex.CatFile @@ -19,15 +23,6 @@ import Data.Time.Calendar import Data.Time.Clock import Data.Time.Clock.POSIX -tagMetaField :: MetaField -tagMetaField = mkMetaFieldUnchecked "tag" - -yearMetaField :: MetaField -yearMetaField = mkMetaFieldUnchecked "year" - -monthMetaField :: MetaField -monthMetaField = mkMetaFieldUnchecked "month" - {- Adds metadata for a file that has just been ingested into the - annex, but has not yet been committed to git. - diff --git a/Annex/MetaData/StandardFields.hs b/Annex/MetaData/StandardFields.hs new file mode 100644 index 000000000..00b810593 --- /dev/null +++ b/Annex/MetaData/StandardFields.hs @@ -0,0 +1,38 @@ +{- git-annex metadata, standard fields + - + - Copyright 2014 Joey Hess <joey@kitenet.net> + - + - Licensed under the GNU GPL version 3 or higher. + -} + +module Annex.MetaData.StandardFields ( + tagMetaField, + yearMetaField, + monthMetaField, + lastChangedField, + isLastChangedField +) where + +import Types.MetaData + +import Data.List + +tagMetaField :: MetaField +tagMetaField = mkMetaFieldUnchecked "tag" + +yearMetaField :: MetaField +yearMetaField = mkMetaFieldUnchecked "year" + +monthMetaField :: MetaField +monthMetaField = mkMetaFieldUnchecked "month" + +lastChangedField :: MetaField -> MetaField +lastChangedField f = mkMetaFieldUnchecked (fromMetaField f ++ lastchanged) + +isLastChangedField :: MetaField -> Bool +isLastChangedField f = lastchanged `isSuffixOf` s && s /= lastchanged + where + s = fromMetaField f + +lastchanged :: String +lastchanged = "-lastchanged" |