New Upstream Release - golang-pault-go-topsort
Ready changes
Summary
Merged new upstream version: 0.0~git20210425.3860c0f (was: 0.0~git20160529.f98d2ad).
Resulting package
Built on 2022-12-21T14:40 (took 3m26s)
The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:
apt install -t fresh-releases golang-pault-go-topsort-dev
Lintian Result
Diff
diff --git a/debian/changelog b/debian/changelog
index a24be07..f06cfee 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+golang-pault-go-topsort (0.0~git20210425.3860c0f-1) UNRELEASED; urgency=low
+
+ * New upstream snapshot.
+
+ -- Debian Janitor <janitor@jelmer.uk> Wed, 21 Dec 2022 14:37:36 -0000
+
golang-pault-go-topsort (0.0~git20160529.f98d2ad-2) unstable; urgency=medium
[ Debian Janitor ]
diff --git a/go.mod b/go.mod
new file mode 100644
index 0000000..2254272
--- /dev/null
+++ b/go.mod
@@ -0,0 +1,3 @@
+module pault.ag/go/topsort
+
+go 1.16
diff --git a/topsort.go b/topsort.go
index 2700230..7bc2033 100644
--- a/topsort.go
+++ b/topsort.go
@@ -47,7 +47,8 @@ func (tn *Network) Sort() ([]*Node, error) {
}
func (tn *Network) Get(name string) *Node {
- return tn.nodes[name]
+ node, _ := tn.nodes[name]
+ return node
}
func (tn *Network) AddNode(name string, value interface{}) *Node {
@@ -102,8 +103,18 @@ func (tn *Network) AddEdge(from string, to string) error {
return nil
}
-func (tn *Network) AddEdgeIfExists(from string, to string) {
- tn.AddEdge(from, to)
+func (tn *Network) AddEdgeAndNodes(from string, to string) error {
+ fromNode := tn.Get(from)
+ if fromNode == nil {
+ fromNode = tn.AddNode(from, nil)
+ }
+
+ toNode := tn.Get(to)
+ if toNode == nil {
+ toNode = tn.AddNode(to, nil)
+ }
+
+ return tn.AddEdge(from, to)
}
// }}}
diff --git a/topsort_test.go b/topsort_test.go
index 5badfa2..f5c38d5 100644
--- a/topsort_test.go
+++ b/topsort_test.go
@@ -185,4 +185,12 @@ func TestReSort(t *testing.T) {
assert(t, series[3].Name == "B")
}
+func TestTopsortEasyEdges(t *testing.T) {
+ network := topsort.NewNetwork()
+ network.AddEdgeAndNodes("foo", "bar")
+ series, err := network.Sort()
+ isok(t, err)
+ assert(t, len(series) == 2)
+}
+
// vim: foldmethod=marker
Debdiff
[The following lists of changes regard files as different if they have different names, permissions or owners.]
Files in second set of .debs but not in first
-rw-r--r-- root/root /usr/share/gocode/src/pault.ag/go/topsort/go.mod
No differences were encountered in the control files