Commit graph

39 commits

Author SHA1 Message Date
Joey Hess
e658010128
clarify anarcat's change
v7 does not need to be done simulantaneously unless you choose to use
the new unlocked files feature
2018-12-05 12:22:36 -04:00
anarcat
b4329466c3 mention synchronized upgrades limitation 2018-12-04 21:07:11 +00:00
anarcat
da9c82796a mention that git annex upgrade is required for v6 as well (a tad late, but it's still in stable and backports) 2018-12-03 21:04:21 +00:00
anarcat
a419f01ddb fix typo and whitespace 2018-12-03 21:03:38 +00:00
Joey Hess
234842a347
v7
Install new git hooks in this version.

This does beg the question of what to do if git later gets eg a
post-smudge hook, that could run git-annex smudge --update. I think the
thing to do in that case would be to make git-annex smudge --update
install the new hooks. That way, as the user uses git-annex, the hook
would be created pretty quickly and without needing any extra syscalls
except for when git-annex smudge --update is called.

I considered doing something like that for installation of the
post-checkout and post-merge hooks, which would have avoided the need
for v7. But the only place it was cheap to do it would be in git-annex smudge
which could cheaply notice that smudge.log didn't exist yet and so know
the hooks needed to be installed. But since smudge used to populate pointer
files, it would be quite surprising if a single git checkout/merge failed
to update the work tree, and so that idea didn't work out.

The other reason for v7 is psychological -- users don't need to worry
about whether they might be running an old version of git-annex that
doesn't support their v7 repository very well. And bug reports about
"v6" have gotten a bit of a bad association in my head since they often
hit one of the known limitations and didn't realize it was experimental.

newtyped RepoVersion Int to avoid needing 2 comparisons in
versionSupportsUnlockedPointers etc. Also it's just nicer.

This commit was sponsored by John Pellman on Patreon.
2018-10-25 18:24:23 -04:00
Joey Hess
f886859174
remove broken link 2018-06-15 17:53:37 -04:00
JasonWoof
8280f2558a add backticks so asterisks are visible 2018-03-27 16:26:06 +00:00
Joey Hess
933bc5c917
Support using v3 repositories without upgrading them to v5.
An easy change now that supportedVersions is a list. Since v3 and v5 are
identical other than version number, just add v3 to the list.

This commit was sponsored by andrea rota.
2016-10-05 16:53:09 -04:00
Joey Hess
c3e0859846
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.
2016-04-04 13:17:24 -04:00
anarcat
46dbbda5a4 add references to annex.thin in the upgrade docs 2016-01-14 21:21:36 +00:00
Joey Hess
121f5d5b0c
annex.thin
Decided it's too scary to make v6 unlocked files have 1 copy by default,
but that should be available to those who need it. This is consistent with
git-annex not dropping unused content without --force, etc.

* Added 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.
* Enable annex.thin by default on upgrade from direct mode to v6, since
  direct mode made the same tradeoff.
* fix: Adjusts unlocked files as configured by annex.thin.
2015-12-27 15:59:59 -04:00
Joey Hess
a858a331c4
fix docs
"git -a annex.largefiles=* add" cannot be used.. git does not pass the
config along to the smudge filter, sadly.
2015-12-16 16:00:41 -04:00
Joey Hess
f9d077186a
implemented upgrade of direct mode repo to v6 2015-12-15 16:00:26 -04:00
Joey Hess
2fe21d47c5
init: Configure .git/info/attributes to use git-annex as a smudge filter.
Note that this changes the default behavior of git add in a newly
initialized repository; it will add files to the annex.

Don't like that this could break workflows, but it's necessary in order for
any pointer files in the repo to be handled by git-annex.
2015-12-04 17:57:15 -04:00
Joey Hess
ccc49861ca
add v6; keep v5 working for now and manual upgrade
Since all places where a repo is used in direct mode need to have git-annex
upgraded before the repo can safely be converted to v6, the upgrade needs
to be manual for now.

I suppose that at some point I'll want to drop all the direct mode support
code. At that point, will stop supporting v5, and will need to auto-upgrade
any remaining v5 repos. If possible, I'd like to carry the direct mode
support for say, a year or so, to give people plenty of time to upgrade and
avoid disruption.
2015-12-04 16:14:48 -04:00
Joey Hess
daf4f62b0e
word wrap 2015-10-14 13:44:20 -04:00
https://id.koumbit.net/anarcat
0e24bd3eee remove superfluous header 2015-06-03 14:28:58 +00:00
https://id.koumbit.net/anarcat
bcfc3b4eff fix headings 2015-06-03 14:27:23 +00:00
https://id.koumbit.net/anarcat
2d8d70d9d1 document the software upgrade process minimally 2015-06-03 14:24:28 +00:00
Øyvind A. Holm
238bad054b Various typo fixes in doc/*.mdwn
One of my

  for f in `ls *.mdwn | sort -R`; do aspell -c $f; sleep 2; done

sessions.

3647f704-e510-11e4-bf50-000df06acc56
2015-04-17 16:42:16 +02:00
Joey Hess
920ce39b76 update 2013-12-29 15:01:46 -04:00
Joey Hess
4510819215 v5 for direct mode, with automatic upgrade
This includes storing the current state of the HEAD ref, which git annex
sync is going to need, but does not make sync use it.
2013-11-05 17:05:03 -04:00
Joey Hess
2d9c046dea annex.version is now set to 4 for direct mode repositories
To avoid old versions of git-annex getting confused.

There is no upgrade required though.
We switch back to 3 when going from direct to indirect.
2013-02-26 15:13:10 -04:00
Joey Hess
7da059e557 update 2011-07-08 01:26:18 -04:00
Joey Hess
e27e20c6d6 add 2011-06-30 16:16:52 -04:00
Joey Hess
ad38c0dfad better setup of git-annex branch pushing on upgrade 2011-06-24 11:59:34 -04:00
Joey Hess
068703c405 improve post-upgrade push instructions 2011-06-23 14:51:04 -04:00
Joey Hess
d05fd11392 updates 2011-06-23 12:11:03 -04:00
Joey Hess
224a8098b5 v3 upgrade is fast!
The journal sped this up approximatly 100-fold; it runs in just a few
minutes for a large repository with 30 thousand log files.
2011-06-23 11:46:55 -04:00
Joey Hess
5f494154a3 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.
2011-06-23 11:37:26 -04:00
Joey Hess
9e37898e21 remove stateDir 2011-06-23 08:48:13 -04:00
Joey Hess
af10b2854a v3 upgrade code works
but write the index file a lot, so slow
2011-06-23 02:30:20 -04:00
Joey Hess
9a1f0fcee2 start v3 2011-06-21 14:34:08 -04:00
Joey Hess
6246b807f7 migrate: Support migrating v1 SHA keys to v2 SHA keys with size information that can be used for free space checking. 2011-03-23 17:57:10 -04:00
Joey Hess
ee6fabb7ca update 2011-03-22 18:50:36 -04:00
Joey Hess
6a2a17658c No longer auto-upgrade to repository format 2, to avoid accidental upgrades, etc. Use git-annex upgrade when you're ready to run this version. 2011-03-19 18:33:39 -04:00
Richard Hartmann
c196875932 Fix typos 2011-03-17 12:05:00 -04:00
Joey Hess
67be8f13fb tweak 2011-03-16 17:37:56 -04:00
Joey Hess
49da5d1a7b upgrade documentation 2011-03-16 15:51:42 -04:00