Skip to content

Commit 008cbd2

Browse files
committed
repro: materialize case trees, keep run.sh a thin runner
Fixtures now read directly on GitHub; the script only copies a case into a sandbox and asserts. Case 3 reuses the case 1 tree, matching the README table.
1 parent d8616fc commit 008cbd2

15 files changed

Lines changed: 85 additions & 59 deletions

File tree

README.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,12 @@ Run:
88
./run.sh # uses `mise` from PATH
99
MISE_BIN=/path/to/mise ./run.sh
1010

11-
Every case runs in a throwaway HOME (`mktemp -d`); nothing touches the real
12-
home. Exit code 0 means every case reproduced the behavior in the table
13-
below — including the two conflicts. When mise gains merge semantics for
14-
same-target `symlink-each`, cases 1 and 3 turn into successes and `run.sh`
15-
starts failing: it doubles as the fix detector.
11+
Every case is a materialized tree under `case*/`. `run.sh` copies each into
12+
a throwaway sandbox (`mktemp -d`) and runs mise with an isolated HOME —
13+
nothing touches the real home. Exit code 0 means every case reproduced the
14+
behavior in the table below — including the two conflicts. When mise gains
15+
merge semantics for same-target `symlink-each`, cases 1 and 3 turn into
16+
successes and `run.sh` starts failing: it doubles as the fix detector.
1617

1718
| case | layout | result on 2026.8.9 |
1819
|---|---|---|
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# fragment from a
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[dotfiles]
2+
"~/.config/mise/" = { source = "config-mise", mode = "symlink-each" }
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# fragment from b
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[dotfiles]
2+
"~/.config/mise/" = { source = "config-mise", mode = "symlink-each" }

case1-shared-target/mise.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[settings]
2+
experimental = true
3+
4+
[bootstrap]
5+
config_roots = ["bundles/*"]
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# fragment from a
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[dotfiles]
2+
"~/.config/a-mine/" = { source = "config-mise", mode = "symlink-each" }
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# fragment from b
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[dotfiles]
2+
"~/.config/b-mine/" = { source = "config-mise", mode = "symlink-each" }

0 commit comments

Comments
 (0)