Skip to content

Commit 13ecc64

Browse files
committed
Omit empty resolution markers in lockfile
1 parent cded50f commit 13ecc64

File tree

2 files changed

+7
-45
lines changed

2 files changed

+7
-45
lines changed

crates/uv-resolver/src/lock/mod.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -629,7 +629,9 @@ impl Lock {
629629
})
630630
.filter_map(super::requires_python::SimplifiedMarkerTree::try_to_string),
631631
);
632-
doc.insert("resolution-markers", value(fork_markers));
632+
if !fork_markers.is_empty() {
633+
doc.insert("resolution-markers", value(fork_markers));
634+
}
633635
}
634636

635637
if !self.supported_environments.is_empty() {
@@ -1973,7 +1975,7 @@ impl Package {
19731975
self.id.to_toml(None, &mut table);
19741976

19751977
if !self.fork_markers.is_empty() {
1976-
let wheels = each_element_on_its_line_array(
1978+
let fork_markers = each_element_on_its_line_array(
19771979
self.fork_markers
19781980
.iter()
19791981
// TODO(ag): Consider whether `resolution-markers` should actually
@@ -1983,7 +1985,9 @@ impl Package {
19831985
.map(|marker| SimplifiedMarkerTree::new(requires_python, marker.pep508()))
19841986
.filter_map(super::requires_python::SimplifiedMarkerTree::try_to_string),
19851987
);
1986-
table.insert("resolution-markers", value(wheels));
1988+
if !fork_markers.is_empty() {
1989+
table.insert("resolution-markers", value(fork_markers));
1990+
}
19871991
}
19881992

19891993
if !self.dependencies.is_empty() {

crates/uv/tests/it/lock_conflict.rs

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,6 @@ fn extra_basic() -> Result<()> {
101101
lock, @r###"
102102
version = 1
103103
requires-python = ">=3.12"
104-
resolution-markers = [
105-
]
106104
conflicts = [[
107105
{ package = "project", extra = "extra1" },
108106
{ package = "project", extra = "extra2" },
@@ -309,8 +307,6 @@ fn extra_basic_three_extras() -> Result<()> {
309307
lock, @r###"
310308
version = 1
311309
requires-python = ">=3.12"
312-
resolution-markers = [
313-
]
314310
conflicts = [[
315311
{ package = "project", extra = "extra1" },
316312
{ package = "project", extra = "extra2" },
@@ -824,8 +820,6 @@ fn extra_multiple_independent() -> Result<()> {
824820
lock, @r###"
825821
version = 1
826822
requires-python = ">=3.12"
827-
resolution-markers = [
828-
]
829823
conflicts = [[
830824
{ package = "project", extra = "extra1" },
831825
{ package = "project", extra = "extra2" },
@@ -986,8 +980,6 @@ fn extra_config_change_ignore_lockfile() -> Result<()> {
986980
lock, @r###"
987981
version = 1
988982
requires-python = ">=3.12"
989-
resolution-markers = [
990-
]
991983
conflicts = [[
992984
{ package = "project", extra = "extra1" },
993985
{ package = "project", extra = "extra2" },
@@ -1499,8 +1491,6 @@ fn group_basic() -> Result<()> {
14991491
lock, @r###"
15001492
version = 1
15011493
requires-python = ">=3.12"
1502-
resolution-markers = [
1503-
]
15041494
conflicts = [[
15051495
{ package = "project", group = "group1" },
15061496
{ package = "project", group = "group2" },
@@ -1665,8 +1655,6 @@ fn group_default() -> Result<()> {
16651655
lock, @r###"
16661656
version = 1
16671657
requires-python = ">=3.12"
1668-
resolution-markers = [
1669-
]
16701658
conflicts = [[
16711659
{ package = "project", group = "group1" },
16721660
{ package = "project", group = "group2" },
@@ -1891,8 +1879,6 @@ fn mixed() -> Result<()> {
18911879
lock, @r###"
18921880
version = 1
18931881
requires-python = ">=3.12"
1894-
resolution-markers = [
1895-
]
18961882
conflicts = [[
18971883
{ package = "project", group = "group1" },
18981884
{ package = "project", extra = "extra1" },
@@ -2067,8 +2053,6 @@ fn multiple_sources_index_disjoint_extras() -> Result<()> {
20672053
lock, @r###"
20682054
version = 1
20692055
requires-python = ">=3.12"
2070-
resolution-markers = [
2071-
]
20722056
conflicts = [[
20732057
{ package = "project", extra = "cu118" },
20742058
{ package = "project", extra = "cu124" },
@@ -2218,8 +2202,6 @@ fn multiple_sources_index_disjoint_groups() -> Result<()> {
22182202
lock, @r###"
22192203
version = 1
22202204
requires-python = ">=3.12"
2221-
resolution-markers = [
2222-
]
22232205
conflicts = [[
22242206
{ package = "project", group = "cu118" },
22252207
{ package = "project", group = "cu124" },
@@ -2369,8 +2351,6 @@ fn multiple_sources_index_disjoint_extras_with_extra() -> Result<()> {
23692351
lock, @r###"
23702352
version = 1
23712353
requires-python = ">=3.12"
2372-
resolution-markers = [
2373-
]
23742354
conflicts = [[
23752355
{ package = "project", extra = "cu118" },
23762356
{ package = "project", extra = "cu124" },
@@ -2860,8 +2840,6 @@ fn shared_optional_dependency_extra1() -> Result<()> {
28602840
lock, @r###"
28612841
version = 1
28622842
requires-python = ">=3.12"
2863-
resolution-markers = [
2864-
]
28652843
conflicts = [[
28662844
{ package = "project", extra = "foo" },
28672845
{ package = "project", extra = "bar" },
@@ -3004,8 +2982,6 @@ fn shared_optional_dependency_group1() -> Result<()> {
30042982
lock, @r###"
30052983
version = 1
30062984
requires-python = ">=3.12"
3007-
resolution-markers = [
3008-
]
30092985
conflicts = [[
30102986
{ package = "project", group = "foo" },
30112987
{ package = "project", group = "bar" },
@@ -3150,8 +3126,6 @@ fn shared_optional_dependency_mixed1() -> Result<()> {
31503126
lock, @r###"
31513127
version = 1
31523128
requires-python = ">=3.12"
3153-
resolution-markers = [
3154-
]
31553129
conflicts = [[
31563130
{ package = "project", extra = "foo" },
31573131
{ package = "project", group = "bar" },
@@ -3302,8 +3276,6 @@ fn shared_optional_dependency_extra2() -> Result<()> {
33023276
lock, @r###"
33033277
version = 1
33043278
requires-python = "==3.11.*"
3305-
resolution-markers = [
3306-
]
33073279
conflicts = [[
33083280
{ package = "project", extra = "foo" },
33093281
{ package = "project", extra = "bar" },
@@ -3450,8 +3422,6 @@ fn shared_optional_dependency_group2() -> Result<()> {
34503422
lock, @r###"
34513423
version = 1
34523424
requires-python = "==3.11.*"
3453-
resolution-markers = [
3454-
]
34553425
conflicts = [[
34563426
{ package = "project", group = "foo" },
34573427
{ package = "project", group = "bar" },
@@ -3604,8 +3574,6 @@ fn shared_optional_dependency_mixed2() -> Result<()> {
36043574
lock, @r###"
36053575
version = 1
36063576
requires-python = "==3.11.*"
3607-
resolution-markers = [
3608-
]
36093577
conflicts = [[
36103578
{ package = "project", extra = "foo" },
36113579
{ package = "project", group = "bar" },
@@ -3752,8 +3720,6 @@ fn shared_dependency_extra() -> Result<()> {
37523720
lock, @r###"
37533721
version = 1
37543722
requires-python = ">=3.12"
3755-
resolution-markers = [
3756-
]
37573723
conflicts = [[
37583724
{ package = "project", extra = "foo" },
37593725
{ package = "project", extra = "bar" },
@@ -3931,8 +3897,6 @@ fn shared_dependency_group() -> Result<()> {
39313897
lock, @r###"
39323898
version = 1
39333899
requires-python = ">=3.12"
3934-
resolution-markers = [
3935-
]
39363900
conflicts = [[
39373901
{ package = "project", group = "foo" },
39383902
{ package = "project", group = "bar" },
@@ -4112,8 +4076,6 @@ fn shared_dependency_mixed() -> Result<()> {
41124076
lock, @r###"
41134077
version = 1
41144078
requires-python = ">=3.12"
4115-
resolution-markers = [
4116-
]
41174079
conflicts = [[
41184080
{ package = "project", extra = "foo" },
41194081
{ package = "project", group = "bar" },
@@ -4329,8 +4291,6 @@ conflicts = [
43294291
lock, @r###"
43304292
version = 1
43314293
requires-python = "==3.11.*"
4332-
resolution-markers = [
4333-
]
43344294
conflicts = [[
43354295
{ package = "project", extra = "x1" },
43364296
{ package = "proxy1", extra = "x2" },
@@ -4524,8 +4484,6 @@ fn jinja_no_conflict_markers1() -> Result<()> {
45244484
lock, @r###"
45254485
version = 1
45264486
requires-python = ">=3.12"
4527-
resolution-markers = [
4528-
]
45294487
conflicts = [[
45304488
{ package = "project", extra = "cu118" },
45314489
{ package = "project", extra = "cu124" },

0 commit comments

Comments
 (0)