동일한 서버에 대한 git 및 rsync 액세스를 사용하면 해당 서버를 사용하여 히스토리 (git access를 통해)와 부속 키-값 저장소 (rsync access를 통해)를 모두 저장할 수 있습니다. 또한 여러 서버에서 분리하여 저장할 수 있습니다.
필요한 모든 도구를 이미 읽은 것 같습니다. 기본적으로 server-c의 서로 다른 위치를 가리키는 두 개의 별도 원격 장치가 생깁니다. 첫 번째 리모컨 (server-c)은 히스토리와 git repo에 직접 체크인 된 모든 것을 동기화하기위한 일반 git remote입니다. 두 번째 리모컨은 별관 특수 리모컨입니다.
[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
원하는 기본 기능이 제공됩니다. 유일한 단점은 실제로 동일한 서버를 가리키는 서로 다른 두 개의 원격 이름이 있다는 것입니다. 특히 get, copy 및 move의 --to = 또는 --from = 인수를 사용할 때는 특수 원격 (server-c-rsync)을 사용해야합니다.
단일 리모컨으로 두 위치를 가리킬 수도 있지만 이것이 실제로 지원되는지 확실하지 않습니다. 다음 명령은 합리적인 .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
나를 위해 이것은 url = (일반 git 작업의 경우)와 annex-rsyncurl =이 모두있는 .git / config의 단일 리모컨이됩니다. 그러나 git annex가 URL을 무시하고 부속 파일로 작업 할 때 annex-rsyncurl 항목 만 사용하는지 확인하기 위해 더 이상 테스트하지 않았습니다.