assistant: Check small files into git directly.
This commit is contained in:
parent
2cbaf0406d
commit
5771cfce02
3 changed files with 14 additions and 9 deletions
|
@ -168,15 +168,19 @@ runHandler handler file filestatus = void $ do
|
||||||
liftAnnex $ Annex.Queue.flushWhenFull
|
liftAnnex $ Annex.Queue.flushWhenFull
|
||||||
recordChange change
|
recordChange change
|
||||||
|
|
||||||
checkAdd :: FileMatcher -> FilePath -> Assistant (Maybe Change)
|
{- Small files are added to git as-is, while large ones go into the annex. -}
|
||||||
checkAdd matcher file = ifM (liftAnnex $ checkFileMatcher matcher file)
|
add :: FileMatcher -> FilePath -> Assistant (Maybe Change)
|
||||||
|
add bigfilematcher file = ifM (liftAnnex $ checkFileMatcher bigfilematcher file)
|
||||||
( pendingAddChange file
|
( pendingAddChange file
|
||||||
, noChange
|
, do
|
||||||
|
liftAnnex $ Annex.Queue.addCommand "add"
|
||||||
|
[Params "--force --"] [file]
|
||||||
|
madeChange file AddFileChange
|
||||||
)
|
)
|
||||||
|
|
||||||
onAdd :: FileMatcher -> Handler
|
onAdd :: FileMatcher -> Handler
|
||||||
onAdd matcher file filestatus
|
onAdd matcher file filestatus
|
||||||
| maybe False isRegularFile filestatus = checkAdd matcher file
|
| maybe False isRegularFile filestatus = add matcher file
|
||||||
| otherwise = noChange
|
| otherwise = noChange
|
||||||
|
|
||||||
{- In direct mode, add events are received for both new files, and
|
{- In direct mode, add events are received for both new files, and
|
||||||
|
@ -192,9 +196,9 @@ onAddDirect matcher file fs = do
|
||||||
( noChange
|
( noChange
|
||||||
, do
|
, do
|
||||||
liftAnnex $ changedDirect key file
|
liftAnnex $ changedDirect key file
|
||||||
checkAdd matcher file
|
add matcher file
|
||||||
)
|
)
|
||||||
_ -> checkAdd matcher file
|
_ -> add matcher file
|
||||||
|
|
||||||
{- A symlink might be an arbitrary symlink, which is just added.
|
{- A symlink might be an arbitrary symlink, which is just added.
|
||||||
- Or, if it is a git-annex symlink, ensure it points to the content
|
- Or, if it is a git-annex symlink, ensure it points to the content
|
||||||
|
|
|
@ -14,11 +14,11 @@ import Utility.TSet
|
||||||
import Data.Time.Clock
|
import Data.Time.Clock
|
||||||
import Control.Concurrent.STM
|
import Control.Concurrent.STM
|
||||||
|
|
||||||
data ChangeInfo = AddChange Key | LinkChange (Maybe Key) | RmChange
|
data ChangeInfo = AddKeyChange Key | AddFileChange | LinkChange (Maybe Key) | RmChange
|
||||||
deriving (Show, Eq)
|
deriving (Show, Eq)
|
||||||
|
|
||||||
changeInfoKey :: ChangeInfo -> Maybe Key
|
changeInfoKey :: ChangeInfo -> Maybe Key
|
||||||
changeInfoKey (AddChange k) = Just k
|
changeInfoKey (AddKeyChange k) = Just k
|
||||||
changeInfoKey (LinkChange (Just k)) = Just k
|
changeInfoKey (LinkChange (Just k)) = Just k
|
||||||
changeInfoKey _ = Nothing
|
changeInfoKey _ = Nothing
|
||||||
|
|
||||||
|
@ -60,6 +60,6 @@ finishedChange :: Change -> Key -> Change
|
||||||
finishedChange c@(InProcessAddChange { keySource = ks }) k = Change
|
finishedChange c@(InProcessAddChange { keySource = ks }) k = Change
|
||||||
{ changeTime = changeTime c
|
{ changeTime = changeTime c
|
||||||
, _changeFile = keyFilename ks
|
, _changeFile = keyFilename ks
|
||||||
, changeInfo = AddChange k
|
, changeInfo = AddKeyChange k
|
||||||
}
|
}
|
||||||
finishedChange c _ = c
|
finishedChange c _ = c
|
||||||
|
|
1
debian/changelog
vendored
1
debian/changelog
vendored
|
@ -12,6 +12,7 @@ git-annex (4.20130324) UNRELEASED; urgency=low
|
||||||
such as csh.
|
such as csh.
|
||||||
* New annex.largefiles setting, which configures which files
|
* New annex.largefiles setting, which configures which files
|
||||||
`git annex add` and the assistant add to the annex.
|
`git annex add` and the assistant add to the annex.
|
||||||
|
* assistant: Check small files into git directly.
|
||||||
|
|
||||||
-- Joey Hess <joeyh@debian.org> Mon, 25 Mar 2013 10:21:46 -0400
|
-- Joey Hess <joeyh@debian.org> Mon, 25 Mar 2013 10:21:46 -0400
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue