summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-06-23 11:37:26 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-06-23 11:37:26 -0400
commit5f494154a34bad7cc54915a2a408b830e8ca77be (patch)
tree2adfc75ea36e18b3655bb2dcfa94b702288fc6c5 /doc
parent23e765b67c38a9f02b3b5152e7e123819bb696de (diff)
add journaling to speed up changes to the git-annex branch
git is slow when the index file is large and has to be rewritten each time a file is changed. To speed this up, added a journal where changes are recorded before being fed into the index file and committed to the git-annex branch. The entire journal can be fed into git with just 2 commands, and only one write of the index file.
Diffstat (limited to 'doc')
-rw-r--r--doc/internals.mdwn10
-rw-r--r--doc/upgrades.mdwn5
2 files changed, 7 insertions, 8 deletions
diff --git a/doc/internals.mdwn b/doc/internals.mdwn
index aaa125599..27b5bb1f2 100644
--- a/doc/internals.mdwn
+++ b/doc/internals.mdwn
@@ -21,9 +21,13 @@ deleting or changing the file contents.
This branch is managed by git-annex, with the contents listed below.
-Note that git-annex assumes only it will modify this branch. If you go in
-and make changes directly, it will probably revert your changes in its next
-commit to the branch.
+The file `.git/index.git-annex` is a separate git index file it uses
+to accumlate changes for the branch. Also, `.git/annex/journal/` is used
+to record changes before they are added to git.
+
+Note that for speed reasons, git-annex assumes only it will modify this
+branch. If you go in and make changes directly, it will probably revert
+your changes in its next commit to the branch.
The best way to make changes to the git-annex branch is instead
to create a branch of it, with a name like "my/git-annex", and then
diff --git a/doc/upgrades.mdwn b/doc/upgrades.mdwn
index 63fbcf75b..2e8f201fb 100644
--- a/doc/upgrades.mdwn
+++ b/doc/upgrades.mdwn
@@ -29,11 +29,6 @@ This upgrade is easier than the previous upgrades. You don't need to
upgrade every repository at once; it's sufficient to upgrade each
repository only when you next use it.
-This upgrade can be sped up by, before you start, making
-.git/index.git-annex into a symlink to a file on a ramdisk.
-For example: `ln -s /run/shm/index.git-annex.$(git config annex.uuid) .git/index.git-annex`
-but, if you do that, be sure to remove the symlink after the upgrade!
-
After the upgrade is complete, commit the changes it staged.
git commit -m "upgrade v2 to v3"