Commit graph

33064 commits

Author SHA1 Message Date
Joey Hess
3db20b39f2
update 2018-10-26 12:28:43 -04:00
Joey Hess
9488a53023
update docs 2018-10-26 12:19:44 -04:00
Joey Hess
9f87133bf5
snap --version= to auto-upgrade
This makes --version=6 still work, despite v6 not being in
supportedVersions. Which is useful for scripts that use it.

I didn't document it on the man page, because it's indistinguishable
from an automatic upgrade after initting as v6.
2018-10-26 11:44:05 -04:00
Joey Hess
636f4a68a9
doc update 2018-10-25 18:56:14 -04:00
Joey Hess
679146384b
remove 3 from supportedVersions (no behavior change)
It's auto-upgraded to 5, so does not need to be listed there.
Let's keep supportedVersions for versions that git-annex will actually
use without autoupgrading or demanding an upgrade.
2018-10-25 18:50:44 -04:00
Joey Hess
d59995b9ee
default to v7 adjusted unlocked in crippled filesystem
init: When in a crippled filesystem, initialize a v7 repository using an
adjusted unlocked branch, instead of a direct mode repository.

Direct mode is deprecated, so this makes sense to do already I hope.

This commit was sponsored by Ole-Morten Duesund on Patreon.
2018-10-25 18:49:57 -04:00
Joey Hess
5bb4308e1f
bump versionForAdjustedClone to v7 2018-10-25 18:46:16 -04:00
Joey Hess
b996b38b4f
fix autoupgrade from v6 to go to v7, not v5
v3 and v4 still autoupgrade to v5

And a few more upgrade doc updates.
2018-10-25 18:40:04 -04: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
6ceeb4bae7
Merge branch 'delaysmudge' into v7 2018-10-25 17:01:14 -04:00
Joey Hess
fd56b83bb3
Merge branch 'master' of ssh://git-annex.branchable.com 2018-10-25 16:52:16 -04:00
Joey Hess
dd5611b737
devblog 2018-10-25 16:51:52 -04:00
Joey Hess
c28ca8294f
optimize smudge --clean of unmodified file
Usually, git won't run clean filter when a file is unmodified. But, when
git checkout runs git annex smudge --update, it populates the pointer
runs git update-index, which sees the file has changed and runs
git annex smudge --clean, which was checksumming the file unncessarily
as it re-ingested it.

With annex.thin set, this is the difference between git checkout of a
branch with a 1 gb file taking 30s and 0.1s.

This commit was sponsored by Brett Eisenberg on Patreon.
2018-10-25 16:46:46 -04:00
Joey Hess
daa259ec6a
remove unused import 2018-10-25 16:25:21 -04:00
Joey Hess
ca7de61454
git post-checkout and post-merge hooks
* init, upgrade: Install git post-checkout and post-merge hooks that run
  git annex smudge --update.
* precommit: Run git annex smudge --update, because the post-merge
  hook is not run when there is a merge conflict. So the work tree will
  be updated when a commit is made to resolve the merge conflict.
* precommit: Run git annex smudge --update, because the post-merge
  hook is not run when there is a merge conflict. So the work tree will
  be updated when a commit is made to resolve the merge conflict.
* Note that git has no hooks run after git stash or git cherry-pick,
  so the user will have to manually run git annex smudge --update
  after such commands.

Nothing currently installs the hooks into v6 repos that already exist.
Something will need to be done about that, either move this behavior to v7,
or document that the user will need to manually fix up their v6 repos.

This commit was sponsored by Eric Drechsel on Patreon.
2018-10-25 15:59:51 -04:00
Joey Hess
917a2c6095
defer updating unlocked files until after smudge filter
The smuge filter no longer provides git with annexed file content, to
avoid a git memory leak, and because that did not honor annex.thin.

git annex smudge --update has to be run after a checkout to update
unlocked files in the working tree with annexed file contents.

No hooks yet to run it.

This commit was sponsored by Nick Piper on Patreon.
2018-10-25 15:08:20 -04:00
Joey Hess
f2a4db724c
remove redundant test
populatePointerFile checks the same thing
2018-10-25 14:31:45 -04:00
anarcat
73bcd7fdd4 add workaround 2018-10-25 17:48:07 +00:00
anarcat
2243d62d05 issues with reinject comparable with import 2018-10-25 17:36:40 +00:00
anarcat
c12e2bcf8b Added a comment: try the --known argument 2018-10-25 17:30:30 +00:00
Joey Hess
0ae11e92c5
Merge branch 'master' of ssh://git-annex.branchable.com 2018-10-25 13:16:28 -04:00
marvin@3296bf3c446430c3b2ebc32b5c784ee976620847
03e375fc65 Added a comment 2018-10-25 10:23:50 +00:00
marvin@3296bf3c446430c3b2ebc32b5c784ee976620847
af3ae1d3a8 2018-10-25 07:50:20 +00:00
marvin@3296bf3c446430c3b2ebc32b5c784ee976620847
720accb35c 2018-10-25 07:49:18 +00:00
Ilya_Shlyakhter
6d695f51cf added bug - creating git-annex-move not using parallelism? 2018-10-24 18:32:21 +00:00
Ilya_Shlyakhter
2ffa54ea71 added report of a multithreading-related bug with git-annex-drop 2018-10-24 17:08:38 +00:00
Ilya_Shlyakhter
eb5a738301 comment about creating named pipes as arguments 2018-10-24 16:36:32 +00:00
Ilya_Shlyakhter
859509fbb3 Added a comment 2018-10-24 16:01:53 +00:00
disteph@02005197c6b0e3d92255823d62c08dbe6d7a4d52
cbe8af4d2b Added a comment 2018-10-24 11:42:15 +00:00
seantparsons
9505cd52be 2018-10-23 20:19:55 +00:00
Joey Hess
b1424f0257
Merge branch 'master' of ssh://git-annex.branchable.com 2018-10-23 13:19:42 -04:00
yarikoptic
e7877cce84 Added a comment 2018-10-23 03:04:49 +00:00
Joey Hess
e80ccf9910
note re previous commit
git bisect says that b2bafdb2fc introduced
the test suite failure.

I still don't understand how the test suite was working before that
commit.
2018-10-22 21:04:42 -04:00
Joey Hess
94aa0e2f64
fix strange test failure
It was trying to git annex adjust when in a direct mode repo, and that
of course fails. What I don't understand though, is how the test suite
managed to work before, when it was clearly checking the wrong thing.
Since the right way to fix it was obvious, I have not bisected.

This work is supported by the NIH-funded NICEMAN (ReproNim TR&D3) project.
2018-10-22 16:51:09 -04:00
Joey Hess
63cf3381f0
fix incomplete renaming of function 2018-10-22 16:44:18 -04:00
Joey Hess
6ee660f33d
Merge branch 'master' of ssh://git-annex.branchable.com 2018-10-22 16:30:18 -04:00
Joey Hess
e72c11164b
devblog 2018-10-22 16:26:45 -04:00
Joey Hess
6bd67d4d46
cherry-pick too 2018-10-22 16:24:14 -04:00
yarikoptic
0e7c2655d9 Added a comment 2018-10-22 20:07:38 +00:00
Joey Hess
ede54b93ea
Merge branch 'master' of ssh://git-annex.branchable.com 2018-10-22 15:56:01 -04:00
Joey Hess
08b7ac6643
followup 2018-10-22 15:55:51 -04:00
Joey Hess
7b33e6c9f3
simplify 2018-10-22 15:54:12 -04:00
Joey Hess
9fdd91816d
followup 2018-10-22 15:53:13 -04:00
Joey Hess
fcca7adaff
instrument P2P --debug with connection and thread info
For debugging http://git-annex.branchable.com/bugs/annex_get_-J_16_via_ssh_stalls_/

This work is supported by the NIH-funded NICEMAN (ReproNim TR&D3) project.
2018-10-22 15:52:11 -04:00
Ilya_Shlyakhter
06007d795d Added a comment 2018-10-22 19:22:30 +00:00
yarikoptic
1cfd2c2b96 initial report on FTBS 2018-10-22 18:20:14 +00:00
yarikoptic
8a9d505409 Added a comment: stalling - also with =false 2018-10-22 17:34:28 +00:00
Joey Hess
ba0bbced51
source git-annex-install so it it can add git-annex to PATH
This commit was sponsored by Jack Hill on Patreon.
2018-10-22 13:22:10 -04:00
Joey Hess
ff9ba1f4d3
improve response 2018-10-22 13:10:17 -04:00
Joey Hess
41d6966747
followup 2018-10-22 13:07:40 -04:00