Automatically convert direct mode repositories to v7 with adjusted unlocked branches

* Automatically convert direct mode repositories to v7 with adjusted
  unlocked branches and set annex.thin.
* init: When run on a crippled filesystem with --version=5,
  will error out, since version 7 is needed for adjusted unlocked branch.
* direct: This command always errors out as direct mode is no longer
  supported.
* indirect: This command has become a deprecated noop.
* proxy: This command is deprecated because it was only needed in direct
  mode. (But it continues to work.)

Also removed mentions of direct mode throughough the documentation.

I have not removed all the direct mode code yet.
This commit is contained in:
Joey Hess 2019-08-26 14:52:55 -04:00
parent f6fb4b8cdb
commit 20741b1eb4
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
27 changed files with 98 additions and 484 deletions

View file

@ -8,5 +8,4 @@
When you add a file to the annex and commit it, only a symlink to
the content is committed to git. The content itself is stored in
git-annex's backend, `.git/annex/` (or in [[direct_mode]] the file
is left as-is).
`.git/annex/objects/`

View file

@ -1,5 +1,4 @@
Normally, the content of files in the annex is prevented from being modified.
(Unless your repository is using [[direct_mode]].)
That's a good thing, because it might be the only copy, you wouldn't
want to lose it in a fumblefingered mistake.
@ -19,9 +18,8 @@ it is a regular file.
(If you decide you don't need to modify the file after all, or want to discard
modifications, just use `git annex lock`.)
When you `git commit` it will notice that you are committing an unlocked
file, add its new content to the annex, and a pointer to that content is
what gets committed to git.
When you commit an unlocked file, all that gets committed to git is a
pointer to the content. The content of the file is stored by git-annex.
$ echo "now smaller, but even cooler" > my_cool_big_file
$ git commit my_cool_big_file -m "changed an annexed file"

View file

@ -11,7 +11,3 @@ Notice that, since annexed files are represented by symlinks,
the symlink will break when the file is moved into a subdirectory.
But, git-annex will fix this up for you when you commit --
it has a pre-commit hook that watches for and corrects broken symlinks.
(Note that if a repository is in direct mode, you can't run normal git
commands in it. Instead, just move the files using non-git commands, and
`git annex add` and `git annex sync`.)