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
|
-- importing only downloads new files not
|
||||||
-- old files)
|
-- old files)
|
||||||
let shouldsynccontent r
|
let shouldsynccontent r
|
||||||
| isExport r && not (isImport r) = False
|
| isExport r && not (isImport r)
|
||||||
|
&& not (exportHasAnnexObjects r) = False
|
||||||
| otherwise = True
|
| otherwise = True
|
||||||
syncedcontent <- withbranch $
|
syncedcontent <- withbranch $
|
||||||
seekSyncContent o
|
seekSyncContent o
|
||||||
|
@ -944,7 +945,8 @@ syncFile o ebloom rs af k = do
|
||||||
wantput r
|
wantput r
|
||||||
| pushOption o == False && operationMode o /= SatisfyMode = return False
|
| pushOption o == False && operationMode o /= SatisfyMode = return False
|
||||||
| Remote.readonly r || remoteAnnexReadOnly (Remote.gitconfig r) = 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
|
| isThirdPartyPopulated r = return False
|
||||||
| otherwise = wantGetBy True (Just k) af (Remote.uuid r)
|
| otherwise = wantGetBy True (Just k) af (Remote.uuid r)
|
||||||
handleput lack inhere
|
handleput lack inhere
|
||||||
|
@ -1147,6 +1149,9 @@ isExport = exportTree . Remote.config
|
||||||
isImport :: Remote -> Bool
|
isImport :: Remote -> Bool
|
||||||
isImport = importTree . Remote.config
|
isImport = importTree . Remote.config
|
||||||
|
|
||||||
|
exportHasAnnexObjects :: Remote -> Bool
|
||||||
|
exportHasAnnexObjects = annexObjects . Remote.config
|
||||||
|
|
||||||
isThirdPartyPopulated :: Remote -> Bool
|
isThirdPartyPopulated :: Remote -> Bool
|
||||||
isThirdPartyPopulated = Remote.thirdPartyPopulated . Remote.remotetype
|
isThirdPartyPopulated = Remote.thirdPartyPopulated . Remote.remotetype
|
||||||
|
|
||||||
|
|
|
@ -33,6 +33,15 @@ Planned schedule of work:
|
||||||
* Working on `exportreeplus` branch which is groundwork for proxying to
|
* Working on `exportreeplus` branch which is groundwork for proxying to
|
||||||
exporttree=yes special remotes.
|
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
|
* `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
|
get and put keys that are not in the exported tree to the annexobjects
|
||||||
location.
|
location.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue