is it possible for having import/export (pull/push) funciontality for the rsync special remote? similar to how the adb special remote handles importing and exporting treeishes? an example use case is that i have a pinePhone which i push files (music, podcasts, pdfs) to using the rsync special remote so it can be done over my wifi network, but it would be cool to also be able to import either any picutres i take, or to import any documents that I pull from the internet and then store on the pinePhone back into my annex.
some reasons that I do not just make a another full annex repo on the pinePhone really comes down computation resource limitations of the pinephone. and I have a very large git annex (150,000+ keys) which can make the git repo fairly large.
exporttree is already supported by both. importtree is unlikely to be supported. It's difficult to support this without opening up a very real possibility of data loss. If you're importing and exporting to the same remote, what happens when there's a conflict? Eg, whatever else is writing files to the remote writes to a file, but you locally modify the same file, and export a tree, without importing the new version first. That would overwrite the modified file on the remote, losing data.
All the special remotes that support exporttree+importtree are able to avoid losing data in this scenario. (At least as well as git is able to, there are similar races when git updates a working tree at the same time you modify a file in the working tree, but the timing of it makes it very unlikely, so much that noone seems to worry about it). See also import tree from rsync special remote
I have not felt comfortable giving users a loaded gun in this case. So only exporttree is supported, because the user doesn't expect something else to be writing to files on that remote, or if they do, they don't have any reason to expect git-annex to deal with it well.
Anyway, it seems to me it should be possible to install git-annex on your pinephone and connect the repos using ssh.
The man page for git-annex-export states that this shouldn't be a problem, or at least shouldn't lead to data loss (might still require manual intervention):
Maybe this was improved after this forum post happened?
There is probably some potential for issues when exporting and writing with another program at the same time, although that might be mitigated with webdav locks, for the webdav case. Also, you state that this is already a problem with the remotes that support export and import now.
Is this concern outdated? I would love to be able to import and export to webdav, so that I could use a Nextcloud as a "frontend" to a git-annex repository, getting the "best of both worlds" so to speak.
No. All remotes that currently support import+export have protections in place to make that guarantee that exporting will not overwrite. My comment concerned the ability to implement exactly those protections.