Commit graph

24700 commits

Author SHA1 Message Date
Joey Hess
595fb98473
add small delay to avoid problems on systems with low-resolution mtime
I've seen intermittent failures of the test suite with v6 for a long time,
it seems to have possibly gotten worse with the changes around v7. Or just
being unlucky; all tests failed today.

Seen on amd64 and i386 builders, repeatedly but intermittently:

	unused: FAIL (4.86s)
	Test.hs:928:
	git diff did not show changes to unlocked file

And I think other such failures, all involving v7/v6 mode tests.

I managed to reproduce the unused failure with --keep-failures,
and inside the repo, git diff was indeed not showing any changes for
the modified unlocked file.

The two stats will be the same other than mtime; the old and new files have
the same size and inode, since the test case writes to the file and then
overwrites it.

Indeed, notice the identical timestamps:

	builder@orca:~/gitbuilder/build/.t/tmprepo335$ echo 1 > foo; stat foo; echo 2 > foo; stat foo
	  File: foo
	  Size: 2         	Blocks: 8          IO Block: 4096   regular file
	Device: 801h/2049d	Inode: 3546179     Links: 1
	Access: (0644/-rw-r--r--)  Uid: ( 1000/ builder)   Gid: ( 1000/ builder)
	Access: 2018-10-29 22:14:10.894942036 +0000
	Modify: 2018-10-29 22:14:10.894942036 +0000
	Change: 2018-10-29 22:14:10.894942036 +0000
	 Birth: -
	  File: foo
	  Size: 2         	Blocks: 8          IO Block: 4096   regular file
	Device: 801h/2049d	Inode: 3546179     Links: 1
	Access: (0644/-rw-r--r--)  Uid: ( 1000/ builder)   Gid: ( 1000/ builder)
	Access: 2018-10-29 22:14:10.894942036 +0000
	Modify: 2018-10-29 22:14:10.898942036 +0000
	Change: 2018-10-29 22:14:10.898942036 +0000
	 Birth: -

I'm seeing this in Linux VMs; it doesn't happen on my laptop. I've also
not experienced the intermittent test suite failures on my laptop.

So, I hope that this small delay will avoid the problem.

Update: I didn't, indeed I then reproduced the same failure on my
laptop, so it must be due to something else. But keeping this change anyway
since not needing to worry about lowish-resolution mtime in the test suite seems
worthwhile.
2018-10-29 19:31:26 -04:00
Joey Hess
bdeba74d4d
Merge branch 'master' of ssh://git-annex.branchable.com 2018-10-29 17:11:55 -04:00
Ilya_Shlyakhter
24419efa35 Added a comment 2018-10-29 21:10:29 +00:00
Joey Hess
87d770e3fd
rethink 2018-10-29 17:09:55 -04:00
Ilya_Shlyakhter
6b5f2ecf0e Added a comment 2018-10-29 21:08:55 +00:00
Joey Hess
7a050660d6
ummmmm 2018-10-29 16:48:02 -04:00
Joey Hess
4431b82bce
migrate: Fix failure to migrate from URL keys. (Reversion introduced in version 6.20180926) 2018-10-29 16:36:36 -04:00
Joey Hess
d73f92d8bc
Merge branch 'master' of ssh://git-annex.branchable.com 2018-10-29 16:01:46 -04:00
Joey Hess
c472c268c4
webapp: Fixed a crash when adding a git remote.
Reversion introduced in 2b66492d6e which added a new cache that needs to be
cleared.
2018-10-29 16:01:08 -04:00
Ilya_Shlyakhter
b6e90fd18a Added a comment 2018-10-29 19:48:36 +00:00
Ilya_Shlyakhter
50d99e19a3 added suggestion about supporting alternate keys for same content 2018-10-29 19:43:25 +00:00
Joey Hess
3beab402e6
response 2018-10-29 15:40:52 -04:00
Joey Hess
0b52f95c05
followup 2018-10-29 15:28:58 -04:00
Ilya_Shlyakhter
9b268cdcc9 added git-annex-migrate failure 2018-10-29 19:22:24 +00:00
Joey Hess
64a369a1e2
followup 2018-10-29 15:14:34 -04:00
Joey Hess
e32282aa2c
followup 2018-10-29 15:11:40 -04:00
Joey Hess
d61314e494
comment 2018-10-29 15:02:20 -04:00
Joey Hess
a622488758
remove CHECKURL-MULTI single url response special case
Removed undocumented special case in handling of a CHECKURL-MULTI response
with only a single file listed. Rather than ignoring the url that was in
the response, use it. This allows external special remotes that want to
provide some better url to do so, although I don't entirely agree with
using CHECKURL-MULTI to accomplish that. I'm more of the feeling that an
undocumented special case that throws data away is just not a good idea.

This could in theory break some external special remote program that relied
on the current behavior, but its seems unlikely that it would because such
a program must already handle the multiple url case, unless it only ever
provides a single url response to CHECKURL-MULTI.

Make addurl --file work with a single item CHECKURL-MULTI response.
It already did for external special remotes due to the special case,
but now it also will for builtin ones like the BitTorrent special remote.

This commit was sponsored by Ilya Shlyakhter on Patron.
2018-10-29 14:52:12 -04:00
Joey Hess
3248319ca1
close todo item about bug report 2018-10-29 13:47:55 -04:00
Joey Hess
0b8dd0c35f
Merge branch 'master' of ssh://git-annex.branchable.com 2018-10-29 13:47:14 -04:00
Ilya_Shlyakhter
d69ebc62a2 reformatted listing 2018-10-28 20:34:52 +00:00
Ilya_Shlyakhter
f4d22a4586 added addurl suggestions 2018-10-28 20:32:25 +00:00
lykos@d125a37d89b1cfac20829f12911656c40cb70018
32477c0446 2018-10-28 15:05:16 +00:00
lykos@d125a37d89b1cfac20829f12911656c40cb70018
8e2834e5b4 2018-10-28 15:00:59 +00:00
lykos@d125a37d89b1cfac20829f12911656c40cb70018
46f65cc657 2018-10-28 14:55:13 +00:00
CandyAngel
b9063f94fc Added a comment 2018-10-27 22:33:21 +00:00
Joey Hess
bb8e245bc3
Merge branch 'master' of ssh://git-annex.branchable.com 2018-10-27 13:24:37 -04:00
kamil.figiela@79c245579d15acc2bf83467adce982bfaf8fc4cc
543a714b39 Added a comment 2018-10-27 09:32:22 +00:00
Joey Hess
5b9c66b551
fix link 2018-10-26 16:21:34 -04:00
Joey Hess
1f96b24382
remove section on direct mode
git-annex init on the sdcard will now create a v7 adjusted unlocked
repo. While the assistant does still set up direct mode, that's not
because of /sdcard being a crippled filesystem.
2018-10-26 13:57:17 -04:00
Joey Hess
7540ca6fca
some more v6 -> v7 doc changes 2018-10-26 13:56:36 -04:00
Joey Hess
6fd37fb016
Merge branch 'v7' 2018-10-26 13:52:09 -04:00
Joey Hess
3af29b3ba9
When annex.thin is set, allow hard links to be made between executable work tree files and annex objects.
This is safe, because while the annex object ends up executable,
there were already at least two other cases where it ended up executable:

1. git add an an executable file
2. chmod +x of a a non-executable worktree file that was hard linked to the
   annex object

After copy/hard link, it always fixes up the permissions to match the mode
of the worktree file, so when an executable annex object gets hard linked
to a non-executable worktree file, its execute bit gets removed.

Commit b7c8bf5274 already *said* it would do
this; I suspect the line of code I've removed was included in that commit
accidentially.

Also improves annex.thin documentation.

This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
2018-10-26 13:51:43 -04:00
Joey Hess
c7885491b2
clarifications 2018-10-26 13:51:15 -04:00
Joey Hess
2e6aff74c2
response 2018-10-26 13:44:55 -04:00
michael.hanke@c60e12358aa3fc6060531bdead1f530ac4d582ec
30a4e63f2a removed 2018-10-26 17:26:37 +00:00
michael.hanke@c60e12358aa3fc6060531bdead1f530ac4d582ec
45fd9057ca Added a comment: Awesome! 2018-10-26 17:13:48 +00:00
michael.hanke@c60e12358aa3fc6060531bdead1f530ac4d582ec
b39b4e7261 Added a comment: Awesome! 2018-10-26 17:13:21 +00:00
Joey Hess
e7e9c5744f
followup 2018-10-26 13:12:06 -04:00
Joey Hess
361740a112
close bug report, open todo item 2018-10-26 13:03:18 -04:00
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
Ilya_Shlyakhter
7f60776bd8 Added a comment: stable vs unstable keys 2018-10-26 15:58:26 +00:00
Ilya_Shlyakhter
3409eb4273 Added a comment 2018-10-26 15:27:51 +00:00
CandyAngel
ed0e3fc43c Added a comment 2018-10-26 11:35:19 +00:00
EskildHustvedt
44c27e4e18 Added a comment: v7 2018-10-26 09:33:10 +00:00
Joey Hess
636f4a68a9
doc update 2018-10-25 18:56:14 -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
pigmonkey
c6d12da6d6 Added a comment 2018-10-25 21:54:18 +00:00