Имея доступ к git и rsync к одному и тому же серверу, вы можете использовать этот сервер для хранения истории (через доступ git) и хранилища значений ключей приложения (через доступ rsync). Они также могут быть отделены и сохранены на любом количестве разных серверов.
Похоже, вы уже ознакомились со всеми необходимыми инструментами. По сути, вы получите 2 отдельных пульта, оба из которых будут указывать на разные местоположения на сервере-c. Первый удаленный сервер (server-c) - это обычный git remote для синхронизации вашей истории и всего, что проверяется непосредственно в git repo. Второй пульт является приложением специального пульта.
[remote "server-c"]
url = git@example.com:/path/to/repo.git
fetch = +refs/heads/*:refs/remotes/server-c/*
[remote "server-c-rsync"]
annex-rsyncurl = example.com:/home/user/annex-rsync
annex-uuid = ...
Вы должны быть в состоянии установить это с чем-то вроде:
git remote add server-c git@example.com:/path/to/repo.git
git annex initremote server-c-rsync type=rsync rsyncurl=example.com:/home/user/annex-rsync encryption=none
Это должно дать вам основные функциональные возможности, которые вы ищете. Единственным недостатком является то, что у вас есть 2 разных удаленных имени, которые действительно указывают на один и тот же сервер. В частности, вам просто нужно помнить, что нужно использовать специальный remote (server-c-rsync) при использовании аргументов --to = или --from = для get, copy и move.
Может быть возможно указать один пульт в обоих местах, однако я не уверен, поддерживается ли это на самом деле. Следующие команды появляются для создания разумного .git/config.
git init
git annex init "test"
git remote add server-c git@example.com:/path/to/repo.git
git annex initremote server-c type=rsync rsyncurl=example.com:/rsync/user encryption=none
Для меня это приводит к одному удаленному файлу в .git/config с url = (для обычных операций git) и annex-rsyncurl =. Однако я больше не проверял это, чтобы гарантировать, что git annex игнорирует URL и использует только запись annex-rsyncurl при работе с вложенными файлами.