git-annex.git
2 years agoremove an out of date comment
Joey Hess [Wed, 25 Oct 2023 17:08:01 +0000 (13:08 -0400)]
remove an out of date comment

The mentioned todo was closed.

2 years agospeed up populating the importfeed database
Joey Hess [Wed, 25 Oct 2023 17:00:17 +0000 (13:00 -0400)]
speed up populating the importfeed database

Avoid conversion from ByteString to String for urls that will just be
converted right back to ByteString to go into the database.

Also setTempUrl is not used by importfeed, so avoid checking for temp
urls in this code path.

This benchmarks as only a small improvement. From 2.99s to 2.78s
when populating a database with 33k urls.

Note that it does not seem worth replacing URLString with URLByteString
generally, because the ways urls are used all entails either parseURI,
which takes a string, or passing a parameter to eg curl, which also is
currently a string.

Sponsored-by: Leon Schuermann on Patreon
2 years agocomment
Joey Hess [Tue, 24 Oct 2023 17:54:31 +0000 (13:54 -0400)]
comment

2 years agoImprove memory use of --all when using annex.private
Joey Hess [Tue, 24 Oct 2023 17:06:54 +0000 (13:06 -0400)]
Improve memory use of --all when using annex.private

This does not improve Annex.Branch.files at all, since it still uses ++ to
combine the lists, so forcing all but the last one.

But when there are a lot of files in the private journal, it does avoid
--all (or a bare repo) from buffering the filenames in memory.

See commit 653b7194727a27dfd185cdb0b752f8e190250fc4 for prior discussion of
this buffering.

Sponsored-by: Graham Spencer on Patreon
2 years agoAdded a comment: Minimum required version
v@80d733f66c2e675c27ee39df565ebed8d0ea12de [Tue, 24 Oct 2023 14:27:25 +0000 (14:27 +0000)]
Added a comment: Minimum required version

2 years agoAdded a comment: Outdated?
v@80d733f66c2e675c27ee39df565ebed8d0ea12de [Tue, 24 Oct 2023 13:26:44 +0000 (13:26 +0000)]
Added a comment: Outdated?

2 years agosqlite datbase for importfeed
Joey Hess [Mon, 23 Oct 2023 20:12:26 +0000 (16:12 -0400)]
sqlite datbase for importfeed

importfeed: Use caching database to avoid needing to list urls on every
run, and avoid using too much memory.

Benchmarking in my podcasts repo, importfeed got 1.42 seconds faster,
and memory use dropped from 203000k to 59408k.

Database.ImportFeed is Database.ContentIdentifier with the serial number
filed off. There is a bit of code duplication I would like to avoid,
particularly recordAnnexBranchTree, and getAnnexBranchTree. But these use
the persistent sqlite tables, so despite the code being the same, they
cannot be factored out.

Since this database includes the contentidentifier metadata, it will be
slightly redundant if a sqlite database is ever added for metadata. I
did consider making such a generic database and using it for this. But,
that would then need importfeed to update both the url database and the
metadata database, which is twice as much work diffing the git-annex
branch trees. Or would entagle updating two databases in a complex way.
So instead it seems better to optimise the database that
importfeed needs, and if the metadata database is used by another command,
use a little more disk space and do a little bit of redundant work to
update it.

Sponsored-by: unqueued on Patreon
2 years agoupdate
Joey Hess [Mon, 23 Oct 2023 18:18:49 +0000 (14:18 -0400)]
update

2 years agoupdate
Joey Hess [Mon, 23 Oct 2023 18:12:18 +0000 (14:12 -0400)]
update

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 23 Oct 2023 17:56:22 +0000 (13:56 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agoimprove docs
Joey Hess [Mon, 23 Oct 2023 17:55:53 +0000 (13:55 -0400)]
improve docs

2 years agoAdded a comment
Manager2103 [Mon, 23 Oct 2023 17:50:22 +0000 (17:50 +0000)]
Added a comment

2 years agonotabug
Joey Hess [Mon, 23 Oct 2023 17:46:46 +0000 (13:46 -0400)]
notabug

2 years ago(no commit message)
matrss [Mon, 23 Oct 2023 15:16:18 +0000 (15:16 +0000)]

2 years agoAdded a comment
branch [Mon, 23 Oct 2023 09:57:00 +0000 (09:57 +0000)]
Added a comment

2 years agoAdded a comment
Manager2103 [Sat, 21 Oct 2023 17:22:53 +0000 (17:22 +0000)]
Added a comment

2 years agonotabug
Joey Hess [Sat, 21 Oct 2023 16:27:21 +0000 (12:27 -0400)]
notabug

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Sat, 21 Oct 2023 16:25:19 +0000 (12:25 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agocomment
Joey Hess [Fri, 20 Oct 2023 18:02:37 +0000 (14:02 -0400)]
comment

2 years agoFix crash of enableremote when the special remote has embedcreds=yes
Joey Hess [Fri, 20 Oct 2023 17:19:12 +0000 (13:19 -0400)]
Fix crash of enableremote when the special remote has embedcreds=yes

The crash occurred because writeCreds got called twice, and writeFileProtected
neglected to close its file handle, so the file was open for write when
written the second time.

It seems unncessary and suboptimal that writeCreds gets called twice.
One call is from getRemoteCredPair and the other from setRemoteCredPair'.
What happens is that in the enableremote case, code that also runs at
initremote does unncessary work. Might be possible to improve that, but
I've gone for the simple fix.

Sponsored-by: k0ld on Patreon
2 years agoremove vim dev hack
Joey Hess [Fri, 20 Oct 2023 16:49:59 +0000 (12:49 -0400)]
remove vim dev hack

This caused infinite recursion when I just used it, the dev target has
changed to re-run make. Anyway, not needed now.

2 years ago(no commit message)
Manager2103 [Fri, 20 Oct 2023 16:14:24 +0000 (16:14 +0000)]

2 years ago(no commit message)
Manager2103 [Fri, 20 Oct 2023 16:13:30 +0000 (16:13 +0000)]

2 years ago(no commit message)
Manager2103 [Fri, 20 Oct 2023 16:12:03 +0000 (16:12 +0000)]

2 years ago(no commit message)
Manager2103 [Fri, 20 Oct 2023 16:10:54 +0000 (16:10 +0000)]

2 years agoAdded a comment
beryllium@5bc3c32eb8156390f96e363e4ba38976567425ec [Tue, 17 Oct 2023 10:28:51 +0000 (10:28 +0000)]
Added a comment

2 years agoAdded a comment
beryllium@5bc3c32eb8156390f96e363e4ba38976567425ec [Tue, 17 Oct 2023 10:16:24 +0000 (10:16 +0000)]
Added a comment

2 years agonew bug: git annex enableremote locking issue
kdm9 [Tue, 17 Oct 2023 10:13:47 +0000 (10:13 +0000)]
new bug: git annex enableremote locking issue

2 years ago(no commit message)
beryllium@5bc3c32eb8156390f96e363e4ba38976567425ec [Tue, 17 Oct 2023 09:41:12 +0000 (09:41 +0000)]

2 years agoAdded a comment: Rclone B2 vs S3
emi@f69ad15b49bfecb4ea3836b6480e5ab8df9a5f7d [Sun, 15 Oct 2023 15:03:18 +0000 (15:03 +0000)]
Added a comment: Rclone B2 vs S3

2 years agoremoved
emi@f69ad15b49bfecb4ea3836b6480e5ab8df9a5f7d [Sun, 15 Oct 2023 15:02:45 +0000 (15:02 +0000)]
removed

2 years agoAdded a comment: Rsync vs S3
emi@f69ad15b49bfecb4ea3836b6480e5ab8df9a5f7d [Sun, 15 Oct 2023 15:01:24 +0000 (15:01 +0000)]
Added a comment: Rsync vs S3

2 years agocomment
Joey Hess [Sat, 14 Oct 2023 18:33:38 +0000 (14:33 -0400)]
comment

2 years agoonly stage regular files from the journal
Joey Hess [Tue, 10 Oct 2023 17:22:02 +0000 (13:22 -0400)]
only stage regular files from the journal

git-annex only writes regular files there, but other things may drop junk
like empty .DAV directories around the tree. And trying to hash such things
can have weird and hard to understand effects. So it seems best to do a
small amount of work in statting the journal file to make sure it's a
regular file.

Sponsored-by: Jack Hill on Patreon
2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 10 Oct 2023 16:56:09 +0000 (12:56 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agoAdded a comment
beryllium@5bc3c32eb8156390f96e363e4ba38976567425ec [Tue, 10 Oct 2023 02:36:51 +0000 (02:36 +0000)]
Added a comment

2 years agoAdded a comment
beryllium@5bc3c32eb8156390f96e363e4ba38976567425ec [Mon, 9 Oct 2023 22:30:46 +0000 (22:30 +0000)]
Added a comment

2 years agocomment
Joey Hess [Mon, 9 Oct 2023 19:00:33 +0000 (15:00 -0400)]
comment

2 years agocomment
Joey Hess [Mon, 9 Oct 2023 18:47:19 +0000 (14:47 -0400)]
comment

2 years agocomment
Joey Hess [Mon, 9 Oct 2023 18:38:24 +0000 (14:38 -0400)]
comment

2 years agocommnet
Joey Hess [Mon, 9 Oct 2023 18:29:06 +0000 (14:29 -0400)]
commnet

2 years agocomment
Joey Hess [Mon, 9 Oct 2023 18:28:01 +0000 (14:28 -0400)]
comment

2 years agodon't say a supported version is unsupported
Joey Hess [Mon, 9 Oct 2023 18:26:24 +0000 (14:26 -0400)]
don't say a supported version is unsupported

When an automatic upgrade from eg v10 fails, it's still a supported
version, so don't say unsupported.

2 years ago(no commit message)
beryllium@5bc3c32eb8156390f96e363e4ba38976567425ec [Mon, 9 Oct 2023 07:41:37 +0000 (07:41 +0000)]

2 years agoAdded a comment
nobodyinperson [Fri, 6 Oct 2023 03:22:12 +0000 (03:22 +0000)]
Added a comment

2 years agoAdded a comment
branch [Thu, 5 Oct 2023 21:40:55 +0000 (21:40 +0000)]
Added a comment

2 years agoAdded a comment: Linux 64bit failing?
kdm9 [Wed, 4 Oct 2023 14:39:48 +0000 (14:39 +0000)]
Added a comment: Linux 64bit failing?

2 years ago(no commit message)
Atemu [Sun, 1 Oct 2023 10:06:18 +0000 (10:06 +0000)]

2 years ago(no commit message)
Atemu [Sun, 1 Oct 2023 09:38:29 +0000 (09:38 +0000)]

2 years agodrop NSF logo
Joey Hess [Wed, 27 Sep 2023 19:02:11 +0000 (15:02 -0400)]
drop NSF logo

Seems hotlinking is not allowed, and I don't want to copy it to some
other site (can't include it here due to licensing.)

2 years agofix NSF logo
Joey Hess [Wed, 27 Sep 2023 18:57:18 +0000 (14:57 -0400)]
fix NSF logo

2 years agoenable parallel ghc for building git-annex
Joey Hess [Tue, 26 Sep 2023 17:46:44 +0000 (13:46 -0400)]
enable parallel ghc for building git-annex

Via a build flag this time, that's off by default because hackage
demands it be so, but that gets turned on by the Makefile and by stack.

2 years agoRevert "enable parallel ghc for building git-annex"
Joey Hess [Tue, 26 Sep 2023 17:34:28 +0000 (13:34 -0400)]
Revert "enable parallel ghc for building git-annex"

This reverts commit 3f6aff89b1022b90c43a96b091d55e6e251d6f83.

Sadly hackage rejects cabal files using -j unless hidden behind an
option that is disabled by default.

2 years agoadd news item for git-annex 10.20230926
Joey Hess [Tue, 26 Sep 2023 17:30:00 +0000 (13:30 -0400)]
add news item for git-annex 10.20230926

2 years agoreleasing package git-annex version 10.20230926
Joey Hess [Tue, 26 Sep 2023 17:29:49 +0000 (13:29 -0400)]
releasing package git-annex version 10.20230926

2 years agoanalysis
Joey Hess [Tue, 26 Sep 2023 17:18:08 +0000 (13:18 -0400)]
analysis

2 years agofollowup
Joey Hess [Tue, 26 Sep 2023 17:04:42 +0000 (13:04 -0400)]
followup

2 years agoupdate
Joey Hess [Fri, 22 Sep 2023 20:03:09 +0000 (16:03 -0400)]
update

2 years agoclose
Joey Hess [Fri, 22 Sep 2023 19:52:28 +0000 (15:52 -0400)]
close

2 years agoclose
Joey Hess [Fri, 22 Sep 2023 19:47:40 +0000 (15:47 -0400)]
close

2 years agoclose
Joey Hess [Fri, 22 Sep 2023 19:45:49 +0000 (15:45 -0400)]
close

2 years agoclose
Joey Hess [Fri, 22 Sep 2023 19:38:58 +0000 (15:38 -0400)]
close

2 years agoclose
Joey Hess [Fri, 22 Sep 2023 19:37:47 +0000 (15:37 -0400)]
close

2 years agomoreinfo
Joey Hess [Fri, 22 Sep 2023 19:35:01 +0000 (15:35 -0400)]
moreinfo

2 years agoargh
Joey Hess [Fri, 22 Sep 2023 19:34:30 +0000 (15:34 -0400)]
argh

2 years agohmmm
Joey Hess [Fri, 22 Sep 2023 19:17:10 +0000 (15:17 -0400)]
hmmm

2 years agohm
Joey Hess [Fri, 22 Sep 2023 19:06:30 +0000 (15:06 -0400)]
hm

2 years agoanalysis
Joey Hess [Fri, 22 Sep 2023 18:49:21 +0000 (14:49 -0400)]
analysis

2 years agoclose as seems fixed
Joey Hess [Fri, 22 Sep 2023 17:34:39 +0000 (13:34 -0400)]
close as seems fixed

2 years agoclose
Joey Hess [Fri, 22 Sep 2023 17:31:37 +0000 (13:31 -0400)]
close

2 years agoenableremote: Avoid overwriting existing git remote when passed the uuid of a special...
Joey Hess [Fri, 22 Sep 2023 17:29:48 +0000 (13:29 -0400)]
enableremote: Avoid overwriting existing git remote when passed the uuid of a specialremote that was earlier initialized with the same name

2 years agomoreinfo
Joey Hess [Fri, 22 Sep 2023 16:59:32 +0000 (12:59 -0400)]
moreinfo

2 years agocomment
Joey Hess [Fri, 22 Sep 2023 16:58:19 +0000 (12:58 -0400)]
comment

2 years agodone
Joey Hess [Fri, 22 Sep 2023 16:55:37 +0000 (12:55 -0400)]
done

2 years agotypo
Joey Hess [Fri, 22 Sep 2023 16:48:35 +0000 (12:48 -0400)]
typo

2 years agodocument -C behavior with exporttree remotes
Joey Hess [Fri, 22 Sep 2023 16:40:40 +0000 (12:40 -0400)]
document -C behavior with exporttree remotes

2 years agocomment
Joey Hess [Fri, 22 Sep 2023 16:36:15 +0000 (12:36 -0400)]
comment

2 years agofix some build warnings from ghc 9.4.6
Joey Hess [Thu, 21 Sep 2023 17:40:22 +0000 (13:40 -0400)]
fix some build warnings from ghc 9.4.6

It now notices that a RepoLocation may not be Local, in which case
pattern matching on Local wouldn't do.

2 years agofix some build warnings from ghc 9.4.6
Joey Hess [Thu, 21 Sep 2023 17:38:36 +0000 (13:38 -0400)]
fix some build warnings from ghc 9.4.6

For some reason it doesn't notice that req must be a Req, because
the toplevel function matched on that.

2 years agoenable parallel ghc for building git-annex
Joey Hess [Thu, 21 Sep 2023 17:00:31 +0000 (13:00 -0400)]
enable parallel ghc for building git-annex

This drops a full recompile on my new 12 core laptop from 4:00 to 2:47.

It would be possible for me to use:
cabal configure --ghc-options=-j
But that also makes cabal parallelize ghc for each package it installs
to satisfy git-annex's dependencies. Since cabal is already configured
to parallize installing dependencies, that would use N^2 cpu cores,
which seems like a bad idea.

And also I'd have to remember to do it.

So I'm thinking it's better to do it by default. If a system that is
building git-annex is also busy with other things, let the scheduler
sort it out. If this impacts someone particularly badly, they can of
course avoid it with:
cabal configure --ghc-options=-j1

2 years agoSupport being built with crypton rather than cryptonite
Joey Hess [Thu, 21 Sep 2023 16:43:42 +0000 (12:43 -0400)]
Support being built with crypton rather than cryptonite

crypton is a fork of cryptonite, and cryptonite's github repo has been
archived. Some deps are already using cryptonite so it's clearly the way
forward.

Added a build flag without a default, so cabal configure will select on its
own which to use. stack files pin to cryptonite for now.

Sponsored-by: Nicholas Golder-Manning on Patreon
2 years agofix some build warnings from ghc 9.4.6
Joey Hess [Thu, 21 Sep 2023 16:11:01 +0000 (12:11 -0400)]
fix some build warnings from ghc 9.4.6

It now notices that a RepoLocation may not be Local, in which case
pattern matching on Local wouldn't do.

However, in these cases, I think it always is a Local. In particular,
Git.Config.read is only run on local repos and upgrades LocalUnknown to
Local.

2 years agouse unshorted hash in version
Joey Hess [Wed, 20 Sep 2023 13:31:59 +0000 (09:31 -0400)]
use unshorted hash in version

short hashes can be lengthened by unrelated pulls into a repo, breaking
reproducible builds
https://lists.reproducible-builds.org/pipermail/rb-general/2023-September/003072.html

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

2 years agonew make dev target
Joey Hess [Fri, 15 Sep 2023 12:10:32 +0000 (08:10 -0400)]
new make dev target

rename old to make prof

2 years agosilence build warning
Joey Hess [Fri, 15 Sep 2023 11:56:10 +0000 (07:56 -0400)]
silence build warning

about ~

2 years agotodo
Joey Hess [Fri, 15 Sep 2023 00:29:12 +0000 (20:29 -0400)]
todo

2 years agoAdded a comment
nobodyinperson [Thu, 14 Sep 2023 19:46:14 +0000 (19:46 +0000)]
Added a comment

2 years agoannouncement
Joey Hess [Thu, 14 Sep 2023 16:38:41 +0000 (12:38 -0400)]
announcement

2 years agocomment
Joey Hess [Wed, 13 Sep 2023 17:01:19 +0000 (13:01 -0400)]
comment

2 years agoremove incorrect documentation of annex.skipunknown behavior
Joey Hess [Wed, 13 Sep 2023 16:57:24 +0000 (12:57 -0400)]
remove incorrect documentation of annex.skipunknown behavior

git-annex get with no parameters and annex.skipunknown = false
in a directory with no files tracked by git results in the same
failure as with a "." parameter.

It may be that git ls-files --error-unmatch changed behavior? Or this
was just wrong.

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

2 years agolookupkey: Added --ref option
Joey Hess [Tue, 12 Sep 2023 16:48:49 +0000 (12:48 -0400)]
lookupkey: Added --ref option

Sponsored-by: Joshua Antonishen on Patreon
2 years agoAdded a comment
jstritch [Tue, 12 Sep 2023 16:36:26 +0000 (16:36 +0000)]
Added a comment

2 years agoAdded a comment: just show start time?
anarcat [Tue, 12 Sep 2023 15:51:22 +0000 (15:51 +0000)]
Added a comment: just show start time?

2 years agopropigateAdjustedCommits in seekExportContent
Joey Hess [Mon, 11 Sep 2023 18:54:26 +0000 (14:54 -0400)]
propigateAdjustedCommits in seekExportContent

push: When on an adjusted branch, propagate changes to parent branch before
updating export remotes.

This is a somewhat redundant call to propigateAdjustedCommits, since it
also gets called at pushLocal time. That other one needs to come after
importing from importtree remotes though, and seekExportContent has to come
earlier, so I don't see a way to avoid doing it twice.

Note that git-annex sync also manages to avoid the problem, it's only
git-annex push that had the bug.

Sponsored-by: Leon Schuermann on Patreon
2 years agoimprove warning message when unable to update export
Joey Hess [Mon, 11 Sep 2023 18:21:36 +0000 (14:21 -0400)]
improve warning message when unable to update export

A misleading message was displayed in several cases.

If the user has run eg: git config
remote.push-win-remote.annex-tracking-branch 'adjusted/main(unlocked)'
That is not supported, and now it will tell them it's not a valid
configuration. A user reported doing that, but I don't know if it's a
common point of confusion. If it is a common problem, a better message
would be possible, or it could convert back from the adjusted branch to
the actual branch.

Sponsored-by: Graham Spencer on Patreon
2 years agocomment (and close)
Joey Hess [Mon, 11 Sep 2023 17:19:55 +0000 (13:19 -0400)]
comment (and close)

2 years agocomment
Joey Hess [Mon, 11 Sep 2023 17:15:56 +0000 (13:15 -0400)]
comment

2 years agoadd link
Joey Hess [Mon, 11 Sep 2023 17:15:37 +0000 (13:15 -0400)]
add link