Hi,
I am trying to understand git-annex, and the walkthroughs on the page did help a lot. I feel that git-annex is the solution for my use case: having a large archive, several computers, NAS both at work and at home, being offline during commuting, …
Everything seems to be clear for me when using the command line version. Using annex assistant looks promising, and it is easy to create repositories that match my usage. But now I see that these repositories are in direct mode by default; and I am not sure how this impacts my ability to work with large files. I do not want to end up with git (without annex) handling huge files.
So - can somebody explain how direct mode affects this? Can I switch to indirect mode with the assistant? Am I asking the wrong questions?
thanks, Ulli
Files in direct mode are stored in the git annex the same way as when using indirect mode. But you're perhaps right to be wary of using direct mode, it's been quite easy to mess up while using it at the command line until very recently when the ?direct mode guard was implemented.
You can switch repositories created using the assistant from direct to indirect mode if you like. The assistant works in either mode.
I just tried a git annex drop on a file in a direct mode repository, and that just did not change anything at all, as far as I can see. Actually I don't know what to expect, but doesn't that mean that I should have to switch to indirect mode in order to be able to drop large files to save space?
Funny is that git annex drop did not complain at all but just reported "ok" after quite a while. And when I tried to drop a file that was not available in any other repository, it failed (which is expected behavior). So what is it what was "ok"?
Drop in direct mode does the same thing as in indirect mode.
If you are using git-annex on a crippled filesystem without symlinks, git-annex cannot represent a file whose content has been dropped using a broken symlink, so it instead represents it with a nearly empty file.