Joey Hess [Thu, 23 Jun 2022 16:51:50 +0000 (12:51 -0400)]
add rent optimisation inhibitor
As outlined in my blog post, I object to Microsoft training their Copilot
model on my code, and believe it likely violates my copyright.
https://joeyh.name/blog/entry/a_bitter_pill_for_Microsoft_Copilot/
While I never push git-annex to Github, other users choose to. And since
Microsoft is now selling access to Copilot to anyone, this situation is
escalating.
Joey Hess [Thu, 23 Jun 2022 16:35:26 +0000 (12:35 -0400)]
remove vendored library no longer used
http-manager-restricted is used for a while, but I forgot to delete this
file when making that change.
Joey Hess [Wed, 22 Jun 2022 20:47:34 +0000 (16:47 -0400)]
use RawFilePath version of rename
Some small wins, almost certianly swamped by the system calls, but still
worthwhile progress on the RawFilePath conversion.
Sponsored-by: Erik Bjäreholt on Patreon
Joey Hess [Wed, 22 Jun 2022 20:20:08 +0000 (16:20 -0400)]
RawFilePath optimisations
Joey Hess [Wed, 22 Jun 2022 20:11:03 +0000 (16:11 -0400)]
RawFilePath optimisation
Joey Hess [Wed, 22 Jun 2022 20:08:49 +0000 (16:08 -0400)]
remove objectDir'
Joey Hess [Wed, 22 Jun 2022 20:08:26 +0000 (16:08 -0400)]
RawFilePath optimisation
Joey Hess [Wed, 22 Jun 2022 18:23:46 +0000 (14:23 -0400)]
convert bug to todo
Joey Hess [Wed, 22 Jun 2022 17:54:57 +0000 (13:54 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 22 Jun 2022 17:40:14 +0000 (13:40 -0400)]
use replaceWorkTreeFile when fixing an annex symlink
This does not change any behavior, but it's useful for all worktree
changes to be made using this.
Sponsored-by: Graham Spencer on Patreon
Joey Hess [Wed, 22 Jun 2022 17:19:35 +0000 (13:19 -0400)]
followup
Atemu [Wed, 22 Jun 2022 12:34:45 +0000 (12:34 +0000)]
Added a comment
Atemu [Wed, 22 Jun 2022 12:24:22 +0000 (12:24 +0000)]
Added a comment
Ryan [Tue, 21 Jun 2022 18:28:09 +0000 (18:28 +0000)]
arshitha [Fri, 17 Jun 2022 11:13:27 +0000 (11:13 +0000)]
removed
arshitha [Fri, 17 Jun 2022 09:44:28 +0000 (09:44 +0000)]
Added a comment
Joey Hess [Wed, 15 Jun 2022 18:00:56 +0000 (14:00 -0400)]
decided this is not a problem
Joey Hess [Tue, 14 Jun 2022 20:38:34 +0000 (16:38 -0400)]
fix overwrite race with small file that got large
When adding a small file, it does not get locked down, so can be modified
after git-annex checks that it's small. The use of queued git add made the
race window nice and wide too.
Fixed by checking if the file has changed, and by not using git add.
Instead, have to recapitulate git add's handling of things like symlinks
and executable files.
Sponsored-by: Jochen Bartl on Patreon
Joey Hess [Tue, 14 Jun 2022 18:56:16 +0000 (14:56 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
yarikoptic [Tue, 14 Jun 2022 18:47:25 +0000 (18:47 +0000)]
Added a comment: hold it... ;)
Joey Hess [Tue, 14 Jun 2022 18:40:55 +0000 (14:40 -0400)]
get rid of racy addLink
The remaining callers all did not rely on it checking gitignore, so were
easy to convert.
They were susceptable to the same overwrite race as add and fix,
although less likely to have it and a narrower window than add's race.
Command.Rekey in passing got an unncessary call to removeFile deleted.
addSymlink handles deleting any existing worktree file.
Joey Hess [Tue, 14 Jun 2022 18:30:12 +0000 (14:30 -0400)]
avoid writing same symlink twice in a row
Oddly, the second write did not cause it to lose the mtime inherited
from the file being added, although the mtime was not provided to that
write but only to the first. I don't quite know why that worked before!
Joey Hess [Tue, 14 Jun 2022 18:19:58 +0000 (14:19 -0400)]
fixed overwrite race with git-annex fix
Similar to git-annex add, git-annex fix queued git add, so if a file
got modified before git add ran, the wrong content would be staged,
perhaps a large file content.
Sponsored-by: Brock Spratlen on Patreon
Joey Hess [Tue, 14 Jun 2022 18:13:48 +0000 (14:13 -0400)]
bug report
Joey Hess [Tue, 14 Jun 2022 17:56:17 +0000 (13:56 -0400)]
fix overwrite race with git-annex add of annex symlink
In the unlikely case where git-annex add is run on an annex symlink that
is not already added, and while it's processing it, the annex symlink is
overwritten with something else, avoid git-annex overwriting that with
the symlink again.
Sponsored-by: Jack Hill on Patreon
Joey Hess [Tue, 14 Jun 2022 17:20:42 +0000 (13:20 -0400)]
fix add overwrite race with git-annex add to annex
This is not a complete fix for all such races, only the one where a
large file gets changed while adding and gets added to git rather than
to the annex.
addLink needs to go away, any caller of it is probably subject to the
same kind of race. (Also, addLink itself fails to check gitignore when
symlinks are not supported.)
ingestAdd no longer checks gitignore. (It didn't check it consistently
before either, since there were cases where it did not run git add!)
When git-annex import calls it, it's already checked gitignore itself
earlier. When git-annex add calls it, it's usually on files found
by withFilesNotInGit, which handles checking ignores.
There was one other case, when git-annex add --batch calls it. In that
case, old git-annex behaved rather badly, it would seem to add the file,
but git add would later fail, leaving the file as an unstaged annex symlink.
That behavior has also been fixed.
Sponsored-by: Brett Eisenberg on Patreon
Joey Hess [Tue, 14 Jun 2022 16:51:04 +0000 (12:51 -0400)]
bug report
Sponsored-by: Luke Shumaker on Patreon
Joey Hess [Tue, 14 Jun 2022 16:23:33 +0000 (12:23 -0400)]
comment
Joey Hess [Tue, 14 Jun 2022 15:51:44 +0000 (11:51 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
KachoOji [Tue, 14 Jun 2022 15:32:48 +0000 (15:32 +0000)]
Added a comment
yarikoptic [Mon, 13 Jun 2022 23:52:48 +0000 (23:52 +0000)]
Added a comment
yarikoptic [Mon, 13 Jun 2022 23:40:30 +0000 (23:40 +0000)]
initial whining about type=git initremote stopped
Joey Hess [Mon, 13 Jun 2022 20:04:12 +0000 (16:04 -0400)]
add rf
Joey Hess [Mon, 13 Jun 2022 18:20:54 +0000 (14:20 -0400)]
comment
Joey Hess [Mon, 13 Jun 2022 17:38:36 +0000 (13:38 -0400)]
comment
Joey Hess [Mon, 13 Jun 2022 17:12:18 +0000 (13:12 -0400)]
add todo based on forum post
Atemu [Sat, 11 Jun 2022 14:58:11 +0000 (14:58 +0000)]
KachoOji [Fri, 10 Jun 2022 23:04:09 +0000 (23:04 +0000)]
yarikoptic [Thu, 9 Jun 2022 21:53:05 +0000 (21:53 +0000)]
Added a comment
Joey Hess [Thu, 9 Jun 2022 19:26:25 +0000 (15:26 -0400)]
avoid cleaning up move log when drop from remote fails
move: Improve resuming a move that succeeded in transferring the content,
but where dropping failed due to eg a network problem, in cases where
numcopies checks prevented the resumed move from dropping the object from
the source repository.
This was earlier done for moves that got interrupted during the drop stage.
Sponsored-by: Svenne Krap on Patreon
Joey Hess [Thu, 9 Jun 2022 18:24:56 +0000 (14:24 -0400)]
fix to use 1 chunk for empty file
Fix retrival of an empty file that is stored in a special remote with
chunking enabled.
The speculative chunk stuff caused a reversion by adding an empty list for
the empty file. Which is just wrong; the empty file is still stored on the
remote, and should be retrieved like any other file. It uses 1 chunk, so
`max 1` is the simple fix.
Sponsored-by: Noam Kremen on Patreon
Joey Hess [Thu, 9 Jun 2022 17:40:05 +0000 (13:40 -0400)]
fix typo
Joey Hess [Thu, 9 Jun 2022 17:38:37 +0000 (13:38 -0400)]
comment
Joey Hess [Thu, 9 Jun 2022 17:32:07 +0000 (13:32 -0400)]
comment
Joey Hess [Thu, 9 Jun 2022 17:23:33 +0000 (13:23 -0400)]
close as not a bug
Joey Hess [Thu, 9 Jun 2022 17:18:10 +0000 (13:18 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
yarikoptic [Thu, 9 Jun 2022 17:17:56 +0000 (17:17 +0000)]
initial report on difficulty with 0 length file
Joey Hess [Thu, 9 Jun 2022 17:16:50 +0000 (13:16 -0400)]
initremote type=git probe uuid
rather than matching path of an existing remote to find the uuid.
The main benefit of this is that locations not using ssh:// will work
now, including both paths and host:/path
The other benefit is that it's a simpler interface, no need to have an
existing remote with the same url and some other name. Although that
will still work of course.
This does rely on tryGitConfigRead working when given a Git.Repo that is
not a remote. Luckily, it works fine that way.
Also, tryGitConfigRead will auto-init a local repo that has a git-annex
branch. I did not enable auto-init of ssh repos though.
The uuid discovery actually happens twice; initremote discovers it,
and uses it to store the special remote config, but does not set it in the
git remote it creates. So the next run of git-annex does uuid discovery
again, and caches it that time. This could be improved for a tiny
speedup, but I didn't want to complicate things for that in this
commit.
Sponsored-by: Dartmouth College's DANDI project
Joey Hess [Thu, 9 Jun 2022 17:16:39 +0000 (13:16 -0400)]
bug report
mih [Thu, 9 Jun 2022 11:43:47 +0000 (11:43 +0000)]
jkniiv [Thu, 9 Jun 2022 02:32:19 +0000 (02:32 +0000)]
Added a comment
Joey Hess [Wed, 8 Jun 2022 19:44:28 +0000 (15:44 -0400)]
analysis
Joey Hess [Wed, 8 Jun 2022 16:54:28 +0000 (12:54 -0400)]
comment
yarikoptic [Wed, 8 Jun 2022 15:42:58 +0000 (15:42 +0000)]
initial whining about type=git initremote
yarikoptic [Wed, 8 Jun 2022 14:05:56 +0000 (14:05 +0000)]
initial report on addurls issue
Atemu [Tue, 7 Jun 2022 12:07:30 +0000 (12:07 +0000)]
Added a comment
yarikoptic [Mon, 6 Jun 2022 17:22:41 +0000 (17:22 +0000)]
Added a comment
Joey Hess [Mon, 6 Jun 2022 16:37:40 +0000 (12:37 -0400)]
comment
Joey Hess [Mon, 6 Jun 2022 16:36:55 +0000 (12:36 -0400)]
add debugging around commits to sqlite dbs
Joey Hess [Mon, 6 Jun 2022 16:19:28 +0000 (12:19 -0400)]
comment
Joey Hess [Mon, 6 Jun 2022 16:16:55 +0000 (12:16 -0400)]
fix MVar deadlock when sqlite commit fails
The database queue was left empty, which caused subsequent calls to
flushDbQueue to deadlock.
Sponsored-by: Dartmouth College's Datalad project
Joey Hess [Mon, 6 Jun 2022 15:55:02 +0000 (11:55 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
yarikoptic [Mon, 6 Jun 2022 14:50:16 +0000 (14:50 +0000)]
Added a comment
yarikoptic [Mon, 6 Jun 2022 14:00:05 +0000 (14:00 +0000)]
Added a comment
Added a comment
Joey Hess [Sun, 5 Jun 2022 14:37:32 +0000 (10:37 -0400)]
update
Atemu [Sun, 5 Jun 2022 12:55:04 +0000 (12:55 +0000)]
Added a comment
Joey Hess [Fri, 3 Jun 2022 18:10:24 +0000 (14:10 -0400)]
add debugLocks around database operations
to track down a blocked indefinitely on MVar that seems to occur after
sqlite throws ErrorBusy but that I have not been able to reproduce when
I made commits synthetically throw ErrorBusy.
Sponsored-by: Dartmouth College's Datalad project
Joey Hess [Fri, 3 Jun 2022 18:02:32 +0000 (14:02 -0400)]
comment
Joey Hess [Fri, 3 Jun 2022 18:01:19 +0000 (14:01 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 3 Jun 2022 18:00:48 +0000 (14:00 -0400)]
close
yarikoptic [Fri, 3 Jun 2022 16:42:39 +0000 (16:42 +0000)]
Added a comment
yarikoptic [Fri, 3 Jun 2022 01:40:17 +0000 (01:40 +0000)]
Added a comment
yarikoptic [Fri, 3 Jun 2022 01:36:39 +0000 (01:36 +0000)]
Added a comment: still reports about invalid option but doesn't fail
yarikoptic [Thu, 2 Jun 2022 18:43:02 +0000 (18:43 +0000)]
Added a comment: defending BTRFS
Joey Hess [Thu, 2 Jun 2022 16:24:03 +0000 (12:24 -0400)]
ping
Joey Hess [Thu, 2 Jun 2022 16:22:07 +0000 (12:22 -0400)]
comment
Joey Hess [Thu, 2 Jun 2022 16:07:01 +0000 (12:07 -0400)]
close as hopefully fixed
did not have a good way to reproduce this, but I had a good theory about
a cause and fix..
Joey Hess [Thu, 2 Jun 2022 15:59:26 +0000 (11:59 -0400)]
close as already fixed
Joey Hess [Thu, 2 Jun 2022 15:57:24 +0000 (11:57 -0400)]
comment
Joey Hess [Thu, 2 Jun 2022 15:45:49 +0000 (11:45 -0400)]
update content of .git/info/attributes
This got changed but forgot to update it here.
Joey Hess [Wed, 1 Jun 2022 18:20:38 +0000 (14:20 -0400)]
info: Added --autoenable option
Use cases include using git-annex init --no-autoenable and then going back
and enabling the special remotes that have autoenable configured. As well
as just querying to remember which ones have it enabled.
It lists all special remotes that have autoenable=yes whether currently
enabled or not. And it can be used with --json.
I pondered making this "git-annex info autoenable", but that seemed wrong
because then if the use has a directory named "autoenable", it's unclear
what they are asking for. (Although "git-annex info remote" may be
similarly unclear.) Making it an option does mean that it can't be provided
via --batch though.
Sponsored-by: Dartmouth College's Datalad project
Joey Hess [Wed, 1 Jun 2022 17:27:49 +0000 (13:27 -0400)]
init: Added --no-autoenable option
Someone may disagree with what repositories are set to autoenable and
it's good to have local overrides.
See https://github.com/datalad/datalad/issues/6634
Sponsored-by: Dartmouth College's Datalad project
Joey Hess [Wed, 1 Jun 2022 17:16:56 +0000 (13:16 -0400)]
comment
yarikoptic [Wed, 1 Jun 2022 13:49:05 +0000 (13:49 +0000)]
Added a comment
oliv5 [Wed, 1 Jun 2022 11:16:35 +0000 (11:16 +0000)]
Added a comment
oliv5 [Wed, 1 Jun 2022 11:13:43 +0000 (11:13 +0000)]
removed
oliv5 [Wed, 1 Jun 2022 10:53:22 +0000 (10:53 +0000)]
Added a comment
Lukey [Wed, 1 Jun 2022 05:27:22 +0000 (05:27 +0000)]
Added a comment
yarikoptic [Tue, 31 May 2022 19:17:05 +0000 (19:17 +0000)]
Added a comment
yarikoptic [Tue, 31 May 2022 19:07:59 +0000 (19:07 +0000)]
Added a comment
Joey Hess [Tue, 31 May 2022 17:32:27 +0000 (13:32 -0400)]
comment
Joey Hess [Tue, 31 May 2022 17:12:08 +0000 (13:12 -0400)]
moreinfo
Joey Hess [Tue, 31 May 2022 17:11:52 +0000 (13:11 -0400)]
comment
Joey Hess [Tue, 31 May 2022 17:03:39 +0000 (13:03 -0400)]
enable --as-needed on freebsd
based on doc/bugs/FreeBSD_patches.mdwn which indicates it works, though
sadly without anything more than a patch.
If this breaks anything it will be reverted.
Joey Hess [Tue, 31 May 2022 16:58:44 +0000 (12:58 -0400)]
comment
Joey Hess [Tue, 31 May 2022 16:55:29 +0000 (12:55 -0400)]
response