sync --content with annexobjects=true exporttree remotes
This commit is contained in:
parent
9497bf7fdb
commit
a4a06404d4
2 changed files with 16 additions and 2 deletions
|
@ -315,7 +315,8 @@ seek' o = startConcurrency transferStages $ do
|
|||
-- importing only downloads new files not
|
||||
-- old files)
|
||||
let shouldsynccontent r
|
||||
| isExport r && not (isImport r) = False
|
||||
| isExport r && not (isImport r)
|
||||
&& not (exportHasAnnexObjects r) = False
|
||||
| otherwise = True
|
||||
syncedcontent <- withbranch $
|
||||
seekSyncContent o
|
||||
|
@ -944,7 +945,8 @@ syncFile o ebloom rs af k = do
|
|||
wantput r
|
||||
| pushOption o == False && operationMode o /= SatisfyMode = return False
|
||||
| Remote.readonly r || remoteAnnexReadOnly (Remote.gitconfig r) = return False
|
||||
| isExport r || isImport r = return False
|
||||
| isImport r && not (isExport r) = return False
|
||||
| isExport r && not (exportHasAnnexObjects r) = return False
|
||||
| isThirdPartyPopulated r = return False
|
||||
| otherwise = wantGetBy True (Just k) af (Remote.uuid r)
|
||||
handleput lack inhere
|
||||
|
@ -1147,6 +1149,9 @@ isExport = exportTree . Remote.config
|
|||
isImport :: Remote -> Bool
|
||||
isImport = importTree . Remote.config
|
||||
|
||||
exportHasAnnexObjects :: Remote -> Bool
|
||||
exportHasAnnexObjects = annexObjects . Remote.config
|
||||
|
||||
isThirdPartyPopulated :: Remote -> Bool
|
||||
isThirdPartyPopulated = Remote.thirdPartyPopulated . Remote.remotetype
|
||||
|
||||
|
|
|
@ -33,6 +33,15 @@ Planned schedule of work:
|
|||
* Working on `exportreeplus` branch which is groundwork for proxying to
|
||||
exporttree=yes special remotes.
|
||||
|
||||
* `git-annex sync` with an annexobjects=true special remote, when exporting
|
||||
a subdir that contained a file, which has now been moved out of the
|
||||
subdir, first unexports the file, and then re-uploads it to the remote.
|
||||
This could be avoided if when unexporting, it moves to the annex objects
|
||||
location.
|
||||
|
||||
(Might be worth doing that by default, this would let annexobjects=true
|
||||
special remotes not be untrusted.)
|
||||
|
||||
* `git-annex sync --content` to an annexobjects=true special remote should
|
||||
get and put keys that are not in the exported tree to the annexobjects
|
||||
location.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue