What is the correct way to add/modify files such that the changes are synchronized?
Suppose I have a server "server" and a windows client "client" (more after some time); everything direct mode.
I created the repos on the server:
cd bin
git init
git annex init server
git annex direct
git annex add .
git annex sync
On the (Windows) client using cygwin:
git annex clone ssh://me@server:/srv/bin
cd bin
git annex init client
Then I want to add files on the client:
git annex add tools
git annex sync
At this point I wonder that the data is not copied to the server but only metadata! I then used
git annex sync --content
but then everything from the server is leeched as well (as if I could have called "git annex get .")
What is the intented workflow such that added/modified files on the client always go to the server, modified/new files from the server are always pulled but ONLY if I previously got the file/directory via "get annex get"?
Just to be sure I understood the topic, this would be achieved in putting the repo in the manual transfer group?
manual
This gives you nearly full manual control over what content is stored in the repository. This allows using the assistant without it trying to keep a local copy of every file. Instead, you can manually run git annex get, git annex drop, etc to manage content. Only content that is already present is wanted.
The exception to this manual control is that content that a client repository would not want is not wanted. So, files in archive directories are not wanted once their content has reached an archive repository.
present and ($client)
(Where $client is a copy of the preferred content expression used for clients.) <<<