pre-commit-annex hook script to automatically extract metadata from lots of types of files
Using the extract(1) program to do the heavy lifting. Decided to make git-annex run pre-commit-annex when committing. Since git-annex pre-commit also runs it, it'll be run when git commit is run too, via the pre-commit hook. This basically gives back the pre-commit hook that git-annex took away. The implementation avoids repeatedly looking for the hook script when the assistant is running and committing repeatedly; only checks if the hook is available once. To make the script simpler, made git-annex metadata -s field?=value only set a field when it's not already got a value. This commit was sponsored by bak.
This commit is contained in:
parent
34059c09e2
commit
d0fce426c4
12 changed files with 152 additions and 16 deletions
|
@ -18,6 +18,7 @@ import qualified Types.Remote as Remote
|
|||
import Annex.Direct
|
||||
import Annex.CatFile
|
||||
import Annex.Link
|
||||
import Annex.Hook
|
||||
import qualified Git.Command
|
||||
import qualified Git.LsFiles as LsFiles
|
||||
import qualified Git.Merge
|
||||
|
@ -156,6 +157,7 @@ commitStaged commitmessage = go =<< inRepo Git.Branch.currentUnsafe
|
|||
where
|
||||
go Nothing = return False
|
||||
go (Just branch) = do
|
||||
runAnnexHook preCommitAnnexHook
|
||||
parent <- inRepo $ Git.Ref.sha branch
|
||||
void $ inRepo $ Git.Branch.commit False commitmessage branch
|
||||
(maybeToList parent)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue