git-annex.git
3 years agoadd a plea for saving the the old 'import /dir' interface as a renamed, reduced command
jkniiv [Sat, 24 Jun 2023 22:04:35 +0000 (22:04 +0000)]
add a plea for saving the the old 'import /dir' interface as a renamed, reduced command

3 years agoadd an inline comment about `--fast` vs. `--no-content` wrt. git-annex-import
jkniiv [Sat, 24 Jun 2023 21:01:43 +0000 (21:01 +0000)]
add an inline comment about `--fast` vs. `--no-content` wrt. git-annex-import

3 years agofix tag
Joey Hess [Fri, 23 Jun 2023 20:39:22 +0000 (16:39 -0400)]
fix tag

3 years agoalready done
Joey Hess [Fri, 23 Jun 2023 20:35:49 +0000 (16:35 -0400)]
already done

3 years agoexpand and confirm
Joey Hess [Fri, 23 Jun 2023 20:31:54 +0000 (16:31 -0400)]
expand and confirm

3 years agoavoid truncating the list of confirmed items
Joey Hess [Fri, 23 Jun 2023 20:20:00 +0000 (16:20 -0400)]
avoid truncating the list of confirmed items

3 years agoconfirmed
Joey Hess [Fri, 23 Jun 2023 20:17:56 +0000 (16:17 -0400)]
confirmed

(but I need them to tell me what errors of what special remotes need a
message-id)

3 years agoconfirmed
Joey Hess [Fri, 23 Jun 2023 20:07:22 +0000 (16:07 -0400)]
confirmed

3 years agoconfirmed
Joey Hess [Fri, 23 Jun 2023 19:53:28 +0000 (15:53 -0400)]
confirmed

3 years agoconfirmed
Joey Hess [Fri, 23 Jun 2023 18:31:54 +0000 (14:31 -0400)]
confirmed

3 years agothought
Joey Hess [Fri, 23 Jun 2023 18:30:37 +0000 (14:30 -0400)]
thought

3 years agoconfirmed
Joey Hess [Fri, 23 Jun 2023 18:25:25 +0000 (14:25 -0400)]
confirmed

3 years agothought this out more fully
Joey Hess [Fri, 23 Jun 2023 18:22:57 +0000 (14:22 -0400)]
thought this out more fully

3 years agofix format
Joey Hess [Fri, 23 Jun 2023 18:18:16 +0000 (14:18 -0400)]
fix format

3 years agotodo work
Joey Hess [Fri, 23 Jun 2023 17:47:01 +0000 (13:47 -0400)]
todo work

3 years agoconfirmed
Joey Hess [Fri, 23 Jun 2023 16:59:34 +0000 (12:59 -0400)]
confirmed

3 years agocomment
Joey Hess [Fri, 23 Jun 2023 16:54:55 +0000 (12:54 -0400)]
comment

3 years agoclose
Joey Hess [Fri, 23 Jun 2023 16:41:32 +0000 (12:41 -0400)]
close

3 years agocomment
Joey Hess [Fri, 23 Jun 2023 16:34:48 +0000 (12:34 -0400)]
comment

3 years agocomment and update todo
Joey Hess [Fri, 23 Jun 2023 16:25:08 +0000 (12:25 -0400)]
comment and update todo

3 years agocomment
Joey Hess [Fri, 23 Jun 2023 16:01:54 +0000 (12:01 -0400)]
comment

3 years agocomment
Joey Hess [Fri, 23 Jun 2023 15:44:49 +0000 (11:44 -0400)]
comment

3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 23 Jun 2023 15:43:55 +0000 (11:43 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years agoAdded a comment: More settings here
contr-error [Fri, 23 Jun 2023 09:18:11 +0000 (09:18 +0000)]
Added a comment: More settings here

3 years agoadd webapp workaround for nix-on-droid
bigras.bruno@f168759f00bfb915b072eb2b216057eca0cc38c4 [Thu, 22 Jun 2023 21:39:25 +0000 (21:39 +0000)]
add webapp workaround for nix-on-droid

3 years agoreopen on second thought
Joey Hess [Thu, 22 Jun 2023 17:48:48 +0000 (13:48 -0400)]
reopen on second thought

3 years agodocument annex.thin risk to locked files pointing at same content
Joey Hess [Wed, 21 Jun 2023 19:39:15 +0000 (15:39 -0400)]
document annex.thin risk to locked files pointing at same content

3 years agocreate journal directory in withJournalHandle
Joey Hess [Wed, 21 Jun 2023 19:23:59 +0000 (15:23 -0400)]
create journal directory in withJournalHandle

Fixes a crash by git-annex repair when .git/annex/journal/ does not exist.

Normally the journal directory is created before withJournalHandle gets
run, but git-annex repair can be run in a situation where it does not
exist.

3 years agoclose old bug report
Joey Hess [Wed, 21 Jun 2023 18:51:17 +0000 (14:51 -0400)]
close old bug report

3 years agoapparently fixed
Joey Hess [Wed, 21 Jun 2023 18:45:36 +0000 (14:45 -0400)]
apparently fixed

3 years agoclosing some old bugs
Joey Hess [Wed, 21 Jun 2023 18:42:36 +0000 (14:42 -0400)]
closing some old bugs

3 years agoclose
Joey Hess [Wed, 21 Jun 2023 18:39:51 +0000 (14:39 -0400)]
close

3 years agocomment
Joey Hess [Wed, 21 Jun 2023 18:36:54 +0000 (14:36 -0400)]
comment

3 years agoclose
Joey Hess [Wed, 21 Jun 2023 18:32:01 +0000 (14:32 -0400)]
close

3 years agoclose (for real this time)
Joey Hess [Wed, 21 Jun 2023 18:27:33 +0000 (14:27 -0400)]
close (for real this time)

3 years agomoreinfo
Joey Hess [Wed, 21 Jun 2023 18:23:57 +0000 (14:23 -0400)]
moreinfo

3 years agomoreinfo
Joey Hess [Wed, 21 Jun 2023 18:21:34 +0000 (14:21 -0400)]
moreinfo

3 years agomoreinfo
Joey Hess [Wed, 21 Jun 2023 18:11:38 +0000 (14:11 -0400)]
moreinfo

3 years agocomment
Joey Hess [Wed, 21 Jun 2023 18:10:34 +0000 (14:10 -0400)]
comment

3 years agoupdate
Joey Hess [Wed, 21 Jun 2023 17:59:13 +0000 (13:59 -0400)]
update

3 years agoclose
Joey Hess [Wed, 21 Jun 2023 17:56:10 +0000 (13:56 -0400)]
close

3 years agotag moreinfo
Joey Hess [Wed, 21 Jun 2023 17:50:13 +0000 (13:50 -0400)]
tag moreinfo

3 years agoreorder and condense
Joey Hess [Wed, 21 Jun 2023 17:48:22 +0000 (13:48 -0400)]
reorder and condense

3 years agofix build warnings
Joey Hess [Wed, 21 Jun 2023 17:06:11 +0000 (13:06 -0400)]
fix build warnings

3 years agolower optparse-applicative bounds after recent bump
Joey Hess [Wed, 21 Jun 2023 16:51:45 +0000 (12:51 -0400)]
lower optparse-applicative bounds after recent bump

0.14.2 included H.pretty. I tested with 0.16.1 and it displays ok using
it.

3 years agochangelog
Joey Hess [Wed, 21 Jun 2023 16:51:33 +0000 (12:51 -0400)]
changelog

3 years agoAdapt code to optparse-applicative 0.18.1 and later.
Peter Simons [Wed, 21 Jun 2023 14:46:54 +0000 (16:46 +0200)]
Adapt code to optparse-applicative 0.18.1 and later.

optparse-applicative switched to the 'prettyprinter' library in its latest
release, which means the 'H.text' function has disappeared. Instead, 'H.pretty'
can be used to convert all 'Pretty a' types into a renderable document.

3 years agocomment
Joey Hess [Wed, 21 Jun 2023 15:49:22 +0000 (11:49 -0400)]
comment

3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 21 Jun 2023 15:40:41 +0000 (11:40 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years agoAdded a comment
kdm9 [Wed, 21 Jun 2023 07:34:18 +0000 (07:34 +0000)]
Added a comment

3 years agoconsolidate
Joey Hess [Tue, 20 Jun 2023 19:10:11 +0000 (15:10 -0400)]
consolidate

3 years agodisplay destination file before youtube-dl download
Joey Hess [Tue, 20 Jun 2023 18:55:25 +0000 (14:55 -0400)]
display destination file before youtube-dl download

Rather than after it, which can leave one wondering what file it's
downloading.

youtubeDl should not ever return Right Nothing in normal operation,
becaause it's already asked youtube-dl if it supports the url. So it
would have to succeed at that, then not download any file, but also
exit successfully, in order for the new error message to display.

Also display the name of yt-dlp when using it.

3 years agofix comment nums
Joey Hess [Tue, 20 Jun 2023 17:44:31 +0000 (13:44 -0400)]
fix comment nums

3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 20 Jun 2023 17:43:35 +0000 (13:43 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years agohttpalso: Support being used with special remotes that use chunking.
Joey Hess [Tue, 20 Jun 2023 17:20:08 +0000 (13:20 -0400)]
httpalso: Support being used with special remotes that use chunking.

Sponsored-by: k0ld on Patreon
3 years agoAdded a comment: read-only webdav access
kdm9 [Tue, 20 Jun 2023 10:22:57 +0000 (10:22 +0000)]
Added a comment: read-only webdav access

3 years agoAdded a comment: chunking
kdm9 [Tue, 20 Jun 2023 10:21:36 +0000 (10:21 +0000)]
Added a comment: chunking

3 years agoImprove resuming interrupted download when using yt-dlp or youtube-dl
Joey Hess [Mon, 19 Jun 2023 19:01:47 +0000 (15:01 -0400)]
Improve resuming interrupted download when using yt-dlp or youtube-dl

Fixes a failure like this:

curl: (33) HTTP server doesn't seem to support byte ranges. Cannot resume.

That happens because the whole web page has already been downloaded
previously, and kept, so now addurl tries to download it, and curl asks the
server to resume from the last byte. And youtube.com can't, for whatever
stupid reason.

So, delete the temp file after determining that youtube-dl can be used.

3 years agoImprove resuming interrupted download when using yt-dlp
Joey Hess [Mon, 19 Jun 2023 18:23:14 +0000 (14:23 -0400)]
Improve resuming interrupted download when using yt-dlp

Sometimes resuming an interrupted download will fail to resume and download
more files with different names. That resulted in the workdir having
multiple files at the end, which causes git-annex to give up because it
does not know what was downloaded.

To fix this, use a yt-dlp feature, which appends to a file the name of each
file after it's finished downloading it. So the presence of other cruft in
the workdir will not confuse git-annex.

3 years agocomment
Joey Hess [Mon, 19 Jun 2023 17:49:12 +0000 (13:49 -0400)]
comment

3 years agoassistant: Fix a crash when a small file is deleted immediately after being created
Joey Hess [Mon, 19 Jun 2023 16:09:18 +0000 (12:09 -0400)]
assistant: Fix a crash when a small file is deleted immediately after being created

git add will fail if the file got deleted in the meantime. And since it was
queued, there was a window until the queue flushed where a deletion of the
file would cause a crash.

Instead, reuse Command.Add.addFile, which sha1 hashes the file itself
immediately, and then queues the index update. Ignore exceptions that will
happen if the file got deleted already.

Sponsored-by: k0ld on Patreon
3 years agolink comment to todo
Joey Hess [Mon, 19 Jun 2023 15:42:45 +0000 (11:42 -0400)]
link comment to todo

3 years agoskip sending individual files to export remotes
Joey Hess [Mon, 19 Jun 2023 15:24:32 +0000 (11:24 -0400)]
skip sending individual files to export remotes

That will fail, and it already exports whole trees.
f6dd34ca817bdf38d7b8d79be3ed626a266e3232 made it sync content with
import remotes, and if an import remote is also an export remote, that
caused this new failure mode.

Sponsored-by: Brock Spratlen on Patreon
3 years agoremoved
Lukey [Fri, 16 Jun 2023 20:04:05 +0000 (20:04 +0000)]
removed

3 years agoremoved
Lukey [Fri, 16 Jun 2023 19:59:28 +0000 (19:59 +0000)]
removed

3 years agoremoved
Lukey [Fri, 16 Jun 2023 19:59:09 +0000 (19:59 +0000)]
removed

3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Thu, 15 Jun 2023 14:08:16 +0000 (10:08 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years agoFix display when run with -J1
Joey Hess [Thu, 15 Jun 2023 14:01:42 +0000 (10:01 -0400)]
Fix display when run with -J1

Commit b6642dde8a49f34d7983a40e99bf7032a731c964 broke it by enabling
non-concurrent display mode while leaving concurrency set in the config
and having already started concurrency earlier.

(I don't actually know if that commit was a good idea.)

Sponsored-By: Brett Eisenberg on Patreon
3 years agobug
Joey Hess [Thu, 15 Jun 2023 13:39:56 +0000 (09:39 -0400)]
bug

3 years agoAdded a comment
stephenriley [Thu, 15 Jun 2023 02:57:35 +0000 (02:57 +0000)]
Added a comment

3 years agoAdded a comment
stephenriley [Thu, 15 Jun 2023 02:57:26 +0000 (02:57 +0000)]
Added a comment

3 years agoAdded a comment
aurtzy [Thu, 15 Jun 2023 01:56:43 +0000 (01:56 +0000)]
Added a comment

3 years agocomment
Joey Hess [Wed, 14 Jun 2023 23:53:55 +0000 (19:53 -0400)]
comment

3 years agoidea
Joey Hess [Wed, 14 Jun 2023 23:40:42 +0000 (19:40 -0400)]
idea

3 years ago(no commit message)
jacksondm33@cf6e91518a0fa6a05945d5d4e03ae770f6383615 [Wed, 14 Jun 2023 22:06:10 +0000 (22:06 +0000)]

3 years agoAdded a comment
strmd [Wed, 14 Jun 2023 10:42:41 +0000 (10:42 +0000)]
Added a comment

3 years agoAdded a comment
nobodyinperson [Tue, 13 Jun 2023 06:42:49 +0000 (06:42 +0000)]
Added a comment

3 years agoAdded a comment: Differing reliability among remotes
tomdhunt [Mon, 12 Jun 2023 22:58:42 +0000 (22:58 +0000)]
Added a comment: Differing reliability among remotes

3 years agoAdded a comment
nobodyinperson [Mon, 12 Jun 2023 21:12:29 +0000 (21:12 +0000)]
Added a comment

3 years agoclose bug report and improve docs that led to it being filed
Joey Hess [Mon, 12 Jun 2023 20:30:21 +0000 (16:30 -0400)]
close bug report and improve docs that led to it being filed

3 years agoconfig: Added the --show-origin and --for-file options
Joey Hess [Mon, 12 Jun 2023 20:08:26 +0000 (16:08 -0400)]
config: Added the --show-origin and --for-file options

* config: Added the --show-origin and --for-file options.
* config: Support annex.numcopies and annex.mincopies.

There is a little bit of redundancy here with other code elsewhere that
combines the various configs and selects which to use. But really only
for the special case of annex.numcopies, which is a git config that does
not override the annex branch setting and for annex.mincopies, which does
not have a git config but does have gitattributes settings as well as the
annex branch setting.

That seems small enough, and unlikely enough to grow into a mess that it was
worth supporting annex.numcopies and annex.mincopies in git-annex config
--show-origin. Because these settings are a prime thing that someone might
get confused about and want to know where they were configured.

And, it followed that git-annex config might as well support those two
for --set and --get as well. While this is redundant with the speclialized
commands, it's only a little code and it makes it more consistent.

Note that --set does not have as nice output as numcopies/mincopies
commands in some special cases like setting to 0 or a negative number.
It does avoid setting to a bad value thanks to the smart
constructors (eg configuredNumCopies).

As for other git-annex branch configurations that are not set by git-annex
config, things like trust and wanted that are specific to a repository
don't map to a git config name, so don't really fit into git-annex config.
And they are only configured in the git-annex branch with no local override
(at least so far), so --show-origin would not be useful for them.

Sponsored-by: Dartmouth College's DANDI project
3 years agomove unspecifiedAttr check to checkAttr
Joey Hess [Mon, 12 Jun 2023 18:37:42 +0000 (14:37 -0400)]
move unspecifiedAttr check to checkAttr

It just so happens that everywhere that checks attrs other than
annex.largefiles parses the value further, and failed to parse
unspecifiedAttr in a way that behaved the same as if nothing was set. So
this is not a bug fix or behavior change. What it does so is prevent
future uses of checkAttr from needing to remember to handle checking for
this edge case.

Sponsored-by: Dartmouth College's DANDI project
3 years agoassistant: Add dotfiles to git by default, unless annex.dotfiles is configured
Joey Hess [Mon, 12 Jun 2023 17:25:04 +0000 (13:25 -0400)]
assistant: Add dotfiles to git by default, unless annex.dotfiles is configured

Tthe same as git-annex add does.

Sponsored-by: Luke Shumaker on Patreon
3 years agocomment
Joey Hess [Mon, 12 Jun 2023 17:06:04 +0000 (13:06 -0400)]
comment

3 years agoclose weirdly time warped bug report
Joey Hess [Mon, 12 Jun 2023 16:51:50 +0000 (12:51 -0400)]
close weirdly time warped bug report

3 years ago(no commit message)
nobodyinperson [Mon, 12 Jun 2023 13:56:48 +0000 (13:56 +0000)]

3 years agoAdded a comment
jgoerzen [Sun, 11 Jun 2023 02:18:23 +0000 (02:18 +0000)]
Added a comment

3 years ago(no commit message)
jacksondm33@cf6e91518a0fa6a05945d5d4e03ae770f6383615 [Sat, 10 Jun 2023 16:03:12 +0000 (16:03 +0000)]

3 years agoAdded a comment
nobodyinperson [Sat, 10 Jun 2023 06:06:59 +0000 (06:06 +0000)]
Added a comment

3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 9 Jun 2023 20:14:25 +0000 (16:14 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years agofixed
Joey Hess [Fri, 9 Jun 2023 20:13:52 +0000 (16:13 -0400)]
fixed

3 years agoadd ContentIndentifiersCidRemoteKeyIndex
Joey Hess [Fri, 9 Jun 2023 19:12:33 +0000 (15:12 -0400)]
add ContentIndentifiersCidRemoteKeyIndex

Optimise database to further speed up importing large trees from special
remotes.

See comment for details of why the other index didn't help cid queries.

It would probably be better to manually create an index on only cid, rather
than adding a second uniqueness constraint that is a larger index. But
persitent does not support creating indexes, and an attempt to manually add
it to the migration failed.

Sponsored-by: Nicholas Golder-Manning on Patreon
3 years agoinitial todo/question for easing
yarikoptic [Fri, 9 Jun 2023 18:47:23 +0000 (18:47 +0000)]
initial todo/question for easing

3 years agorename forum/set_only_keep_current_version_in_repo.mdwn to forum/only_keep_current_ve...
Jack [Thu, 8 Jun 2023 22:45:06 +0000 (22:45 +0000)]
rename forum/set_only_keep_current_version_in_repo.mdwn to forum/only_keep_current_version_of_files_in_repo.mdwn

3 years ago(no commit message)
Jack [Thu, 8 Jun 2023 22:44:37 +0000 (22:44 +0000)]

3 years ago(no commit message)
Jack [Thu, 8 Jun 2023 22:42:59 +0000 (22:42 +0000)]

3 years agoupdate exportdb tree in getImportableContents
Joey Hess [Thu, 8 Jun 2023 22:36:24 +0000 (18:36 -0400)]
update exportdb tree in getImportableContents

This avoids bottlenecking on git check-ignore in a particular situation.
Also, there may have been a correctness issue with it not having updated it.
When the exportdb is already up-to-date, this is not expensive. And the
exportdb is updated elsewhere, so usually it is up-to-date.

Sponsored-by: Joshua Antonishen on Patreon
3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Thu, 8 Jun 2023 20:54:05 +0000 (16:54 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years agosync: use log to track adjusted branch needs updating
Joey Hess [Thu, 8 Jun 2023 18:35:26 +0000 (14:35 -0400)]
sync: use log to track adjusted branch needs updating

Speeds up sync in an adjusted branch by avoiding re-adjusting the branch
unncessarily, particularly when it is adjusted with --hide-missing or
--unlock-present.

When there are a lot of files, that was the majority of the time of a
--no-content sync.

Uses a log file, which is updated when content presence changes. This
adds a little bit of overhead to every file get/drop when on such an
adjusted branch. The overhead is minimal for get of any size of file,
but might be noticable for drop in some cases. It seems like a reasonable
trade-off. It would be possible to update the log file only at the end, but
then it would not happen if the command is interrupted.

When not in an adjusted branch, there should be no additional overhead.
(getCurrentBranch is an MVar read, and it avoids the MVar read of
getGitConfig.)

Note that this does not deal with situations such as:
git checkout master, git-annex get, git checkout adjusted branch,
git-annex sync. The sync won't know that the adjusted branch needs to be
updated. Dealing with that would add overhead to operation in non-adjusted
branches, which I don't like. Also, there are other situations like having
two adjusted branches that both need to be updated like this, and switching
between them and sync not updating.

This does mean a behavior change to sync, since it did previously deal
with those situations. But, the documentation did not say that it did.
The man pages only talk about sync updating the adjusted branch after
it transfers content.

I did consider making sync keep track of content it transferred (and
dropped) and only update the adjusted branch then, not to catch up to other
changes made previously. That would perform better. But it seemed rather
hard to implement, and also it would have problems with races with a
concurrent get/drop, which this implementation avoids.

And it seemed pretty likely someone had gotten used to get/drop followed by
sync updating the branch. It seems much less likely someone is switching
branches, doing get/drop, and then switching back and expecting sync to update
the branch.

Re-running git-annex adjust still does a full re-adjusting of the branch,
for anyone who needs that.

Sponsored-by: Leon Schuermann on Patreon
3 years agofix adjusted branch update breakage
Joey Hess [Thu, 8 Jun 2023 17:33:58 +0000 (13:33 -0400)]
fix adjusted branch update breakage

Introduced recently in commit 64fc34b3dab4c3ae1a623d1dce8e8b1110045e33.

adjustBranch changes the sha that is recorded for the current branch
(eg the adjusted branch). So, have to get the original sha before
calling it.

Sponsored-by: Jack Hill on Patreon