summaryrefslogtreecommitdiff
path: root/doc/upgrades.mdwn
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2016-04-04 13:17:24 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2016-04-04 13:17:24 -0400
commit9b3a2e6c91afb886f1743769a5100fcf056d6ea7 (patch)
tree282232aee8154832c631d9c7efc87062140051fe /doc/upgrades.mdwn
parentf312b66a5cfc99ca5f01a07755f645659e75564a (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.mdwn49
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)