This commit is contained in:
lukasz.opiola@8b366725db99c2a5e0e638d1a5d57d457d0bdad4 2024-04-08 13:55:19 +00:00 committed by admin
parent a1616be8d6
commit 58180abd6b

View file

@ -3,9 +3,9 @@ Dear Joey,
During DistriBits 2024, we discussed a concept that you seemed to like: emulating versioned tree export on a special remote with a non-versioned filesystem. This could be a generic mechanism of git-annex. Maybe a new option for the special remote (say: 'versioning = yes / no / emulated' or 'exporttree = yes / no / emulated')? During DistriBits 2024, we discussed a concept that you seemed to like: emulating versioned tree export on a special remote with a non-versioned filesystem. This could be a generic mechanism of git-annex. Maybe a new option for the special remote (say: 'versioning = yes / no / emulated' or 'exporttree = yes / no / emulated')?
The idea is to save target files in the remote at paths reflecting the ones in the repo, but: The idea is to save target files in the remote at paths reflecting the ones in the repo, but:
- create an extra directory at the end of the path identical to the filename, * create an extra directory at the end of the path identical to the filename,
- directory name includes the original extension of the file, which may seem a bit odd, but ensures no ambiguities, * directory name includes the original extension of the file, which may seem a bit odd, but ensures no ambiguities,
- inside the directory, save the file under filename = key (preferably add the original extension). * inside the directory, save the file under filename = key (preferably add the original extension).
Example: the content of the git-annex repo and remote filesystem after a few tree exports: Example: the content of the git-annex repo and remote filesystem after a few tree exports:
@ -52,16 +52,16 @@ Example: the content of the git-annex repo and remote filesystem after a few tre
---------------------- ----------------------
Advantages: Advantages:
- easy to implement, * easy to implement,
- you get (kind of) versioning on any POSIX-like filesystem, * you get (kind of) versioning on any POSIX-like filesystem,
- older versions of files are never overwritten (history tracking), * older versions of files are never overwritten (history tracking),
- it's sufficient to push only the changed files, * it's sufficient to push only the changed files,
- users can use the remote filesystem directly, as it represents something meaningful. * users can use the remote filesystem directly, as it represents something meaningful.
Disadvantages: Disadvantages:
- not perfect, * not perfect,
- users need to accept the inconvenience caused by file naming on the bottom level, * users need to accept the inconvenience caused by file naming on the bottom level,
- it may be hard to find the right file version in the remote, especially if there are lots of them; * it may be hard to find the right file version in the remote, especially if there are lots of them;
- modification times will certainly help here, - modification times will certainly help here,
- can we concatenate some extra information to the file names that could help in identification? - can we concatenate some extra information to the file names that could help in identification?