Commit graph

43900 commits

Author SHA1 Message Date
Joey Hess
4ac2758ba5
Revert "enable parallel ghc for building git-annex"
This reverts commit 3f6aff89b1.

Sadly hackage rejects cabal files using -j unless hidden behind an
option that is disabled by default.
2023-09-26 13:34:28 -04:00
Joey Hess
eee3881c1b
add news item for git-annex 10.20230926 2023-09-26 13:30:00 -04:00
Joey Hess
b9240d2c5d
releasing package git-annex version 10.20230926 2023-09-26 13:29:49 -04:00
Joey Hess
72bfcd987c
analysis 2023-09-26 13:18:08 -04:00
Joey Hess
3ca7812310
followup 2023-09-26 13:04:42 -04:00
Joey Hess
0d86e58e4c
update 2023-09-22 16:03:09 -04:00
Joey Hess
ea92fc85aa
close 2023-09-22 15:52:28 -04:00
Joey Hess
2ba68644b9
close 2023-09-22 15:47:40 -04:00
Joey Hess
5fd270a8c1
close 2023-09-22 15:45:49 -04:00
Joey Hess
3e6fd6cd2d
close 2023-09-22 15:38:58 -04:00
Joey Hess
808ae573ce
close 2023-09-22 15:37:47 -04:00
Joey Hess
4e1ad74a68
moreinfo 2023-09-22 15:35:01 -04:00
Joey Hess
a8d6481c0a
argh 2023-09-22 15:34:30 -04:00
Joey Hess
c85e52fd85
hmmm 2023-09-22 15:17:10 -04:00
Joey Hess
269a9494e1
hm 2023-09-22 15:06:30 -04:00
Joey Hess
415e899741
analysis 2023-09-22 14:49:21 -04:00
Joey Hess
9153f3e475
close as seems fixed 2023-09-22 13:34:39 -04:00
Joey Hess
8624e13b5f
close 2023-09-22 13:31:37 -04:00
Joey Hess
41f4d0bda9
enableremote: Avoid overwriting existing git remote when passed the uuid of a specialremote that was earlier initialized with the same name 2023-09-22 13:29:48 -04:00
Joey Hess
80ee107880
moreinfo 2023-09-22 12:59:32 -04:00
Joey Hess
8f9f8076b6
comment 2023-09-22 12:58:19 -04:00
Joey Hess
bf814d55cc
done 2023-09-22 12:55:37 -04:00
Joey Hess
d5147df7e7
typo 2023-09-22 12:48:35 -04:00
Joey Hess
45f39e58ff
document -C behavior with exporttree remotes 2023-09-22 12:40:40 -04:00
Joey Hess
5479e2327b
comment 2023-09-22 12:36:15 -04:00
Joey Hess
ef7c867238
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.
2023-09-21 13:40:22 -04:00
Joey Hess
a147a31baa
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.
2023-09-21 13:38:36 -04:00
Joey Hess
3f6aff89b1
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
2023-09-21 13:00:31 -04:00
Joey Hess
54da44d42a
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
2023-09-21 12:43:42 -04:00
Joey Hess
e03e907705
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.
2023-09-21 12:11:01 -04:00
Joey Hess
784be819b3
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
2023-09-20 09:31:59 -04:00
Joey Hess
dcb0491a95
Merge branch 'master' of ssh://git-annex.branchable.com 2023-09-18 10:15:25 -04:00
Joey Hess
9d2e8e2caa
new make dev target
rename old to make prof
2023-09-15 08:10:32 -04:00
Joey Hess
6472da265b
silence build warning
about ~
2023-09-15 07:56:10 -04:00
Joey Hess
bda0db6f65
todo 2023-09-14 20:29:12 -04:00
nobodyinperson
bb8ba1cbf4 Added a comment 2023-09-14 19:46:14 +00:00
Joey Hess
f031d01436
announcement 2023-09-14 12:38:41 -04:00
Joey Hess
d01e4b51ae
comment 2023-09-13 13:01:19 -04:00
Joey Hess
30a81d4644
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.
2023-09-13 12:57:24 -04:00
Joey Hess
9db90bab57
Merge branch 'master' of ssh://git-annex.branchable.com 2023-09-12 12:50:35 -04:00
Joey Hess
a18e40bdd7
lookupkey: Added --ref option
Sponsored-by: Joshua Antonishen on Patreon
2023-09-12 12:49:11 -04:00
jstritch
d12af0db78 Added a comment 2023-09-12 16:36:26 +00:00
anarcat
22bf65b875 Added a comment: just show start time? 2023-09-12 15:51:22 +00:00
Joey Hess
7be8950138
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
2023-09-11 14:54:26 -04:00
Joey Hess
aeaadb8eb8
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
2023-09-11 14:21:36 -04:00
Joey Hess
f3e5fc6d89
comment (and close) 2023-09-11 13:19:55 -04:00
Joey Hess
ec63bab79b
comment 2023-09-11 13:15:56 -04:00
Joey Hess
01e952a506
add link 2023-09-11 13:15:37 -04:00
Joey Hess
b314d8f73f
Merge branch 'master' of ssh://git-annex.branchable.com 2023-09-11 13:14:38 -04:00
Joey Hess
29ae536637
adb send to final filename not tmp file
Avoids some problems with unusual character in exporttree filenames
that confuse adb shell commands.

In particular, with a filename that contains \351, adb push sends the file
to the correct filename in /sdcard. And running find on the android device
roundtrips the filename. But, running mv on that filename on the android
device fails with "bad <filename>: No such file or directory".
Interestingly, ls on android works, and rm fails.

adb push to the final name to avoids this problem. But what about
atomicity? Well, I tried an adb push and interrupted it part way through.
The file was present while the push was running, but was removed once the
push got interrupted. I also tried yanking the cable while adb push was
running, and the partially received file was also deleted then. That avoids
most problems.

An import that runs at the same time as an export will see the partially
sent file. But that is unlikely to be done, and if it did happen, it would
notice that the imported file had changed in the meantime and discard it.

Note that, since rm on the android device fails on these filenames,
exporting a tree where the file is deleted is going to fail to remove it. I
don't see what I can do about that, so long as android is using an rm that
has issues with filename encodings.

This was tested on a phone where find, ls, and rm all come from Toybox 0.8.6.

Sponsored-by: unqueued on Patreon
2023-09-11 13:13:05 -04:00