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
Joey Hess [Wed, 16 Sep 2020 17:02:35 +0000 (13:02 -0400)]
close
Joey Hess [Wed, 16 Sep 2020 17:00:47 +0000 (13:00 -0400)]
tip documenting mostly --batch --json including with -J
Joey Hess [Wed, 16 Sep 2020 16:10:45 +0000 (12:10 -0400)]
avoid interleaving command stages with Concurrency 1
Before, -J1 was different than no -J: It makes concurrent-output be used
for display, and it actually can run concurrent jobs in some situations.
Eg, a perform stage and a cleanup stage can both run.
dupState is used in several places, and changes NonConcurrent to
Concurrent 1. My concern is that this might, in some case, enable
that concurrent behavior. And in particular, that it might get enabled in
--batch mode, when the user is not expecting concurrent output because
they did not pass -J.
While I don't have a test case where that happens and causes out of
order output, it looks like it could, and so prudent to make this change.
Joey Hess [Wed, 16 Sep 2020 15:58:19 +0000 (11:58 -0400)]
support --batch -J
--batch combined with -J now runs batch requests concurrently for many
commands. Before, the combination was accepted, but did not enable
concurrency. Since the output of batch requests can be in any order, --json
with the new "input" field is recommended to be used, to determine which
batch request each response corresponds to.
If --json is not used, batch mode still runs concurrently, using the usual
concurrent-output. That will not be very useful for most batch mode users,
probably, but who knows.
If a program was using --batch -J before, and was parsing non-json output,
this could break it. But, it was relying on git-annex not supporting
concurrency despite it being enabled, so it should have expected concurrent
output. So, I think that's ok.
annex.jobs does not enable concurrency in --batch mode, because that would
confuse programs that use --batch but don't expect concurrency.
Joey Hess [Wed, 16 Sep 2020 15:41:28 +0000 (11:41 -0400)]
differentiate between concurrency enabled at command line and by git config
The latter should not affect --batch mode.
Joey Hess [Wed, 16 Sep 2020 15:16:48 +0000 (11:16 -0400)]
rename Configurable for clarity
Joey Hess [Wed, 16 Sep 2020 14:53:16 +0000 (10:53 -0400)]
remove callCommandAction'
This is prep for making batchCommandAction use commandAction,
which will enable concurrency for batch mode. Since commandAction can't
return anything, have to handle the case of a CommandStart that chooses
to do nothing in a different way.
Joey Hess [Wed, 16 Sep 2020 14:18:36 +0000 (10:18 -0400)]
refactor
batchStart folded into only caller
Joey Hess [Tue, 15 Sep 2020 20:41:01 +0000 (16:41 -0400)]
comment
Joey Hess [Tue, 15 Sep 2020 20:30:22 +0000 (16:30 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master
Joey Hess [Tue, 15 Sep 2020 20:29:38 +0000 (16:29 -0400)]
groundwork complete
Joey Hess [Tue, 15 Sep 2020 20:22:44 +0000 (16:22 -0400)]
add "input" field to json output
The use case of this field is mostly to support -J combined with --json.
When that is implemented, a user will be able to look at the field to
determine which of the requests they have sent it corresponds to.
The field typically has a single value in its list, but in some cases
mutliple values (eg 2 command-line params) are combined together and the
list will have more.
Note that json parsing was already non-strict, so old git-annex metadata
--json --batch can be fed json produced by the new git-annex and will
not stumble over the new field.
Joey Hess [Tue, 15 Sep 2020 19:44:37 +0000 (15:44 -0400)]
use Branch.name instead of hard coding the branch name
Makes much more clear why ActionItemOther is being passed "git-annex".
Joey Hess [Mon, 14 Sep 2020 20:49:33 +0000 (16:49 -0400)]
add SeekInput (not yet used)
No behavior changes (hopefully), just adding SeekInput and plumbing it
through to the JSON display code for later use.
Over the course of 2 grueling days.
withFilesNotInGit reimplemented in terms of seekHelper
should be the only possible behavior change. It seems to test as
behaving the same.
Note that seekHelper dummies up the SeekInput in the case where
segmentPaths' gives up on sorting the expanded paths because there are
too many input paths. When SeekInput later gets exposed as a json field,
that will result in it being a little bit wrong in the case where
100 or more paths are passed to a git-annex command. I think this is a
subtle enough problem to not matter. If it does turn out to be a
problem, fixing it would require splitting up the input
parameters into groups of < 100, which would make git ls-files run
perhaps more than is necessary. May want to revisit this, because that
fix seems fairly low-impact.
Added a comment
Joey Hess [Tue, 15 Sep 2020 00:00:54 +0000 (20:00 -0400)]
few more details
Joey Hess [Mon, 14 Sep 2020 23:52:49 +0000 (19:52 -0400)]
info gathered from irc
Joey Hess [Mon, 14 Sep 2020 22:37:49 +0000 (18:37 -0400)]
aws-0.22 improved its support for setting etags, which improves support for versioned S3 buckets.
Remove placeholder version number I used when implementing the feature in
aws.
This commit was sponsored by Ethan Aubin.
Joey Hess [Mon, 14 Sep 2020 22:30:41 +0000 (18:30 -0400)]
point to commit that may fix this
Joey Hess [Mon, 14 Sep 2020 22:19:51 +0000 (18:19 -0400)]
deepseq all things returned from ResourceT http
Potentially fixes https://git-annex.branchable.com/bugs/concurrent_git-annex-copy_to_s3_special_remote_fails/
although I don't know if it does.
My thinking is, ResourceT may allocate a resource and then free it,
and a unforced thunk to that resource could result in reading memory
that has since been overwritten by something else, or in a SEGV,
depending. While that seems kind of like a bug in ResourceT to me, if it
is what's happening, this will avoid it. If it's not, this doesn't
really hurt much since the values are all smallish.
This commit was sponsored by Graham Spencer on Patreon.
Joey Hess [Mon, 14 Sep 2020 21:19:10 +0000 (17:19 -0400)]
close as dup
Joey Hess [Mon, 14 Sep 2020 21:15:54 +0000 (17:15 -0400)]
close as dup
Joey Hess [Mon, 14 Sep 2020 20:57:47 +0000 (16:57 -0400)]
update
Joey Hess [Mon, 14 Sep 2020 17:12:40 +0000 (13:12 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master
Sean Whitton [Mon, 14 Sep 2020 03:27:42 +0000 (20:27 -0700)]
fix dist in latest NEWS entry
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
kyotov [Sun, 13 Sep 2020 16:40:53 +0000 (16:40 +0000)]
Ilya_Shlyakhter [Sat, 12 Sep 2020 19:07:58 +0000 (19:07 +0000)]
Added a comment: standalone build version oddity
falsifian [Sat, 12 Sep 2020 15:50:18 +0000 (15:50 +0000)]
clarify first fsck call gave no output
falsifian [Sat, 12 Sep 2020 15:43:49 +0000 (15:43 +0000)]
falsifian [Sat, 12 Sep 2020 15:30:38 +0000 (15:30 +0000)]
removed
falsifian [Sat, 12 Sep 2020 15:30:06 +0000 (15:30 +0000)]
Added a comment
falsifian [Sat, 12 Sep 2020 15:29:42 +0000 (15:29 +0000)]
Added a comment
Ilya_Shlyakhter [Sat, 12 Sep 2020 15:20:21 +0000 (15:20 +0000)]
Added a comment: updating the standalone distribution to 8.
20200908
falsifian [Sat, 12 Sep 2020 15:14:00 +0000 (15:14 +0000)]
falsifian [Sat, 12 Sep 2020 03:52:07 +0000 (03:52 +0000)]
removed
falsifian [Sat, 12 Sep 2020 03:51:52 +0000 (03:51 +0000)]
removed
falsifian [Sat, 12 Sep 2020 03:44:52 +0000 (03:44 +0000)]
Added a comment
falsifian [Sat, 12 Sep 2020 03:36:03 +0000 (03:36 +0000)]
Added a comment: Can I actually add a requirement like "at least two copies stored offsite" without specifying a particular repo?
yarikoptic [Fri, 11 Sep 2020 02:18:21 +0000 (02:18 +0000)]
initial report on the stuck test on osx
Joey Hess [Thu, 10 Sep 2020 17:14:06 +0000 (13:14 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master
Joey Hess [Thu, 10 Sep 2020 17:13:39 +0000 (13:13 -0400)]
thoughts
git@3af0a87771c4b55bee8a599b934914cd98d4bc0b [Thu, 10 Sep 2020 17:13:00 +0000 (17:13 +0000)]
Added a comment
Joey Hess [Thu, 10 Sep 2020 13:10:00 +0000 (09:10 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master
Joey Hess [Thu, 10 Sep 2020 13:08:40 +0000 (09:08 -0400)]
todo
kyle [Wed, 9 Sep 2020 14:28:51 +0000 (14:28 +0000)]
Added a comment
git@3af0a87771c4b55bee8a599b934914cd98d4bc0b [Wed, 9 Sep 2020 10:19:25 +0000 (10:19 +0000)]
Added a comment: Re: Unknown remote type webdav
git@3af0a87771c4b55bee8a599b934914cd98d4bc0b [Wed, 9 Sep 2020 09:48:16 +0000 (09:48 +0000)]
Added a comment: Re: Unknown remote type webdav
Joey Hess [Tue, 8 Sep 2020 18:21:26 +0000 (14:21 -0400)]
add news item for git-annex 8.
20200908
Joey Hess [Tue, 8 Sep 2020 18:20:47 +0000 (14:20 -0400)]
releasing package git-annex version 8.
20200908
Joey Hess [Tue, 8 Sep 2020 16:54:17 +0000 (12:54 -0400)]
reorder
Joey Hess [Tue, 8 Sep 2020 16:42:59 +0000 (12:42 -0400)]
Removed the S3 and WebDAV build flags
So these special remotes are always supported.
IIRC these build flags were added because the dep chains were a bit too
long, or perhaps because the libraries were not available in Debian stable,
or something like that. That was long ago, those reasons no longer apply,
and users get confused when builtin special remotes are not available, so
it seems best to remove the build flags now.
If this does cause a problem it can be reverted of course..
This commit was sponsored by Jochen Bartl on Patreon.
Joey Hess [Tue, 8 Sep 2020 16:31:37 +0000 (12:31 -0400)]
comment
Joey Hess [Tue, 8 Sep 2020 16:26:12 +0000 (12:26 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master
Joey Hess [Tue, 8 Sep 2020 16:21:24 +0000 (12:21 -0400)]
avoid failure when gpgconf is not in path
Joey Hess [Tue, 8 Sep 2020 16:17:08 +0000 (12:17 -0400)]
followup
git@3af0a87771c4b55bee8a599b934914cd98d4bc0b [Tue, 8 Sep 2020 13:19:51 +0000 (13:19 +0000)]
Added a comment: Unknown remote type webdav
Joey Hess [Mon, 7 Sep 2020 20:50:27 +0000 (16:50 -0400)]
resolvemerge: Improve cleanup of cruft left in the working tree by a conflicted merge
This commit was sponsored by Jake Vosloo on Patreon.
Joey Hess [Mon, 7 Sep 2020 20:16:15 +0000 (16:16 -0400)]
clean up old code
withworktree is no longer doing anything useful so remove it
Joey Hess [Mon, 7 Sep 2020 19:41:16 +0000 (15:41 -0400)]
revert change that broke test suite
Opened a new bug about it.
This commit was sponsored by Ethan Aubin.
Joey Hess [Mon, 7 Sep 2020 19:39:07 +0000 (15:39 -0400)]
improve comment
Joey Hess [Mon, 7 Sep 2020 19:12:03 +0000 (15:12 -0400)]
devblog
Joey Hess [Mon, 7 Sep 2020 19:10:09 +0000 (15:10 -0400)]
avoid build warning
Joey Hess [Mon, 7 Sep 2020 17:50:58 +0000 (13:50 -0400)]
sync, assistant: When merge.directoryRenames is not set, default it it to "false"
Works better with automatic merge conflict resolution than git's ususual
default of "conflict".
This is not done when automatic merge conflict resolution is disabled.
This commit was sponsored by Mark Reidenbach on Patreon.
Joey Hess [Mon, 7 Sep 2020 17:26:16 +0000 (13:26 -0400)]
refactor
Make all calls to git merge go through autoMergeFrom, in preparation
for fine-tuning git merge's config for automatic merge conflict
resolution.
This commit was sponsored by Ryan Newton on Patreon.
Joey Hess [Mon, 7 Sep 2020 17:03:51 +0000 (13:03 -0400)]
update comments
Joey Hess [Mon, 7 Sep 2020 16:12:08 +0000 (12:12 -0400)]
resolvemerge: Improve cleanup of files that were deleted by one side of a conflicted merge, and modified by the other side
This case was handled by cleanConflictCruft, but only when the annexed
file's object was present. When not present, it left the annexed file
with the original name, not checked into git, while adding the variant
file. So, add an explicit deletion of the deleted file in this case.
My specific case where this happened actually involves
merge.directoryRenames=conflict. After a merge involving that,
the situation was the file appears as "added by them", because that
caused the file that they added to be moved into a directory we renamed.
That case is the same as them adding a modified version of the file,
while we deleted it. (Except for the history of the file, since it's a
new file, but this doesn't look at history.)
This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
Joey Hess [Mon, 7 Sep 2020 16:01:03 +0000 (12:01 -0400)]
make automerge behavior when one side deleted explict
This does not actually change how the merge conflict is resolved when
one side deleted the file, but it was not documented before, and I think
it only worked by accident.
This commit was sponsored by Brett Eisenberg on Patreon.
Joey Hess [Sun, 6 Sep 2020 14:51:23 +0000 (10:51 -0400)]
more
Joey Hess [Sun, 6 Sep 2020 14:42:19 +0000 (10:42 -0400)]
bug
Joey Hess [Sat, 5 Sep 2020 15:36:47 +0000 (11:36 -0400)]
update
Joey Hess [Fri, 4 Sep 2020 19:16:40 +0000 (15:16 -0400)]
Exposed annex.forward-retry git config
One reason is, 5 is an arbitrary number so ought to be configurable.
The real reason though, is I wanted to make the man page explain when
forward retry can override annex.retry, and having a config made the
man page easier to write.
Joey Hess [Fri, 4 Sep 2020 17:49:57 +0000 (13:49 -0400)]
import: Retry downloads that fail
Also, using the transfer machinery for this makes eg, git-annex info show
in-progress imports, and makes --notify-start/finish work.