diff options
author | Joey Hess <joeyh@joeyh.name> | 2016-04-04 13:17:24 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2016-04-04 13:17:24 -0400 |
commit | 9b3a2e6c91afb886f1743769a5100fcf056d6ea7 (patch) | |
tree | 282232aee8154832c631d9c7efc87062140051fe /doc/upgrades.mdwn | |
parent | f312b66a5cfc99ca5f01a07755f645659e75564a (diff) |
Upgrading a direct mode repository to v6 has changed to enter an adjusted unlocked branch.
This makes the direct mode to v6 upgrade able to be performed in one clone
of a repository without affecting other clones, which can continue using v5
and direct mode.
Diffstat (limited to 'doc/upgrades.mdwn')
-rw-r--r-- | doc/upgrades.mdwn | 49 |
1 files changed, 20 insertions, 29 deletions
diff --git a/doc/upgrades.mdwn b/doc/upgrades.mdwn index fd4accc69..f3646a46b 100644 --- a/doc/upgrades.mdwn +++ b/doc/upgrades.mdwn @@ -45,47 +45,38 @@ The upgrade events, so far: ## v5 -> v6 (git-annex version 6.x) -The upgrade from v5 to v6 is handled manually. Run `git-annex upgrade` -performs the upgrade. +The upgrade from v5 to v6 is handled manually for now. +Run `git-annex upgrade` to perform the upgrade. -Warning: All places that a direct mode repository is cloned to should be -running git-annex version 6.x before you upgrade the repository. -This is necessary because the contents of the repository are changed -in the upgrade, and the old version of git-annex won't be able to -access files after the repo is upgraded. - -This upgrade does away with the direct mode/indirect mode distinction. -A v6 git-annex repository can have some files locked and other files +A v6 git-annex repository can have some files locked while other files are unlocked, and all git and git-annex commands can be used on both locked and -unlocked files. (Although for locked files to work, the filesystem -must support symbolic links..) +unlocked files. (Although for locked files to be accessible, the filesystem +must support symbolic links.. + +Direct mode repositories are upgraded to instead use the new +[[adjusted branches feature|git-annex-adjust]], which transparently unlocks +all locked files in the local repository. The behavior of some commands changes in an upgraded repository: -* `git add` will add files to the annex, in unlocked mode, rather than - adding them directly to the git repository. To cause some files to be - added directly to git, you can configure `annex.largefiles`. For - example: +* `git add` will add files to the annex, rather than adding them directly + to the git repository. To cause some files to be added directly + to git, you can configure `annex.largefiles`. For example: git config annex.largefiles "largerthan=100kb and not (include=*.c or include=*.h)" * `git annex unlock` and `git annex lock` change how the pointer to the annexed content is stored in git. -There is also a new `annex.thin` setting, which makes unlocked files in v6 repositories -be hard linked to their content, instead of a copy. This saves disk -space but means any modification of an unlocked file will lose the local -(and possibly only) copy of the old version. - -On upgrade, all files in a direct mode repository will be converted to -unlocked files with the `annex.thin` setting enabled. -The upgrade will stage changes to all annexed files in -the git repository, which you can then commit. - -If a repository has some clones using direct mode and some using indirect -mode, all the files will end up unlocked in all clones after the upgrade. +There is also a new `annex.thin` setting, which makes unlocked files in v6 +repositories be hard linked to their content, instead of a copy. This saves +disk space but means any modification of an unlocked file will lose the +local (and possibly only) copy of the old version. This is automatically +enabled when upgrading a direct mode repository, since direct mode made the +same tradeoff. -See [[tips/unlocked_files/]] for more details about locked files and thin mode. +See [[tips/unlocked_files/]] for more details about locked files and thin +mode. ## v4 -> v5 (git-annex version 5.x) |