From 2a647d125f36bafb79e173d8fce807efdb20025e Mon Sep 17 00:00:00 2001 From: Adam Spiers Date: Sat, 6 Apr 2024 13:33:53 +0100 Subject: [PATCH] iterate over directories in sorted order This makes behaviour more deterministic, and makes debugging easier. --- lib/Stow.pm.in | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/Stow.pm.in b/lib/Stow.pm.in index 6c7027b..b402d9a 100755 --- a/lib/Stow.pm.in +++ b/lib/Stow.pm.in @@ -432,7 +432,7 @@ sub stow_contents { closedir $DIR; NODE: - for my $node (@listing) { + for my $node (sort @listing) { next NODE if $node eq '.'; next NODE if $node eq '..'; my $node_target = join_paths($target_subdir, $node); @@ -743,7 +743,7 @@ sub unstow_contents { closedir $DIR; NODE: - for my $node (@listing) { + for my $node (sort @listing) { next NODE if $node eq '.'; next NODE if $node eq '..'; my $node_target = join_paths($target_subdir, $node); @@ -1148,7 +1148,7 @@ sub cleanup_invalid_links { closedir $DIR; NODE: - for my $node (@listing) { + for my $node (sort @listing) { next NODE if $node eq '.'; next NODE if $node eq '..'; @@ -1247,7 +1247,7 @@ sub foldable { my $parent_in_pkg = ''; NODE: - for my $node (@listing) { + for my $node (sort @listing) { next NODE if $node eq '.'; next NODE if $node eq '..'; @@ -1331,7 +1331,7 @@ sub fold_tree { closedir $DIR; NODE: - for my $node (@listing) { + for my $node (sort @listing) { next NODE if $node eq '.'; next NODE if $node eq '..'; next NODE if not $self->is_a_node(join_paths($target_subdir, $node));