git-annex.git
2 years ago(no commit message)
kolam [Mon, 4 Dec 2023 19:32:28 +0000 (19:32 +0000)]

2 years agoAdded a comment: How about a --offline flag?
nobodyinperson [Mon, 4 Dec 2023 17:52:44 +0000 (17:52 +0000)]
Added a comment: How about a --offline flag?

2 years agosync: Fix locking problems during merge when annex.pidlock is set
Joey Hess [Mon, 4 Dec 2023 17:37:58 +0000 (13:37 -0400)]
sync: Fix locking problems during merge when annex.pidlock is set

Presumably git merge sometimes needs to verifiy if a worktree file is
modified, and so will then run git-annex filter-process which would try to
take the pid lock. And for whatever reason, git-annex sync already had the
pidlock held. I have not replicated that, but it does make enough sense to
deploy the workaround.

Like I said back in commit 7bdb0cdc0d6f35d3835e57c3a34740cc98f89719,

   Arguably, it would be better to have a way to make any process git-annex
   runs have the env var set. But then it would need to take the pid lock
   when running any and all processes, and that would be a problem when
   git-annex runs two processes concurrently. So, I'm left doing it ad-hoc
   in places where git-annex really does run a child process, directly
   or indirectly via a particular git command.

Sponsored-by: KDM on Patreon
2 years agocomment
Joey Hess [Mon, 4 Dec 2023 17:03:16 +0000 (13:03 -0400)]
comment

2 years agocomment
Joey Hess [Mon, 4 Dec 2023 16:49:25 +0000 (12:49 -0400)]
comment

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 4 Dec 2023 15:15:25 +0000 (11:15 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agoimprove message about 1 copy
Joey Hess [Mon, 4 Dec 2023 15:12:54 +0000 (11:12 -0400)]
improve message about 1 copy

"Could only verify the existence of 0 out of 1 necessary copy"
does not sound right, but neither does it with "copies".

Kept the "1" rather than "only" or such since numcopies is mentioned.

Sponsored-by: Brock Spratlen on Patreon
2 years agoAdded a comment
kdm9 [Mon, 4 Dec 2023 10:09:16 +0000 (10:09 +0000)]
Added a comment

2 years ago(no commit message)
brendan.ward@a2e11ad27f6b2fa2c556aea6811496e0d95dd0da [Mon, 4 Dec 2023 06:43:03 +0000 (06:43 +0000)]

2 years ago(no commit message)
brendan.ward@a2e11ad27f6b2fa2c556aea6811496e0d95dd0da [Mon, 4 Dec 2023 06:41:28 +0000 (06:41 +0000)]

2 years agoAdded a comment
Atemu [Sun, 3 Dec 2023 21:11:19 +0000 (21:11 +0000)]
Added a comment

2 years agoAdded a comment
branch [Sun, 3 Dec 2023 11:57:56 +0000 (11:57 +0000)]
Added a comment

2 years agonew pidlock bug
kdm9 [Sun, 3 Dec 2023 10:16:43 +0000 (10:16 +0000)]
new pidlock bug

2 years agorename forum/Can__39__t_access_file_from_secondary_client.mdwn to forum/client_reposi...
kolam@976e5fa601b60de70b53dad291714218fd749169 [Sat, 2 Dec 2023 19:06:00 +0000 (19:06 +0000)]
rename forum/Can__39__t_access_file_from_secondary_client.mdwn to forum/client_repositories_setup_problem.mdwn

2 years ago(no commit message)
kolam@976e5fa601b60de70b53dad291714218fd749169 [Sat, 2 Dec 2023 18:16:00 +0000 (18:16 +0000)]

2 years agoupdate
Joey Hess [Fri, 1 Dec 2023 19:01:45 +0000 (15:01 -0400)]
update

2 years agocomment
Joey Hess [Fri, 1 Dec 2023 18:42:55 +0000 (14:42 -0400)]
comment

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 1 Dec 2023 17:50:01 +0000 (13:50 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agogit-annex branch size when storing migration information
Joey Hess [Fri, 1 Dec 2023 17:09:39 +0000 (13:09 -0400)]
git-annex branch size when storing migration information

Sponsored-by: Jack Hill on Patreon
2 years agoAdded a comment: Another possibility to make --fast faster?
nobodyinperson [Fri, 1 Dec 2023 11:50:25 +0000 (11:50 +0000)]
Added a comment: Another possibility to make --fast faster?

2 years agoAdded a comment
Atemu [Fri, 1 Dec 2023 10:21:10 +0000 (10:21 +0000)]
Added a comment

2 years agoAdded a comment
unqueued [Fri, 1 Dec 2023 02:09:07 +0000 (02:09 +0000)]
Added a comment

2 years agocomment
Joey Hess [Thu, 30 Nov 2023 21:07:17 +0000 (17:07 -0400)]
comment

2 years agocomment
Joey Hess [Thu, 30 Nov 2023 20:49:48 +0000 (16:49 -0400)]
comment

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Thu, 30 Nov 2023 20:36:50 +0000 (16:36 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agocopy/move --from-anywhere --to remote
Joey Hess [Thu, 30 Nov 2023 20:32:32 +0000 (16:32 -0400)]
copy/move --from-anywhere --to remote

Implementation was simple because it's equivilant to
--from=foo --to remote for each other remote, followed by
--to remote when there's a local copy.

(Or, in the edge case of --from-anywhere --to=here,
it's the same as --to=here.)

Note that, when the local repo does not have a copy,
fromToPerform gets it from a remote, sends it to the destination,
and drops the local copy. Another call to that for a second remote
will notice that the dest now has a copy, and simply drop from the
second remote, avoiding a second transfer.

Also note that, when numcopies doesn't allow dropping it from
everywhere, it will drop it from the cheapest remotes first
(maybe not ideal) up to more expensive remotes, and finally from the local
repo. So the local repo will generally end up holding a copy. Maybe not
ideal in all cases either, but it seems no worse to do that than to end up
with a copy undropped from a remote.

And I'm not entirely happy with the output, eg:

copy bigfile (from r3...) ok
copy bigfile ok

That makes sense if you think of the second line as being
the same as what is output by `git-annex copy bigfile --to bar`,
but it's less clear in this context. Maybe add "(from here...)"?
Also the --json output doesn't have a machine-readable field for
the "from" uuid, and maybe it should?

Sponsored-by: Dartmouth College's DANDI project
2 years agofix --from overriding annex-ignore
Joey Hess [Thu, 30 Nov 2023 19:11:57 +0000 (15:11 -0400)]
fix --from overriding annex-ignore

Make git-annex get/copy/move --from foo override configuration of
remote.foo.annex-ignore, as documented.

This already worked for remotes supporting hasKeyCheap. For others though,
git-annex copy --from foo would silently not do anything, while
git-annex copy --to foo would use the annex-ignored remote.

Also improved the annex-ignore docs, to reflect that `git-annex get`
without --from will skip using annex-ignored remotes, for example.

Sponsored-by: Dartmouth College's DANDI project
2 years agoAdded a comment
nobodyinperson [Thu, 30 Nov 2023 06:51:54 +0000 (06:51 +0000)]
Added a comment

2 years ago(no commit message)
unqueued [Thu, 30 Nov 2023 05:06:06 +0000 (05:06 +0000)]

2 years ago(no commit message)
unqueued [Thu, 30 Nov 2023 04:52:51 +0000 (04:52 +0000)]

2 years agoadd manual: true to ParallelBuild flag
Joey Hess [Wed, 29 Nov 2023 20:05:03 +0000 (16:05 -0400)]
add manual: true to ParallelBuild flag

hackage demands that -j be gated behind a build flag with manual: true
set.

2 years agoadd news item for git-annex 10.20231129
Joey Hess [Wed, 29 Nov 2023 20:01:10 +0000 (16:01 -0400)]
add news item for git-annex 10.20231129

2 years agoreleasing package git-annex version 10.20231129
Joey Hess [Wed, 29 Nov 2023 20:01:01 +0000 (16:01 -0400)]
releasing package git-annex version 10.20231129

2 years agoattribution armoring
Joey Hess [Wed, 29 Nov 2023 18:38:50 +0000 (14:38 -0400)]
attribution armoring

Read a fun paper where they got chatgpt to emit large chunks of code
https://not-just-memorization.github.io/extracting-training-data-from-chatgpt.html
"ChatGPT memorized significant fractions of its training dataset"

2 years agocomment
Joey Hess [Wed, 29 Nov 2023 17:42:12 +0000 (13:42 -0400)]
comment

2 years agoclose as fixed
Joey Hess [Wed, 29 Nov 2023 17:32:19 +0000 (13:32 -0400)]
close as fixed

2 years agoresponse
Joey Hess [Wed, 29 Nov 2023 17:26:24 +0000 (13:26 -0400)]
response

2 years agocomment
Joey Hess [Wed, 29 Nov 2023 16:45:32 +0000 (12:45 -0400)]
comment

2 years agoAdded a comment: corrupted bare repo
sng@353ca358075d9aa328f60a5439a3cee10f8301fe [Wed, 29 Nov 2023 15:34:30 +0000 (15:34 +0000)]
Added a comment: corrupted bare repo

2 years agocomment
Joey Hess [Tue, 28 Nov 2023 16:23:35 +0000 (12:23 -0400)]
comment

2 years agodial back addition, but keep it
Joey Hess [Tue, 28 Nov 2023 16:03:55 +0000 (12:03 -0400)]
dial back addition, but keep it

It's a semi-common point of confusion that numcopies is not something
these commands go out and copy files around specifically to satisfy,
without further configuration in preferred content. So this is a good
addition, but it also seemed too long and too specific to the user's
particular situation.

2 years agofix some language
Joey Hess [Tue, 28 Nov 2023 16:03:49 +0000 (12:03 -0400)]
fix some language

2 years agofindkeys: Support --largerthan and --smallerthan
Joey Hess [Tue, 28 Nov 2023 15:51:43 +0000 (11:51 -0400)]
findkeys: Support --largerthan and --smallerthan

Sponsored-by: Brett Eisenberg on Patreon
2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 28 Nov 2023 15:26:02 +0000 (11:26 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years ago(no commit message)
lell [Tue, 28 Nov 2023 10:41:33 +0000 (10:41 +0000)]

2 years ago(no commit message)
lell [Tue, 28 Nov 2023 10:41:15 +0000 (10:41 +0000)]

2 years ago(no commit message)
lell [Tue, 28 Nov 2023 10:41:02 +0000 (10:41 +0000)]

2 years ago(no commit message)
lell [Tue, 28 Nov 2023 10:39:30 +0000 (10:39 +0000)]

2 years ago(no commit message)
lell [Tue, 28 Nov 2023 10:37:35 +0000 (10:37 +0000)]

2 years ago(no commit message)
lell [Tue, 28 Nov 2023 10:35:34 +0000 (10:35 +0000)]

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Sun, 26 Nov 2023 17:00:35 +0000 (13:00 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agoAdd note to 'satisfy' manpage about it not satisfying numcopies and how to set it...
Yann Büchau [Fri, 24 Nov 2023 10:58:57 +0000 (11:58 +0100)]
Add note to 'satisfy' manpage about it not satisfying numcopies and how to set it up to pass files between remotes that are not present locally.

I got bitten several times in the past by the fact that local preferred
content expressions are not violated (even temporarily) in order to
satisfy numcopies or other remotes' preferred content expressions.
Mostly in the form of the local repo not allowing arbitrary files in
(e.g. because it's set to only want `present` files). This note I add
here explains how to get out of this situation with
`approxlackingcopies=1`.

It might be too specific for this manpage, but I didn't find a better
place to put it.

2 years ago(no commit message)
branch [Wed, 22 Nov 2023 22:02:40 +0000 (22:02 +0000)]

2 years agocomment
Joey Hess [Tue, 21 Nov 2023 20:45:03 +0000 (16:45 -0400)]
comment

2 years agoAdded a comment
nobodyinperson [Tue, 21 Nov 2023 20:20:14 +0000 (20:20 +0000)]
Added a comment

2 years agocomment
Joey Hess [Tue, 21 Nov 2023 20:16:27 +0000 (16:16 -0400)]
comment

2 years agofollowup and wontfix this
Joey Hess [Tue, 21 Nov 2023 20:11:10 +0000 (16:11 -0400)]
followup and wontfix this

2 years agocomment
Joey Hess [Tue, 21 Nov 2023 20:02:21 +0000 (16:02 -0400)]
comment

2 years agoclose
Joey Hess [Tue, 21 Nov 2023 19:59:18 +0000 (15:59 -0400)]
close

2 years agomove a comment that is a bug report
Joey Hess [Tue, 21 Nov 2023 19:57:10 +0000 (15:57 -0400)]
move a comment that is a bug report

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 21 Nov 2023 16:05:47 +0000 (12:05 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agoimprove attribution armoring
Joey Hess [Tue, 21 Nov 2023 15:34:21 +0000 (11:34 -0400)]
improve attribution armoring

Split out an author parameter, will make it easier to add authors and
reads better.

Got rid of the function without the copyright year, because an adversary
could have mechanically changed the function with a copyright year to
the one without, and so bypassed the protection of LLM copyright
year hallucination.

Sponsored-by: Luke T. Shumaker on Patreon
2 years agoAdded a comment
beryllium@5bc3c32eb8156390f96e363e4ba38976567425ec [Tue, 21 Nov 2023 09:25:33 +0000 (09:25 +0000)]
Added a comment

2 years agoexhaustiveness check fix
Joey Hess [Tue, 21 Nov 2023 01:34:29 +0000 (21:34 -0400)]
exhaustiveness check fix

2 years agogolfing
Joey Hess [Tue, 21 Nov 2023 01:33:09 +0000 (21:33 -0400)]
golfing

2 years agoavoid displicate of year range
Joey Hess [Tue, 21 Nov 2023 01:29:19 +0000 (21:29 -0400)]
avoid displicate of year range

2 years agoimprove attribution armoring
Joey Hess [Tue, 21 Nov 2023 01:20:37 +0000 (21:20 -0400)]
improve attribution armoring

2 years agoavoid replacing otherwise
Joey Hess [Tue, 21 Nov 2023 00:25:51 +0000 (20:25 -0400)]
avoid replacing otherwise

While authorJoeyHess is True same as otherwise, ghc's exhastiveness
checker turns out to special case otherwise. So this avoids warnings.

2 years agofix build
Joey Hess [Tue, 21 Nov 2023 00:08:35 +0000 (20:08 -0400)]
fix build

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 20 Nov 2023 16:29:44 +0000 (12:29 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agomake my authorship explicit in the code
Joey Hess [Mon, 20 Nov 2023 16:07:07 +0000 (12:07 -0400)]
make my authorship explicit in the code

This is intended to guard against LLM code theft, which is the current
bubble technology de jour.

Note that authorJoeyHess' with a year older than the year I began
developing git-annex will behave badly, by intention. Eg, it will spin
and eventually crash.

This is not the first anti-LLM protection in git-annex. For example see
9562da790fece82d6dfa756b571c67d0fdf57468. That method, while much harder
for an adversary to detect and remove, also complicates code somewhat
significantly, and needs extensions to be enabled. There are also
probably significantly fewer ways to implement that method in Haskell.
This new approach, by contrast, will be easy to add throughout the code
base, with very little effort, and without complicating reading or
maintaining it any more than noticing that yes, I am the author of this
code.

An adversary could of course remove all calls to these functions
before feeding code into their LLM-based laundry facility. I think this
would need to be done manually, or with the help of some fairly advanced
Haskell parsing though. In some cases, authorJoeyHess needs to be
removed, while in other places it needs to be replaced with a value.
Also a monadic use of authorJoeyHess' may involve other added monadic
machinery which would need to be eliminated to keep the code compiling.

Alternatively, an adversary could replace my name with something
innocuous. This would be clear intent to remove author attribution
from my code, even more than running it through an LLM laundry is.

If you work for a large company that is laundering my code through an
LLM, please do us a favor and use your immense privilege to quit and go
do something socially beneficial. I will not explain further
developments of this code in such detail, and you have better things to
do than playing cat and mouse with me as I explore directions such as
extending this approach to the type level.

Sponsored-by: k0ld on Patreon
2 years agoAdded a comment
NewUser [Mon, 20 Nov 2023 13:17:03 +0000 (13:17 +0000)]
Added a comment

2 years agoAdded a comment: forgot to add the new ignored link + shortcoming of 'ln' command
nobodyinperson [Mon, 20 Nov 2023 10:25:52 +0000 (10:25 +0000)]
Added a comment: forgot to add the new ignored link + shortcoming of 'ln' command

2 years agoAdded a comment: Is `annex.tune.objecthashlower=true` recommended for interop with...
NewUser [Mon, 20 Nov 2023 04:24:35 +0000 (04:24 +0000)]
Added a comment: Is `annex.tune.objecthashlower=true` recommended for interop with windows?

2 years agoAdded a comment: `git annex uninit` fails when I symlink your symlink
NewUser [Mon, 20 Nov 2023 04:22:02 +0000 (04:22 +0000)]
Added a comment: `git annex uninit` fails when I symlink your symlink

2 years ago(no commit message)
NewUser [Mon, 20 Nov 2023 02:09:42 +0000 (02:09 +0000)]

2 years agoAdded a comment: Thanks Yann!
NewUser [Sun, 19 Nov 2023 18:20:03 +0000 (18:20 +0000)]
Added a comment: Thanks Yann!

2 years agoAdded a comment
nobodyinperson [Sun, 19 Nov 2023 16:27:35 +0000 (16:27 +0000)]
Added a comment

2 years agoMake it more clear that `git annex webapp` will add files and sync via the assistant.
nobodyinperson [Sun, 19 Nov 2023 16:26:44 +0000 (16:26 +0000)]
Make it more clear that `git annex webapp` will add files and sync via the assistant.

2 years agoAdded a comment
nobodyinperson [Sun, 19 Nov 2023 16:16:15 +0000 (16:16 +0000)]
Added a comment

2 years agoAdded a comment: launching `git annex webapp` starts adding to the annex which is...
NewUser [Sat, 18 Nov 2023 20:08:18 +0000 (20:08 +0000)]
Added a comment: launching `git annex webapp` starts adding to the annex which is surprising

2 years agoAdded a comment: launching `git annex webapp` starts adding to the annex which is...
NewUser [Sat, 18 Nov 2023 20:03:06 +0000 (20:03 +0000)]
Added a comment: launching `git annex webapp` starts adding to the annex which is surprising

2 years agoAdded a comment
yarikoptic [Sat, 18 Nov 2023 01:35:35 +0000 (01:35 +0000)]
Added a comment

2 years agoMake git-annex copy --from --to --fast actually fast
Joey Hess [Fri, 17 Nov 2023 21:27:58 +0000 (17:27 -0400)]
Make git-annex copy --from --to --fast actually fast

Eg when the destination is logged as containing a file, skip
actively checking that it does contain it.

Note that --fast does not prevent other verifications of content
location that are done in a copy --from --to. Perhaps it could, but this
change will already avoid the real unnecessary work of operating on
files that are already in the remote.

And avoiding other verifications
might cause it to fail if the location log thinks that --to does not
contain the content but does. Such complications with `git-annex copy
--to remote --fast` led to commit d006586cd0b706c9cc92b2747b2ba3487f52c04a
which added a note that gets displayed when that fails, mentioning it
might be due to --fast being enabled.

copy --from --to is already complicated enough without needing to worry
about such edge cases, so continuing to doing some verification of
content location after the initial --fast filtering seems ok.

Sponsored-by: Dartmouth College's DANDI project
2 years agosmall refactoring
Joey Hess [Fri, 17 Nov 2023 21:10:24 +0000 (17:10 -0400)]
small refactoring

Sponsored-by: Dartmouth College's DANDI project
2 years agofixed
Joey Hess [Fri, 17 Nov 2023 20:46:43 +0000 (16:46 -0400)]
fixed

2 years agoFix bug in git-annex copy --from --to
Joey Hess [Fri, 17 Nov 2023 20:30:20 +0000 (16:30 -0400)]
Fix bug in git-annex copy --from --to

Caused it to skip files that were locally present.

Sponsored-by: Dartmouth College's DANDI project
2 years agocomment
Joey Hess [Fri, 17 Nov 2023 20:17:44 +0000 (16:17 -0400)]
comment

2 years ago(no commit message)
nobodyinperson [Fri, 17 Nov 2023 11:47:53 +0000 (11:47 +0000)]

2 years agoAdded a comment: thank you
imlew [Fri, 17 Nov 2023 11:43:39 +0000 (11:43 +0000)]
Added a comment: thank you

2 years agoAdded a comment
nobodyinperson [Fri, 17 Nov 2023 09:49:02 +0000 (09:49 +0000)]
Added a comment

2 years agoAdded a comment
imlew [Fri, 17 Nov 2023 09:41:19 +0000 (09:41 +0000)]
Added a comment

2 years agoAdded a comment
nobodyinperson [Fri, 17 Nov 2023 08:45:56 +0000 (08:45 +0000)]
Added a comment

2 years agoAdded a comment: one more question
imlew [Fri, 17 Nov 2023 08:23:32 +0000 (08:23 +0000)]
Added a comment: one more question

2 years agoAdded a comment: not about backends after all
imlew [Fri, 17 Nov 2023 08:09:23 +0000 (08:09 +0000)]
Added a comment: not about backends after all

2 years agoremove content of now independent issue https://git-annex.branchable.com/bugs/copy_...
yarikoptic [Fri, 17 Nov 2023 02:23:17 +0000 (02:23 +0000)]
remove content of now independent issue https://git-annex.branchable.com/bugs/copy_--from_--to_does_not_copy_if_present_locally/

2 years agoinitial dedicated issue on copy --from --to not copying if present locally
yarikoptic [Fri, 17 Nov 2023 02:07:35 +0000 (02:07 +0000)]
initial dedicated issue on copy --from --to not copying if present locally

2 years agoinitial report on --fast of being no effect for copy --from --to
yarikoptic [Thu, 16 Nov 2023 17:54:49 +0000 (17:54 +0000)]
initial report on --fast of being no effect for copy --from --to

2 years agoAdded a comment
nobodyinperson [Thu, 16 Nov 2023 16:34:13 +0000 (16:34 +0000)]
Added a comment

2 years agoAdded a comment
nobodyinperson [Thu, 16 Nov 2023 15:55:49 +0000 (15:55 +0000)]
Added a comment