Commit graph

32437 commits

Author SHA1 Message Date
83.175.76.211
41baab276e poll vote (/sdcard/annex) 2018-08-30 05:03:01 +00:00
kyle@9c8cc228b2254d7f0f8c42be54a2ac1b81edf416
92be1cc8c7 2018-08-29 21:20:26 +00:00
Joey Hess
dad627fa9e
remove false starts, simplify 2018-08-29 14:12:18 -04:00
Joey Hess
5b78952f78
misunderstood some code; simplify 2018-08-29 14:09:18 -04:00
Joey Hess
e216c18318
new much improved plan 2018-08-29 13:59:52 -04:00
Joey Hess
d3c9d72245
followup 2018-08-29 12:20:24 -04:00
Joey Hess
f54c72d2e1
Fix build on FreeBSD
This must have been broken for years..

This commit was sponsored by Jack Hill on Patreon.
2018-08-29 12:09:03 -04:00
Joey Hess
084e88964d
close 2018-08-29 12:04:46 -04:00
Joey Hess
332c1513f9
fix link 2018-08-29 11:02:16 -04:00
Joey Hess
b99d60172d
Merge branch 'master' of ssh://git-annex.branchable.com 2018-08-29 10:56:26 -04:00
Joey Hess
3874c5c88d
further thoughts 2018-08-29 10:56:02 -04:00
Joey Hess
44658d80ef
clarify comment 2018-08-29 10:55:52 -04:00
77.119.239.37
587e0983ac poll vote (/sdcard/annex) 2018-08-29 13:38:24 +00:00
77.119.239.37
661f603a62 poll vote (/sdcard/annex) 2018-08-29 13:38:17 +00:00
77.119.239.37
0f37b9c7ec poll vote (/sdcard/annex) 2018-08-29 13:38:10 +00:00
77.119.239.37
db0f98a619 poll vote (/sdcard/annex) 2018-08-29 13:38:03 +00:00
Joey Hess
0a896bdf39
fix syntax 2018-08-29 09:20:25 -04:00
Joey Hess
2b0cc71fbf
don't configure smudge filter in bare repo
Pointless to do it there.

Also, the git status call would fail in such a repo.
2018-08-29 09:16:50 -04:00
Joey Hess
c565340adc
stop using external hash programs, since cryptonite is faster
In 2013, I wrote "Cryptohash benchmarks 90 to 101% faster than external
hashers". Re-benchmarking today, I found cryptonite's sha256 consistently
outperformed coreutils by 10% for large files. Tested 10 mb, 100 mb, 1 gb
files with both sha256 and sha512. And for smaller files, the external
process startup time swamps the hash time.

Perhaps cryptonite has improved. Or it could just do better on my
current CPU Intel(R) Pentium(R) CPU 4410Y @ 1.50GHz). Anyway, even if cryptonite
is slower in some situations, seems likely it would only be marginally slower;
it's got the same class of highly optimised C code under the hood as coreutils.
The main difference between the two sha256 implementations seems to be
how much of the inner loop they unroll..

This commit was sponsored by Henrik Riomar on Patreon.
2018-08-28 18:10:58 -04:00
Joey Hess
6001b3cf45
fix build warning 2018-08-28 13:17:06 -04:00
Joey Hess
759a87ad70
fix git command queue to be concurrency safe
Probably not noticed until now because the queue is large enough that two
threads each filling theirs at the same time and flushing is unlikely to
happen.

Also made explicit that each worker thread gets its own queue.
I think that was the case before, but if something was put in the queue
before worker threads were forked off, they could have each inherited the
same queue.

Could have gone with a single shared queue, but per-worker queues is more
efficient, because a worker can add lots of stuff to its own queue without
any locking.

This commit was sponsored by Ole-Morten Duesund on Patreon.
2018-08-28 13:16:33 -04:00
Joey Hess
3a71f3a4a9
reproduced 2018-08-28 12:35:15 -04:00
Joey Hess
ebdb17cda7
followup 2018-08-28 12:21:23 -04:00
Joey Hess
2b4a9a7cd8
Merge branch 'master' of ssh://git-annex.branchable.com 2018-08-28 12:14:41 -04:00
Joey Hess
b1280eb252
new todo (requested by yoh) 2018-08-28 12:14:06 -04:00
petr.marketlab@4024e478aebbe860ab1cbf03aca8adb30127c56e
2acca8a3ae 2018-08-28 15:26:07 +00:00
petr.marketlab@4024e478aebbe860ab1cbf03aca8adb30127c56e
1885cca783 2018-08-28 15:18:27 +00:00
Joey Hess
401a79675b
run git status before enabling clean filter
Avoids annex.largefiles inconsitency and also avoids a lot of
unneccessary calls to the clean filter when a large repo's clone
is being initialized.

This commit was supported by the NSF-funded DataLad project.
2018-08-28 10:36:22 -04:00
Joey Hess
82b28a8487
devblog 2018-08-27 15:10:16 -04:00
Joey Hess
6adc0d2b3f
bug triage 2018-08-27 15:10:05 -04:00
Joey Hess
10138056dc
v6: avoid accidental conversion when annex.largefiles is not configured
v6: When annex.largefiles is not configured for a file, running git add or
git commit, or otherwise using git to stage a file will add it to the annex
if the file was in the annex before, and to git otherwise. This is to avoid
accidental conversion.

Note that git-annex add's behavior has not changed, for reasons explained
in the added comment.

Performance: No added overhead when annex.largefiles is configured.
When not configured, there is an added call to catObjectMetaData,
which involves a round trip through git cat-file --batch.
However, the earlier catKeyFile primes the cache for it.

This commit was supported by the NSF-funded DataLad project.
2018-08-27 14:51:10 -04:00
Joey Hess
b3dfcd18fe
followup 2018-08-27 13:36:11 -04:00
Joey Hess
8478544b58
analysis, plan
This commit was supported by the NSF-funded DataLad project.
2018-08-27 13:14:34 -04:00
Joey Hess
d7f386a81d
reproduced with current 2018-08-27 12:20:58 -04:00
Joey Hess
d5980b7139
close, this was fixed last week 2018-08-27 12:15:43 -04:00
Joey Hess
4876f412fc
Merge branch 'master' of ssh://git-annex.branchable.com 2018-08-27 10:42:12 -04:00
Joey Hess
2c9f21e987
todo 2018-08-26 20:59:20 -04:00
duncan_bayne
5a90234f47 2018-08-26 02:37:25 +00:00
anarcat
af727108b0 update status to mention tor 2018-08-24 21:35:11 +00:00
anarcat
bfab1da5a7 mention that dat thing 2018-08-24 21:30:20 +00:00
hobbes@b2cacef69071743c3a831e60511062f7e014e52f
d8cd7c1ac4 Added a comment: Building with OpenBSD 2018-08-23 19:30:09 +00:00
Joey Hess
681ed8ea58
devblog 2018-08-22 16:10:27 -04:00
Joey Hess
98fd7ec6c9
recover from race between git mv+commit and git-annex get
Last of the known v6 races.

This also makes git add of a pointer file populate it when its content
is present in the annex. Which makes sense to do, I think.

This commit was supported by the NSF-funded DataLad project.
2018-08-22 16:01:50 -04:00
Joey Hess
50fa17aee6
v6: recover from race between git mv and git-annex get/drop
Update pointer file next time reconcileStaged is run to recover from the
race.

Note that restagePointerFile causes git to run the clean filter,
and that will run reconcileStaged. So, normally by the time the git
annex get/drop command finishes, the race has already been dealt with.
It may be that, in some case, that won't happen and the race will be
dealt with at a later point. git-annex could run reconcileStaged at
shutdown if that becomes a problem.

This does not handle the situation where the git mv is committed before
git-annex gets a chance to run again. git commit does run the clean
filter, and that happens to re-inject the content if it was supposed to
be dropped but is still populated. But, the case where the file was
supposed to be gotten but is not populated is not handled yet.

This commit was supported by the NSF-funded DataLad project.
2018-08-22 15:56:43 -04:00
Joey Hess
9ff1c62a4d
fix race
If a pointer file is being populated and something modifies it at the
same time, there was a race there the modified file's InodeCache
could get added into the keys database.

Note that replaceFile normally renames the temp file into place, so the
inode cache caculated for the temp file will still be good. If it has to
fall back to a copy, the worktree file won't be put in the inode cache.
This has the same result as if the worktree file gets touched, and will
be handled the same way. Eg, when dropping, isUnmodified will do an
expensive comparison and notice that the worktree file does have the
same content, and so drop it.

This commit was supported by the NSF-funded DataLad project.
2018-08-22 15:22:52 -04:00
Joey Hess
e094cf3377
split out modules from Annex.Content 2018-08-22 14:45:53 -04:00
Joey Hess
e9b2674281
plan 2018-08-22 13:58:32 -04:00
Joey Hess
38a934cf07
correction 2018-08-22 13:34:15 -04:00
Joey Hess
18ecf41917
avoid running reconcileStaged when the index has not changed
This commit was supported by the NSF-funded DataLad project.
2018-08-22 13:04:12 -04:00
rajagopal.abhejit@a18fbb434d26431ed70e7fad7bd6a696df2b7d85
65bd018f94 removed 2018-08-22 01:13:45 +00:00