git: 'commit-difference' really excludes the ancestors of #:excluded.
* guix/git.scm (commit-difference): Initialize VISITED to the closure of OLD and EXCLUDED, as written in the docstring. * tests/git.scm ("commit-difference, excluded commits"): Adjust accordingly.master
parent
5d95ac9178
commit
72357e2170
|
@ -416,7 +416,9 @@ Essentially, this computes the set difference between the closure of NEW and
|
||||||
that of OLD."
|
that of OLD."
|
||||||
(let loop ((commits (list new))
|
(let loop ((commits (list new))
|
||||||
(result '())
|
(result '())
|
||||||
(visited (commit-closure old (list->setq excluded))))
|
(visited (fold commit-closure
|
||||||
|
(setq)
|
||||||
|
(cons old excluded))))
|
||||||
(match commits
|
(match commits
|
||||||
(()
|
(()
|
||||||
(reverse result))
|
(reverse result))
|
||||||
|
|
|
@ -119,8 +119,7 @@
|
||||||
(list commit3 commit4))
|
(list commit3 commit4))
|
||||||
(lset= eq? (commit-difference commit4 commit1 (list commit3))
|
(lset= eq? (commit-difference commit4 commit1 (list commit3))
|
||||||
(list commit4))
|
(list commit4))
|
||||||
(lset= eq? (commit-difference commit4 commit1 (list commit5))
|
(null? (commit-difference commit4 commit1 (list commit5))))))))
|
||||||
(list commit2 commit3 commit4)))))))
|
|
||||||
|
|
||||||
(unless (which (git-command)) (test-skip 1))
|
(unless (which (git-command)) (test-skip 1))
|
||||||
(test-equal "commit-relation"
|
(test-equal "commit-relation"
|
||||||
|
|
Reference in New Issue