Commit graph

44126 commits

Author SHA1 Message Date
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
jstritch
bd2e565592 2023-09-10 15:56:21 +00:00
jstritch
826918fb05 Added a comment: git annex pull is also broken 2023-09-09 14:49:35 +00:00
jstritch
c7346c2c47 2023-09-08 15:56:59 +00:00
matrss
790befd893 Added a comment: get file by branch and path in bare repository 2023-09-08 15:47:16 +00:00
Joey Hess
ecb9fb3b70
comment 2023-09-07 15:07:41 -04:00
Joey Hess
baf8e4f6ed
Override safe.bareRepository for git remotes
Fix using git remotes that are bare when git is configured
with safe.bareRepository = explicit

Sponsored-by: Dartmouth College's DANDI project
2023-09-07 14:56:26 -04:00
Joey Hess
cbfd214993
set safe.directory when getting config for git-annex-shell or git remotes
Fix more breakage caused by git's fix for CVE-2022-24765, this time
involving a remote (either local or ssh) that is a repository not owned by
the current user.

Sponsored-by: Dartmouth College's DANDI project
2023-09-07 14:40:50 -04:00
Joey Hess
32cb2bd3fa
Fix linker optimisation in linux standalone tarballs
Was only symlinking when there is a usr/ directory, but with usr/ merge,
there are none.

Sponsored-by: Dartmouth College's Datalad project
2023-09-07 12:59:27 -04:00
Joey Hess
9563830529
tag datalad 2023-09-07 12:57:38 -04:00
yarikoptic
70e766c95b Added a comment 2023-08-31 16:48:34 +00:00
yarikoptic
4d165518c3 original report on misleading reasons stated by enableremote for the need of safe.directory case 2023-08-31 15:58:52 +00:00
yarikoptic
07abfc3075 Added a comment 2023-08-31 13:57:21 +00:00
yarikoptic
c6f6b993bc reporting on increased number of looksup 2023-08-31 13:54:20 +00:00
gitannex@fe613c61745e9d1e7f6df5e24a666828bb5682cc
86c70833a1 Added a comment 2023-08-31 01:56:30 +00:00
gitannex@fe613c61745e9d1e7f6df5e24a666828bb5682cc
578f24b632 2023-08-31 01:44:23 +00:00
gitannex@fe613c61745e9d1e7f6df5e24a666828bb5682cc
2837c63282 2023-08-31 01:40:02 +00:00
gitannex@fe613c61745e9d1e7f6df5e24a666828bb5682cc
e67050b8d3 2023-08-31 01:34:23 +00:00
Joey Hess
50300a47fe
Removed the vendored git-lfs and the GitLfs build flag
AFAICS all git-annex builds are using the git-lfs library not the vendored
copy.

Debian stable now includes a new enough haskell-git-lfs package as well.
Last time this was tried it did not.
2023-08-28 13:12:31 -04:00
Joey Hess
d3796248ea
add news item for git-annex 10.20230828 2023-08-28 13:04:20 -04:00
Joey Hess
a0a42e7ec1
releasing package git-annex version 10.20230828 2023-08-28 13:04:06 -04:00
Joey Hess
5e818e4903
remove man pages from cabal file
Since 393275c105 Setup.hs no longer
installs the man pages. Since the cabal package is only used to install
git-annex with cabal, it doesn't need to include files like these that
are not used when installing with cabal.
2023-08-28 12:57:50 -04:00
Joey Hess
0cc184f044
better link to install stack
and a layout fix
2023-08-28 12:52:53 -04:00
Joey Hess
92672662c7
remove unused import 2023-08-28 12:35:57 -04:00
Joey Hess
8e6eaad590
remove dead code 2023-08-28 12:34:24 -04:00