hledger/tools/dayssincerelease.hs
2011-04-22 18:47:57 +00:00

22 lines
756 B
Haskell

#!/usr/bin/env runhaskell
{-
Display the current darcs repository's last tag and the number of days since.
Similar to:
$ darcs changes --to-tag . --from-tag .|head -n 1 |cut -d' ' -f-7 |xargs -I {} date -d "{}" +%s |xargs -I {} expr \( $(date +%s) - {} \) / 60 / 60 / 24
-}
import Data.Time
import System.Locale
import System.Process
main = do
s <- readProcess "darcs" ["changes","--from-tag",".","--to-tag","."] ""
let datestr = unwords $ take 6 $ words $ head $ lines s
date = readTime defaultTimeLocale "%a %b %e %H:%M:%S %Z %Y" datestr :: Day
today <- getCurrentDay
putStrLn $ show (diffDays today date) ++ " days since the last tag:\n"
putStr s
getCurrentDay = do
t <- getZonedTime
return $ localDay (zonedTimeToLocalTime t)