Whoops: I assumed the melpa branch HEAD Doom was using was actually
working for Doom, but it stopped working with straight.el after that
branch was regenerated after an update to the main branch. Should have
tested / reported upstream.
Doom pinned git-commit to the main branch HEAD and magit to the melpa
branch HEAD~1, which results in the same commit, so I can drop this
again (and have to, to pull in the git-commit update...).
They seem to generally not work if the rev we're fetching is not
current. That failure mode is particularly problematic because already
having the rev cached avoids the failure: fetches work initially, when
the pinned commit is the current one, then break after upstream commits.
I could disable repository caching in CI, but that would turn it into a
game of whack-a-mole: this breaks on upstream repository commits, not
flake updates.
The downside is increased disk usage. This can be partially mitigated by
enabling experimentalFetchTree, which fetches snapshots.
Force shallow false to work around
https://github.com/NixOS/nix/issues/11012 (Nix 2.23 default to shallow
fetches). We should be able to remove that if Nix adds the fallback
they're planning to add.
Hopefully fixes#14 once and for all.
Should no longer be necessary, Doom caught up.
Unclear why I thought Doom was getting the old location from el-get: it
should have been preferring MELPA... I either missed some caching
somewhere or just made a mistake.
Shallow clones are the default in Nix 2.23, but the Git server for
notmuch does not seem to allow shallow clones of specific revisions.
Disable them, which should make no difference for Nix < 2.23.
This is mostly to (hopefully) unblock CI. If this fixes it, I should
investigate if it is possible for Nix to fall back to a full clone in
this scenario.
62248f8366
updates magit without updating git-commit, which is built from the same
repo.
Pin git-commit to the same newer version (no significant changes).
Having CI confirm allRefs false is still safe would require a network
hit for each repo, which is already problematic. But
https://github.com/NixOS/nix/issues/7120 means we'd need to drop CI's
cached content, not just its cached refs: given how much we're fetching
that seems too much.
Fetch all refs unconditionally, assuming we're typically re-fetching the
same fixed rev repeatedly, which should be cached.
We need better test coverage to figure out how many more of these there
are. I don't see a way of dealing with them better, but (unless they are
revived) they should not change underneath us, so keeping these
overrides does not seem too risky.
Fix formatting for the sly-stepper pin while I'm there.
CI fails to fetch it:
```
error: Server does not allow request for unadvertised object 87d0d1fb0566a80229029d0d8d7c863138d70aae
warning: could not update mtime for file '/home/runner/.cache/nix/gitv3/0gjpwip102kwcvz961gsiva3lqmmr6266s5wzs8kq0ybm68gwpx9/refs/heads/master': No such file or directory
error:
… while checking flake output 'checks'
at /nix/store/fwrwzxjvvpx1l27h8j5f9gffzwn2vdik-source/flake.nix:54:7:
53| in {
54| checks = perSystemPackages (pkgs:
| ^
55| let
… while checking the derivation 'checks.x86_64-linux.full'
at /nix/store/fwrwzxjvvpx1l27h8j5f9gffzwn2vdik-source/flake.nix:83:11:
82| })).emacsWithDoom;
83| full = mkDoom {
| ^
84| full = true;
(stack trace truncated; use '--show-trace' to show the full trace)
error: Cannot find Git revision '87d0d1fb0566a80229029d0d8d7c863138d70aae' in ref 'refs/heads/master' of repository 'https://git.savannah.gnu.org/git/emms.git'! Please make sure that the rev exists on the ref you've specified or add allRefs = true; to fetchGit.
```
Try to follow the suggestions from the error message, as I do see the
commit in https://git.savannah.gnu.org/cgit/emms.git/.
I'm not sure why this is only failing now...