Con l'accesso git e rsync allo stesso server è possibile utilizzare quel server per archiviare sia la cronologia (tramite accesso git) sia l'archivio valori-chiave allegato (tramite accesso rsync). Questi potrebbero anche essere disaccoppiati e archiviati su un numero qualsiasi di server diversi.
Sembra che tu abbia già letto tutti gli strumenti di cui hai bisogno. Fondamentalmente, finirai con 2 telecomandi separati, entrambi rivolti verso posizioni diverse sul server-c. Il primo telecomando (server-c) è un normale telecomando git per sincronizzare la cronologia e tutto ciò che viene controllato direttamente nel repository git. Il secondo telecomando è un telecomando speciale allegato.
[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 = ...
Dovresti essere in grado di configurarlo con qualcosa sulla falsariga di:
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
Questo dovrebbe darti le funzionalità di base che stai cercando. L'unico aspetto negativo è che hai 2 nomi remoti diversi che puntano davvero allo stesso server. In particolare devi solo ricordare di usare il telecomando speciale (server-c-rsync) quando usi gli argomenti --to = o --from = di get, copy e move.
Potrebbe essere possibile puntare un singolo telecomando verso entrambe le posizioni, tuttavia non sono sicuro che questo sia effettivamente supportato. I seguenti comandi sembrano creare un sensibile .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
Per me questo si traduce in un singolo telecomando in .git / config sia con un url = (per le normali operazioni git) che con un allegato-rsyncurl =. Tuttavia, non l'ho ancora testato per garantire che git annex ignori l'URL e utilizzi solo la voce annex-rsyncurl quando si opera con file allegati.