Hello, I'm not sure on how to proceed with a fairly simple workflow. I keep my music library in a debian box with plenty of space. I run the plex media server on it so it should be a direct repository to avoid strange player behavior. I also perform a monthly (more or less) backup on an external hard drive. This should be simple too, just add a remote and sync. My problem now is: I have also a portable music player that I want to keep in sync with the music library. Not the whole music library but only a small subset. This needs to be a direct repository too (the best would be also without the .git/ folder but I don't believe it's possible). How to create a small subset of files to keep in sync with a direct repository? I've tried with branches but they are not simple to use in direct mode.
So, to recap: a (direct) main repository, a standard backup repository and another (direct) repository with only a subset of files.
Anyone with a similar workflow wants to share some tips?
Thanks,
F
Good question! I don't have a perfect solution for this, because what you really probably want is to be able to
git annex copy
files to the music player and have only the present files show up in its repository.One approach is to use a directory special remote on the music player. This way, only present files will show up there, but they'll have git-annex's internal filenames. If the music player doesn't care about filenames, this can work ok.
Another approach is to use a v6 git-annex repository on the media player, and use git-annex-adjust to generate a version of a branch where all files that are present are unlocked (and thus regular files with the expected filenames). Files that are not present will still show up in the working tree though, either as symlinks or as the small text files git uses when a filesystem does not support symlinks. So this is much like direct mode, but it has the benefit that you can use all the normal git branching features to create a trimmed down branch for the media player with just the files you want.