summaryrefslogtreecommitdiff
path: root/Git/Ref.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-02-06 12:43:56 -0400
committerGravatar Joey Hess <joey@kitenet.net>2014-02-06 12:43:56 -0400
commitebb16a8c45f5ec12aff6fd158090d6a36d5590dc (patch)
treedf6630b4844709e8266f330a875857d395c03454 /Git/Ref.hs
parentd6a25390ad9006d3c8eeeefd535703626dd09490 (diff)
--in can now refer to files that were located in a repository at some past date. For example, --in="here@{yesterday}"
Diffstat (limited to 'Git/Ref.hs')
-rw-r--r--Git/Ref.hs5
1 files changed, 5 insertions, 0 deletions
diff --git a/Git/Ref.hs b/Git/Ref.hs
index 09472930f..88717ce47 100644
--- a/Git/Ref.hs
+++ b/Git/Ref.hs
@@ -11,6 +11,7 @@ import Common
import Git
import Git.Command
import Git.Sha
+import Git.Types
import Data.Char (chr)
@@ -51,6 +52,10 @@ underBase dir r = Ref $ dir ++ "/" ++ show (base r)
fileRef :: FilePath -> Ref
fileRef f = Ref $ ":./" ++ f
+{- Converts a Ref to refer to the content of the Ref on a given date. -}
+dateRef :: Ref -> RefDate -> Ref
+dateRef (Ref r) (RefDate d) = Ref $ r ++ "@" ++ d
+
{- A Ref that can be used to refer to a file in the repository as it
- appears in a given Ref. -}
fileFromRef :: Ref -> FilePath -> Ref