yarikoptic [Mon, 5 Oct 2020 15:26:10 +0000 (15:26 +0000)]
Added a comment
Ilya_Shlyakhter [Sun, 4 Oct 2020 15:45:16 +0000 (15:45 +0000)]
Added a comment: standalone build
yarikoptic [Sat, 3 Oct 2020 04:04:28 +0000 (04:04 +0000)]
Initial report on hanging batched processes
yarikoptic [Sat, 3 Oct 2020 03:52:33 +0000 (03:52 +0000)]
initial report on rm failing to remove cache/locales
kyle [Thu, 1 Oct 2020 19:07:48 +0000 (19:07 +0000)]
Added a comment
yarikoptic [Thu, 1 Oct 2020 17:26:10 +0000 (17:26 +0000)]
Added a comment
Joey Hess [Thu, 1 Oct 2020 17:08:09 +0000 (13:08 -0400)]
response
Joey Hess [Thu, 1 Oct 2020 16:53:24 +0000 (12:53 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master
yarikoptic [Thu, 1 Oct 2020 14:06:34 +0000 (14:06 +0000)]
Added a comment
Joey Hess [Wed, 30 Sep 2020 15:09:09 +0000 (11:09 -0400)]
avoid git check-ignore overhead on importing known files
isKnownImportLocation does a database lookup and there's an index
to make that lookup fast, so it's probably faster than talking to git
check-ignore. Checking the matcher is faster still.
While before the gitignore check was added it did not need to always
check isknown, now it does, because it's that or the more expensive
notignored. But at least we can skip notignored when a file is known,
which will often be the common case: Importing from a remote that's been
exported to, and/or imported from before, only new files will not be
known, so only those will need to check notignored.
At first, I had this:
(matches <&&> (isknown <||> notignored)) <||> isknown
Notice that checks isknown every time, whether it matches or not.
So, it's no slower to instead do this:
isknown <||> (matches <&&> notignored)
That has the benefit that, when it's known, it doesn't need to run
matches, which while faster than isknown, is still going to use some CPU.
And it perhaps more clearly expresses the condition: Any known file is
wanted, otherwise it's down to what matches and is not ignored.
This commit was sponsored by Jack Hill on Patren.
Joey Hess [Wed, 30 Sep 2020 14:41:59 +0000 (10:41 -0400)]
import: Check gitignores when importing trees from special remotes
It seemed best to do this, for consistency with every other way files can
get into a git-annex repo. Although it's just a bit strange that a local
.gitignore file affects the pseudo-commits made for the remote that's
imported from.
This commit was sponsored by Brett Eisenberg on Patreon.
Joey Hess [Wed, 30 Sep 2020 14:10:03 +0000 (10:10 -0400)]
avoid a second traversal of the ImportableContents
Do all filtering in one pass.
Joey Hess [Wed, 30 Sep 2020 13:40:06 +0000 (09:40 -0400)]
typo
Joey Hess [Tue, 29 Sep 2020 21:53:48 +0000 (17:53 -0400)]
Parse youtube-dl progress output
Which lets progress be displayed when doing concurrent downloads.
Amoung other things, like --json-progress etc.
The youtube-dl output is no longer displayed, except for any errors.
This commit was sponsored by Denis Dzyubenko on Patreon.
Joey Hess [Tue, 29 Sep 2020 17:59:51 +0000 (13:59 -0400)]
add a pointer for git-annex repos over http
So users are less likely to try to use httpalso for them, which is not
its purpose.
Joey Hess [Tue, 29 Sep 2020 17:56:27 +0000 (13:56 -0400)]
httpalso: Support being used with special remotes that do not have encryption= in their config.
Joey Hess [Tue, 29 Sep 2020 17:51:51 +0000 (13:51 -0400)]
add import
Joey Hess [Tue, 29 Sep 2020 17:45:14 +0000 (13:45 -0400)]
upgrade: Avoid an upgrade failure of a bare repo in unusual circumstances
Joey Hess [Tue, 29 Sep 2020 17:26:48 +0000 (13:26 -0400)]
close
Joey Hess [Tue, 29 Sep 2020 17:25:31 +0000 (13:25 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master
Joey Hess [Tue, 29 Sep 2020 17:00:41 +0000 (13:00 -0400)]
addurl: Avoid a redundant git ignores check for speed
Ensure that checkCanAdd is used everywhere a file is added to git,
so git add is run with -f, presumably avoiding the work it would usually
do to check ignores.
rto@914936d87a43105f8c5df5ae4787140e7eb5d846 [Tue, 29 Sep 2020 16:51:49 +0000 (16:51 +0000)]
Joey Hess [Tue, 29 Sep 2020 16:25:40 +0000 (12:25 -0400)]
comment
Joey Hess [Tue, 29 Sep 2020 16:12:25 +0000 (12:12 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master
Joey Hess [Tue, 29 Sep 2020 16:11:50 +0000 (12:11 -0400)]
fix inverted logic in recent commit
lykos@d125a37d89b1cfac20829f12911656c40cb70018 [Tue, 29 Sep 2020 08:36:37 +0000 (08:36 +0000)]
removed
lykos@d125a37d89b1cfac20829f12911656c40cb70018 [Tue, 29 Sep 2020 08:36:19 +0000 (08:36 +0000)]
Added a comment
lykos@d125a37d89b1cfac20829f12911656c40cb70018 [Tue, 29 Sep 2020 08:32:22 +0000 (08:32 +0000)]
Added a comment
mark@6b90344cdab3158eacb94a3944460d138afc9bef [Mon, 28 Sep 2020 21:40:23 +0000 (21:40 +0000)]
Added a comment
mark@6b90344cdab3158eacb94a3944460d138afc9bef [Mon, 28 Sep 2020 21:10:58 +0000 (21:10 +0000)]
Added a comment
mark@6b90344cdab3158eacb94a3944460d138afc9bef [Mon, 28 Sep 2020 21:09:27 +0000 (21:09 +0000)]
yarikoptic [Mon, 28 Sep 2020 19:44:08 +0000 (19:44 +0000)]
Added a comment
Joey Hess [Mon, 28 Sep 2020 19:30:23 +0000 (15:30 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master
Joey Hess [Mon, 28 Sep 2020 19:29:08 +0000 (15:29 -0400)]
sync --no-content import from directory special remote
sync: When run without --content, import without copying from
importtree=yes directory special remotes. (Other special remotes may
support this later as well.)
This commit was sponsored by Svenne Krap on Patreon.
Joey Hess [Mon, 28 Sep 2020 19:03:15 +0000 (15:03 -0400)]
consistently use importKey when available
This avoids import with --no-content and with --content potentially
generating two different trees, leading to a merge conflict when run in
two different clones of a repo. And it's necessary groundwork to make
git-annex sync --no-content import from special remotes that support
importKey.
Only the directory special remote currently supports importKey, and it
generates the same key as git-annex usually does, so there is no
behavior change for it.
Future special remotes will need to take care when adding importKey,
if it generates different keys. Added some warnings about that to
comments.
This commit was sponsored by Noam Kremen on Patreon.
Joey Hess [Mon, 28 Sep 2020 17:22:16 +0000 (13:22 -0400)]
import --no-content: Check annex.largefiles
Import small files into git, the same as is done when importing with content.
Which means, for small files, --no-content does download them.
If the largefiles expression needs the file content available
(due to mimetype or mimeencoding being used), the import will fail.
This commit was sponsored by Jake Vosloo on Patreon.
Joey Hess [Mon, 28 Sep 2020 16:06:10 +0000 (12:06 -0400)]
split ProvidedInfo and UserProvidedInfo
The latter is for git-annex matchexpression and matching against it can
throw an exception. Splitting out the former reduces the potential for
mistakes and avoids needing to worry about matching against that
throwing an exception.
This is more groundwork for matching largefiles while importing,
without downloading content.
This commit was sponsored by Graham Spencer on Patreon.
Joey Hess [Mon, 28 Sep 2020 15:08:30 +0000 (11:08 -0400)]
allow matching on files whose content is not present
Anything that needs to examine the file content will fail to match,
or fall back to other available information. But the intent is that the
matcher be checked for matchNeedsFileContent and only be used if it does
not, so the exact behavior doesn't much matter as it should never
happen.
The real point of this is to not need to provide a dummy content file
when matching.
This commit was sponsored by Martin D on Patreon.
Joey Hess [Mon, 28 Sep 2020 14:40:13 +0000 (10:40 -0400)]
split out todo
Joey Hess [Mon, 28 Sep 2020 14:13:15 +0000 (10:13 -0400)]
close as unreproducible
Joey Hess [Mon, 28 Sep 2020 14:11:24 +0000 (10:11 -0400)]
moreinfo
Joey Hess [Mon, 28 Sep 2020 14:04:38 +0000 (10:04 -0400)]
close
mhauru [Sun, 27 Sep 2020 14:03:12 +0000 (14:03 +0000)]
yarikoptic [Sun, 27 Sep 2020 13:42:18 +0000 (13:42 +0000)]
Added a comment
mhauru [Sun, 27 Sep 2020 12:40:57 +0000 (12:40 +0000)]
Added a comment: NeuroDebian seems to have stopped updating
Joey Hess [Fri, 25 Sep 2020 17:51:20 +0000 (13:51 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master
Joey Hess [Fri, 25 Sep 2020 17:50:44 +0000 (13:50 -0400)]
add todo
Lukey [Fri, 25 Sep 2020 16:33:42 +0000 (16:33 +0000)]
Added a comment
Joey Hess [Fri, 25 Sep 2020 15:47:34 +0000 (11:47 -0400)]
remove reapZombies
Believed to be no longer needed as I've squashed the last ones.
Note that, in Test.Framework, I can see no reason for the code to have
run it twice. It does not cause running processes to exit after all,
so any process that has leaked and is running and causing problems with
cleanup of the directory won't be helped by running it.
This commit was sponsored by Mark Reidenbach on Patreon.
Joey Hess [Fri, 25 Sep 2020 15:38:42 +0000 (11:38 -0400)]
remove zombie process in file seeking
This was the last one marked as a zombie. There might be others I don't
know about, but except for in the hypothetical case of a thread dying
due to an async exception before it can wait on a process it started, I
don't know of any.
It would probably be safe to remove the reapZombies now, but let's wait
and so that in its own commit in case it turns out to cause problems.
This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
Joey Hess [Fri, 25 Sep 2020 15:07:41 +0000 (11:07 -0400)]
fix build warning
Joey Hess [Fri, 25 Sep 2020 14:58:30 +0000 (10:58 -0400)]
explicitly wait for a git process
Eliminate a zombie that was only cleaned up by the later zombie cleanup
code.
This is still not ideal, it would be cleaner if it used conduit or
something, and if the thread gets killed before waiting, it won't stop
the process.
Only remaining zombies are in CmdLine.Seek
Joey Hess [Fri, 25 Sep 2020 14:56:07 +0000 (10:56 -0400)]
devblog (for yesterday, forgot to add)
Joey Hess [Fri, 25 Sep 2020 14:55:03 +0000 (10:55 -0400)]
fix some compile warnings left in yesterday
at least 2 could have caused a crash in some circumstances
This commit was sponsored by Brett Eisenberg on Patreon.
Joey Hess [Thu, 24 Sep 2020 21:59:05 +0000 (17:59 -0400)]
seek: defer matcher check until more info is known
Sped up seeking for files to operate on, when using options like --copies
or --in, by around 20%.
Benchmark showed an increase for --copies from 155 seconds to 121
seconds, and --in remote will be similar to that.
For --in here, the speedup was less, 5-10% or so.
(both warm cache)
This commit was sponsored by Jack Hill on Patreon.
Joey Hess [Thu, 24 Sep 2020 20:51:30 +0000 (16:51 -0400)]
close this
phibs who was seeing hangs confirmed they're gone on irc
Joey Hess [Thu, 24 Sep 2020 20:08:47 +0000 (16:08 -0400)]
fix some matchNeedsFileName values
matchMagic: Always False for MatchingKey. Unsure why.. Could be a bug?
limitUnused: Behaves differently when there is a filename.
limitSize: When used with LimitDiskFiles, checks the size on disk of the
filename.
Joey Hess [Thu, 24 Sep 2020 19:37:39 +0000 (15:37 -0400)]
remove debug print
Joey Hess [Thu, 24 Sep 2020 19:13:33 +0000 (15:13 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master
Joey Hess [Thu, 24 Sep 2020 19:12:09 +0000 (15:12 -0400)]
sync --all avoid unncessary first pass
Sped up seeking to around twice as fast, by avoiding a pass over the
worktree files when preferred content expressions of the local repo and
remotes don't use include=/exclude=.
Thanks to Lukey for identifying the optimisation.
This commit was sponsored by Brock Spratlen on Patreon.
yarikoptic [Thu, 24 Sep 2020 18:49:06 +0000 (18:49 +0000)]
Added a comment
Joey Hess [Thu, 24 Sep 2020 18:23:25 +0000 (14:23 -0400)]
wait for first pass to complete before second pass
Otherwise the bloom filter may not be fully populated when the second
pass starts, which could have led to incorrect behavior with --all -J,
probably in very rare circumstances.
Joey Hess [Thu, 24 Sep 2020 18:22:56 +0000 (14:22 -0400)]
remove obsolete comment
Joey Hess [Thu, 24 Sep 2020 17:55:19 +0000 (13:55 -0400)]
make MatchFiles introspectable
matchNeedsFileContent is not used yet, but shows how to add information
about terminals. That one would be needed for
https://git-annex.branchable.com/todo/sync_fast_import/
Note the tricky bit in Annex.FileMatcher.call where it folds over the
included matcher to propagate the information.
This commit was sponsored by Svenne Krap on Patreon.
Joey Hess [Thu, 24 Sep 2020 16:54:54 +0000 (12:54 -0400)]
add meta todo
Joey Hess [Thu, 24 Sep 2020 16:42:32 +0000 (12:42 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master
Joey Hess [Thu, 24 Sep 2020 16:39:57 +0000 (12:39 -0400)]
Improve --debug output to show pid of processes that are started and stopped
getPid returns Nothing if the process has already been stopped, and in that
case, the pid will not be displayed. I think that would only happen if
waitForProcess or similar gets called more than once on the same process
handle though.
getPid on unix has an overhead of only a MVar read. On Windows it needs to
make a syscall, so will be probably more expensive. While the added expense
happens even when debug logging is disabled, it should be small enough
compared with the overhead of starting a process that it's not a problem.
(It does occur to me that a debugM that took an IO String could only run it
when debugging is really enabled, which would improve performance. It does
not seem possible to use the current hslogger interface to do that though;
it does not expose the information that would be needed.)
Lukey [Thu, 24 Sep 2020 16:36:12 +0000 (16:36 +0000)]
yarikoptic [Thu, 24 Sep 2020 15:37:21 +0000 (15:37 +0000)]
Added a comment: is -J shared between workers and ASYNC or "multipliticative"?
yarikoptic [Wed, 23 Sep 2020 13:03:38 +0000 (13:03 +0000)]
initial TODO for making failure messages for processes be more informative
Joey Hess [Tue, 22 Sep 2020 18:10:30 +0000 (14:10 -0400)]
Improve the "Try making some of these repositories available" message
With some hints for the user for what to do.
Took care to avoid changing the json output. It would have been ok to add
the new separated lists to it, in addition to the old list, but I didn't
do that because I didn't see much point.
Joey Hess [Tue, 22 Sep 2020 17:52:26 +0000 (13:52 -0400)]
cache remote.log
Unlikely to speed up any of the existing uses much, but I want to use it
in a message that might be displayed many times.
Joey Hess [Tue, 22 Sep 2020 17:26:49 +0000 (13:26 -0400)]
fix typo
Joey Hess [Tue, 22 Sep 2020 16:39:33 +0000 (12:39 -0400)]
wording
Joey Hess [Tue, 22 Sep 2020 16:24:22 +0000 (12:24 -0400)]
comment
Added a comment
kyle [Mon, 21 Sep 2020 14:38:26 +0000 (14:38 +0000)]
Added a comment
NicholasLee [Mon, 21 Sep 2020 00:24:32 +0000 (00:24 +0000)]
Added a comment
Ilya_Shlyakhter [Sun, 20 Sep 2020 21:58:45 +0000 (21:58 +0000)]
Added a comment: history of annexed file
NicholasLee [Sun, 20 Sep 2020 02:28:11 +0000 (02:28 +0000)]
Added a comment
yarikoptic [Fri, 18 Sep 2020 20:11:27 +0000 (20:11 +0000)]
Added a comment
Joey Hess [Fri, 18 Sep 2020 17:33:35 +0000 (13:33 -0400)]
make git-annex add --no-check-gitignore not skip ignored files, same as with --force
Joey Hess [Fri, 18 Sep 2020 17:21:32 +0000 (13:21 -0400)]
close
Joey Hess [Fri, 18 Sep 2020 17:21:00 +0000 (13:21 -0400)]
comment
Joey Hess [Fri, 18 Sep 2020 17:12:04 +0000 (13:12 -0400)]
Added --no-check-gitignore option for finer grained control than using --force.
add, addurl, importfeed, import: Added --no-check-gitignore option
for finer grained control than using --force.
(--force is used for too many different things, and at least one
of these also uses it for something else. I would like to reduce
--force's footprint until it only forces drops or a few other data
losses. For now, --force still disables checking ignores too.)
addunused: Don't check .gitignores when adding files. This is a behavior
change, but I justify it by analogy with git add of a gitignored file
adding it, asking to add all unused files back should add them all back,
not skip some. The old behavior was surprising.
In Command.Lock and Command.ReKey, CheckGitIgnore False does not change
behavior, it only makes explicit what is done. Since these commands are run
on annexed files, the file is already checked into git, so git add won't
check ignores.
Joey Hess [Fri, 18 Sep 2020 16:08:11 +0000 (12:08 -0400)]
comment
Joey Hess [Fri, 18 Sep 2020 16:00:12 +0000 (12:00 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master
Joey Hess [Fri, 18 Sep 2020 15:58:18 +0000 (11:58 -0400)]
add missing CHECKURL-FAILURE ErrorMsg to docs
yarikoptic [Fri, 18 Sep 2020 15:30:23 +0000 (15:30 +0000)]
some whining about check-ignore
yarikoptic [Thu, 17 Sep 2020 23:39:42 +0000 (23:39 +0000)]
initial todo to add ErrorMsg to all -FAILURE responses
Joey Hess [Thu, 17 Sep 2020 21:27:42 +0000 (17:27 -0400)]
Serialize use of C magic library, which is not thread safe.
This fixes failures uploading to S3 when using -J.
This commit was sponsored by Denis Dzyubenko on Patreon.
Joey Hess [Thu, 17 Sep 2020 21:19:58 +0000 (17:19 -0400)]
comment
Joey Hess [Thu, 17 Sep 2020 21:19:45 +0000 (17:19 -0400)]
improve this comment
https://christian.amsuess.com/chrysn [Thu, 17 Sep 2020 20:42:12 +0000 (20:42 +0000)]
Added a comment: Re: comment 1
Joey Hess [Thu, 17 Sep 2020 20:23:29 +0000 (16:23 -0400)]
reproduced, some tcpdump analysis
Joey Hess [Thu, 17 Sep 2020 18:26:16 +0000 (14:26 -0400)]
comment
https://christian.amsuess.com/chrysn [Thu, 17 Sep 2020 14:57:54 +0000 (14:57 +0000)]
Added a comment: update
https://christian.amsuess.com/chrysn [Thu, 17 Sep 2020 14:43:49 +0000 (14:43 +0000)]
document bug i ran into early while exploring httpalso
Joey Hess [Wed, 16 Sep 2020 17:02:58 +0000 (13:02 -0400)]
Merge branch 'batchasync' into master