diff options
author | Joey Hess <joey@kitenet.net> | 2013-08-28 16:38:03 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2013-08-28 16:41:13 -0400 |
commit | 69bfbd94004d193050e0fe0827f380bdd1ed5644 (patch) | |
tree | c0eac16499b9cbc8920c140bd2e1a9bdfd09839b /Logs | |
parent | 0ffe5408ae1b396453f080bef2858542317daf23 (diff) |
add forget command
Works, more or less. --dead is not implemented, and so far a new branch
is made, but keys no longer present anywhere are not scrubbed.
git annex sync fails to push the synced/git-annex branch after a forget,
because it's not a fast-forward of the existing synced branch. Could be
fixed by making git-annex sync use assistant-style sync branches.
Diffstat (limited to 'Logs')
-rw-r--r-- | Logs/Transitions.hs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Logs/Transitions.hs b/Logs/Transitions.hs index 41f4b2635..d4b7d5eb3 100644 --- a/Logs/Transitions.hs +++ b/Logs/Transitions.hs @@ -50,6 +50,9 @@ describeTransition :: Transition -> String describeTransition ForgetGitHistory = "forget git history" describeTransition ForgetDeadRemotes = "forget dead remotes" +noTransitions :: Transitions +noTransitions = S.empty + addTransition :: POSIXTime -> Transition -> Transitions -> Transitions addTransition ts t = S.insert $ TransitionLine ts t @@ -91,8 +94,7 @@ transitionList = map transition . S.elems {- Typically ran with Annex.Branch.change, but we can't import Annex.Branch - here since it depends on this module. -} -recordTransition :: (FilePath -> (String -> String) -> Annex ()) -> Transition -> Annex () -recordTransition changer o = do - t <- liftIO getPOSIXTime +recordTransitions :: (FilePath -> (String -> String) -> Annex ()) -> Transitions -> Annex () +recordTransitions changer t = do changer transitionsLog $ - showTransitions . addTransition t o . parseTransitionsStrictly "local" + showTransitions . S.union t . parseTransitionsStrictly "local" |