From 4a5f813b85ca8f67b43f63ee07608552e495aac8 Mon Sep 17 00:00:00 2001 From: Ivar Vong Date: Tue, 5 May 2026 17:43:09 -0400 Subject: [PATCH] Track exgit main branch; allow in :dev MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The integration test set wedged at boot because :exgit's old .app declared :vfs in its `applications` list (vfs is `optional: true` in exgit but Mix still emits it). With :exgit also depending on :vfs, :application_controller deadlocked on enqueue_or_start. Upstream fix is in exgit main (4a79314): mark the :vfs back-dep `runtime: false` so it doesn't land in `applications`. Track main here so the fix flows in, and allow :exgit in :dev so the fixture is debuggable from `iex -S mix run` without flipping to MIX_ENV=test. Per CLAUDE.md the dependency direction is backend → vfs; that invariant is preserved (vfs -> exgit only in :dev/:test, exgit -> vfs only at compile time). --- mix.exs | 2 +- mix.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mix.exs b/mix.exs index 1966786..8428b63 100644 --- a/mix.exs +++ b/mix.exs @@ -72,7 +72,7 @@ defmodule VFS.MixProject do # partial-clone, content-addressed objects, network transports). The # defimpl ships in test/support/ for now; production version moves # into :exgit once the protocol shape is stable. - {:exgit, github: "ivarvong/exgit", only: :test} + {:exgit, github: "ivarvong/exgit", branch: "main", only: [:dev, :test]} ] end diff --git a/mix.lock b/mix.lock index c4f1d62..cef34e4 100644 --- a/mix.lock +++ b/mix.lock @@ -8,7 +8,7 @@ "erlex": {:hex, :erlex, "0.2.8", "cd8116f20f3c0afe376d1e8d1f0ae2452337729f68be016ea544a72f767d9c12", [:mix], [], "hexpm", "9d66ff9fedf69e49dc3fd12831e12a8a37b76f8651dd21cd45fcf5561a8a7590"}, "ex_doc": {:hex, :ex_doc, "0.40.1", "67542e4b6dde74811cfd580e2c0149b78010fd13001fda7cfeb2b2c2ffb1344d", [:mix], [{:earmark_parser, "~> 1.4.44", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_c, ">= 0.1.0", [hex: :makeup_c, repo: "hexpm", optional: true]}, {:makeup_elixir, "~> 0.14 or ~> 1.0", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1 or ~> 1.0", [hex: :makeup_erlang, repo: "hexpm", optional: false]}, {:makeup_html, ">= 0.1.0", [hex: :makeup_html, repo: "hexpm", optional: true]}], "hexpm", "bcef0e2d360d93ac19f01a85d58f91752d930c0a30e2681145feea6bd3516e00"}, "excoveralls": {:hex, :excoveralls, "0.18.5", "e229d0a65982613332ec30f07940038fe451a2e5b29bce2a5022165f0c9b157e", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "523fe8a15603f86d64852aab2abe8ddbd78e68579c8525ae765facc5eae01562"}, - "exgit": {:git, "https://github.com/ivarvong/exgit.git", "9ce999c7bed0868c5573fed812a7d0848780852e", []}, + "exgit": {:git, "https://github.com/ivarvong/exgit.git", "4a79314f438dfbdb74e71e297395b6098edec9d4", [branch: "main"]}, "file_system": {:hex, :file_system, "1.1.1", "31864f4685b0148f25bd3fbef2b1228457c0c89024ad67f7a81a3ffbc0bbad3a", [:mix], [], "hexpm", "7a15ff97dfe526aeefb090a7a9d3d03aa907e100e262a0f8f7746b78f8f87a5d"}, "finch": {:hex, :finch, "0.21.0", "b1c3b2d48af02d0c66d2a9ebfb5622be5c5ecd62937cf79a88a7f98d48a8290c", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.6.2 or ~> 1.7", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 1.1", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "87dc6e169794cb2570f75841a19da99cfde834249568f2a5b121b809588a4377"}, "hpax": {:hex, :hpax, "1.0.3", "ed67ef51ad4df91e75cc6a1494f851850c0bd98ebc0be6e81b026e765ee535aa", [:mix], [], "hexpm", "8eab6e1cfa8d5918c2ce4ba43588e894af35dbd8e91e6e55c817bca5847df34a"},