Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package perl-Graph for openSUSE:Factory 
checked in at 2021-04-12 12:36:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Graph (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Graph.new.2401 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Graph"

Mon Apr 12 12:36:37 2021 rev:23 rq:884093 version:0.9720

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Graph/perl-Graph.changes    2021-03-18 
22:54:42.419515696 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Graph.new.2401/perl-Graph.changes  
2021-04-12 12:39:30.329518602 +0200
@@ -1,0 +2,12 @@
+Fri Mar 26 03:06:32 UTC 2021 - Tina M??ller <timueller+p...@suse.de>
+
+- updated to 0.9720
+   see /usr/share/doc/packages/perl-Graph/Changes
+
+  0.9720 2021-03-25
+  - better fix - no mutate inputs
+
+  0.9719 2021-03-25
+  - fix all_paths infinite loop on cycle - thanks @tobez for report
+
+-------------------------------------------------------------------

Old:
----
  Graph-0.9718.tar.gz

New:
----
  Graph-0.9720.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Graph.spec ++++++
--- /var/tmp/diff_new_pack.di2ZZK/_old  2021-04-12 12:39:30.965519341 +0200
+++ /var/tmp/diff_new_pack.di2ZZK/_new  2021-04-12 12:39:30.969519346 +0200
@@ -18,7 +18,7 @@
 
 %define cpan_name Graph
 Name:           perl-Graph
-Version:        0.9718
+Version:        0.9720
 Release:        0
 Summary:        Graph data structures and algorithms
 License:        Artistic-1.0 OR GPL-1.0-or-later

++++++ Graph-0.9718.tar.gz -> Graph-0.9720.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Graph-0.9718/Changes new/Graph-0.9720/Changes
--- old/Graph-0.9718/Changes    2021-03-13 17:43:27.000000000 +0100
+++ new/Graph-0.9720/Changes    2021-03-25 20:57:19.000000000 +0100
@@ -1,3 +1,9 @@
+0.9720 2021-03-25
+- better fix - no mutate inputs
+
+0.9719 2021-03-25
+- fix all_paths infinite loop on cycle - thanks @tobez for report
+
 0.9718 2021-03-13
 - remove doc of deleted average_degree method - thanks @lindleyw for report
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Graph-0.9718/META.json new/Graph-0.9720/META.json
--- old/Graph-0.9718/META.json  2021-03-13 17:44:27.000000000 +0100
+++ new/Graph-0.9720/META.json  2021-03-25 20:57:52.000000000 +0100
@@ -68,6 +68,6 @@
          "web" : "https://github.com/graphviz-perl/Graph";
       }
    },
-   "version" : "0.9718",
+   "version" : "0.9720",
    "x_serialization_backend" : "JSON::PP version 4.04"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Graph-0.9718/META.yml new/Graph-0.9720/META.yml
--- old/Graph-0.9718/META.yml   2021-03-13 17:44:27.000000000 +0100
+++ new/Graph-0.9720/META.yml   2021-03-25 20:57:52.000000000 +0100
@@ -30,5 +30,5 @@
 resources:
   bugtracker: https://github.com/graphviz-perl/Graph/issues
   repository: git://github.com/graphviz-perl/Graph.git
-version: '0.9718'
+version: '0.9720'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Graph-0.9718/lib/Graph/TransitiveClosure/Matrix.pm 
new/Graph-0.9720/lib/Graph/TransitiveClosure/Matrix.pm
--- old/Graph-0.9718/lib/Graph/TransitiveClosure/Matrix.pm      2021-01-03 
07:28:36.000000000 +0100
+++ new/Graph-0.9720/lib/Graph/TransitiveClosure/Matrix.pm      2021-03-25 
20:54:58.000000000 +0100
@@ -185,13 +185,16 @@
 }
 
 sub all_paths {
-    my ($tc, $u, $v) = @_;
+    my ($tc, $u, $v, $seen) = @_;
     return if $u eq $v;
+    $seen ||= {};
+    return if exists $seen->{$u};
+    $seen = { %$seen, $u => undef }; # accumulate, but don't mutate
     my @found;
     push @found, [$u, $v] if $tc->[ _G ]->has_edge($u, $v);
     push @found,
         map [$u, @$_],
-        map $tc->all_paths($_, $v),
+        map $tc->all_paths($_, $v, $seen),
         grep $tc->is_reachable($_, $v),
         grep $_ ne $v && $_ ne $u, $tc->[ _G ]->successors($u);
     @found;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Graph-0.9718/lib/Graph.pm 
new/Graph-0.9720/lib/Graph.pm
--- old/Graph-0.9718/lib/Graph.pm       2021-03-13 17:43:13.000000000 +0100
+++ new/Graph-0.9720/lib/Graph.pm       2021-03-25 20:57:26.000000000 +0100
@@ -14,7 +14,7 @@
 
 use Graph::AdjacencyMap qw(:flags :fields);
 
-our $VERSION = '0.9718';
+our $VERSION = '0.9720';
 
 require 5.006; # Weak references are absolutely required.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Graph-0.9718/t/72_transitive.t 
new/Graph-0.9720/t/72_transitive.t
--- old/Graph-0.9718/t/72_transitive.t  2021-01-06 00:22:03.000000000 +0100
+++ new/Graph-0.9720/t/72_transitive.t  2021-03-25 20:47:57.000000000 +0100
@@ -1,5 +1,5 @@
 use strict; use warnings;
-use Test::More tests => 235;
+use Test::More;
 
 use Graph::Directed;
 use Graph::Undirected;
@@ -467,6 +467,14 @@
 }
 
 {
+    my $g = Graph::Undirected->new;
+    $g->add_path(qw(A B C A));
+    my $tcg = $g->transitive_closure;
+    my @paths = sort { @$a <=> @$b } $tcg->all_paths("A", "C");
+    is_deeply \@paths, [ [qw(A C)], [qw(A B C)] ], "no infinite loop";
+}
+
+{
     # 9 4 8 are a cycle, plus longer cycle 9 4 8 7
     # other paths: 1-7, 6-2-3
     my @example = (
@@ -506,3 +514,5 @@
 EOF
     ok $tcg->is_reachable(7, 8), '7-8 reachable when on cycle';
 }
+
+done_testing;

Reply via email to