Skip to content

Commit 699909c

Browse files
committed
Rollback modifying the dep expansion for same version children
1 parent ddfca39 commit 699909c

File tree

3 files changed

+20
-16
lines changed

3 files changed

+20
-16
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ Changelog
33

44
*Also see [Tools and installer changelog](https://github.com/clojure/brew-install/blob/1.12.0/CHANGELOG.md)*
55

6+
* next
7+
* Rollback modifying the dep expansion for same version children
68
* 0.22.1476 on Feb 6, 2025
79
* Modify dep expansion to reenqueue same version children in case previous parent was omitted
810
* Memoize dep lookups during dep expansion to avoid unnecessary calls

src/main/clojure/clojure/tools/deps.clj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,8 @@
236236
enq-only (set/difference cut-coord new-cut)]
237237
{:exclusions' exclusions'
238238
:cut' (assoc cut [lib coord-id] new-cut)
239-
:child-pred (fn [lib] (not (contains? new-cut lib)))})
239+
:child-pred (set enq-only)})
240+
;:child-pred (fn [lib] (not (contains? new-cut lib)))})
240241

241242
:else ;; otherwise, no change
242243
{:exclusions' exclusions, :cut' cut})))

src/test/clojure/clojure/tools/deps/test_deps.clj

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -240,20 +240,20 @@
240240
;; +b1 -> +e1 -> +c1 -> +d1
241241
;; -> +h2 -> c1 -> d1
242242
;; h2 supersedes previous h1, but need to ensure d1 is included via c1 somewhere
243-
(deftest test-cut-previously-selected-child-3
244-
(fkn/with-libs {'ex/a {{:fkn/version "1"} [['ex/h {:fkn/version "1"}]]}
245-
'ex/b {{:fkn/version "1"} [['ex/e {:fkn/version "1"}]]}
246-
'ex/c {{:fkn/version "1"} [['ex/d {:fkn/version "1"}]]}
247-
'ex/d {{:fkn/version "1"} nil}
248-
'ex/e {{:fkn/version "1"} [['ex/c {:fkn/version "1"}] ['ex/h {:fkn/version "2"}]]}
249-
'ex/h {{:fkn/version "1"} [['ex/c {:fkn/version "1"}]]
250-
{:fkn/version "2"} [['ex/c {:fkn/version "1"}]]}}
251-
(is (= {:a "1", :b "1", :c "1", :d "1", :e "1", :h "2"}
252-
(let [res (deps/resolve-deps {:deps {'ex/a {:fkn/version "1"}
253-
'ex/b {:fkn/version "1"}}} {:threads 1})]
254-
(libs->lib-ver res))))))
255-
256-
(comment (test-cut-previously-selected-child-3) )
243+
;(deftest test-cut-previously-selected-child-3
244+
; (fkn/with-libs {'ex/a {{:fkn/version "1"} [['ex/h {:fkn/version "1"}]]}
245+
; 'ex/b {{:fkn/version "1"} [['ex/e {:fkn/version "1"}]]}
246+
; 'ex/c {{:fkn/version "1"} [['ex/d {:fkn/version "1"}]]}
247+
; 'ex/d {{:fkn/version "1"} nil}
248+
; 'ex/e {{:fkn/version "1"} [['ex/c {:fkn/version "1"}] ['ex/h {:fkn/version "2"}]]}
249+
; 'ex/h {{:fkn/version "1"} [['ex/c {:fkn/version "1"}]]
250+
; {:fkn/version "2"} [['ex/c {:fkn/version "1"}]]}}
251+
; (is (= {:a "1", :b "1", :c "1", :d "1", :e "1", :h "2"}
252+
; (let [res (deps/resolve-deps {:deps {'ex/a {:fkn/version "1"}
253+
; 'ex/b {:fkn/version "1"}}} {:threads 1})]
254+
; (libs->lib-ver res))))))
255+
;
256+
;(comment (test-cut-previously-selected-child-3) )
257257

258258
;; +a -> +b -> -x2 -> -y2 -> -z2
259259
;; -> +c -> +d -> +x3 -> +y2 -> +z2
@@ -457,7 +457,8 @@
457457
(is (= {:exclusions' '{[a] #{c}, [b a] #{c d}}, :cut' cut} (select-keys ret [:exclusions' :cut']))) ;; no change in cut
458458
(let [pred (:child-pred ret)] ;; c excluded in both, but re-enqueue d - always intersection
459459
(is (false? (boolean (pred 'c))))
460-
(is (true? (boolean (pred 'd)))))))
460+
;;(is (true? (boolean (pred 'd))))
461+
)))
461462

462463
;; +x1 -> -a1 -> +b2
463464
;; +z1 -> +y1 -> +a2 -> -b1 (or +b1, but at least a consistent result)

0 commit comments

Comments
 (0)