record only subtree in export db and log after importing a subtree
This commit is contained in:
parent
e46e40bf05
commit
e1fdc8b374
2 changed files with 13 additions and 11 deletions
|
@ -107,9 +107,7 @@ buildImportCommit remote importtreeconfig importcommitconfig importable =
|
|||
mkcommits origtree basecommit imported >>= \case
|
||||
Nothing -> return Nothing
|
||||
Just finalcommit -> do
|
||||
updateexportdb finaltree
|
||||
oldexport <- updateexportlog finaltree
|
||||
updatelocationlog oldexport finaltree
|
||||
updatestate finaltree
|
||||
return (Just finalcommit)
|
||||
|
||||
mkcommits origtree basecommit (History importedtree hs) = do
|
||||
|
@ -127,6 +125,18 @@ buildImportCommit remote importtreeconfig importcommitconfig importable =
|
|||
importedtree
|
||||
return (Just commit)
|
||||
|
||||
updatestate committedtree = do
|
||||
importedtree <- case subdir of
|
||||
Nothing -> pure committedtree
|
||||
Just dir ->
|
||||
let subtreeref = Ref $
|
||||
fromRef committedtree ++ ":" ++ getTopFilePath dir
|
||||
in fromMaybe emptyTree
|
||||
<$> inRepo (Git.Ref.tree subtreeref)
|
||||
updateexportdb importedtree
|
||||
oldexport <- updateexportlog importedtree
|
||||
updatelocationlog oldexport importedtree
|
||||
|
||||
updateexportdb importedtree = do
|
||||
db <- Export.openDb (Remote.uuid remote)
|
||||
Export.writeLockDbWhile db $ do
|
||||
|
|
|
@ -10,14 +10,6 @@ this.
|
|||
|
||||
## implementation notes
|
||||
|
||||
* When doing `git annex export master:subdir` followed by
|
||||
`git annex import master:subdir` which imports a new file,
|
||||
followed by merging the import and re-export, it does unncessary
|
||||
work deleting stuff not in the subdir from the remote.
|
||||
|
||||
Why? Seems that the import recorded the exported tree wrong, using the
|
||||
whole tree and not the sub-tree.
|
||||
|
||||
* Does sync --content with remote.name.annex-tracking-branch=master:subdir
|
||||
export the right tree and update the remote tracking branch right?
|
||||
Does it import correctly?
|
||||
|
|
Loading…
Add table
Reference in a new issue