restage: New git-annex command, handles restaging unlocked files

This is much easier and less failure-prone than having the user run
git update-index --refresh themselves.

Sponsored-by: Dartmouth College's DANDI project
This commit is contained in:
Joey Hess 2022-09-23 16:29:28 -04:00
parent f7146c153b
commit 2478e9e03a
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
10 changed files with 110 additions and 6 deletions

25
Command/Restage.hs Normal file
View file

@ -0,0 +1,25 @@
{- git-annex command
-
- Copyright 2022 Joey Hess <id@joeyh.name>
-
- Licensed under the GNU AGPL version 3 or higher.
-}
module Command.Restage where
import Command
import qualified Annex
import Annex.Link
cmd :: Command
cmd = command "restage" SectionPlumbing
"estages unlocked files in the git index"
paramNothing (withParams seek)
seek :: CmdParams -> CommandSeek
seek = withNothing (commandAction start)
start :: CommandStart
start = starting "restage" (ActionItemOther Nothing) (SeekInput []) $ do
restagePointerFiles =<< Annex.gitRepo
next $ return True