From a76a1f00738de022d4c73b8b29f3bb9396bdbdb2 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 12 Feb 2025 12:01:25 +0100 Subject: [PATCH] Bug 38664: The auto-rebase script - Create parent directory if missing Signed-off-by: Katrin Fischer --- misc/devel/auto_rebase.pl | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/misc/devel/auto_rebase.pl b/misc/devel/auto_rebase.pl index ede46b931d..3dd01c4d25 100755 --- a/misc/devel/auto_rebase.pl +++ b/misc/devel/auto_rebase.pl @@ -2,9 +2,11 @@ use Modern::Perl; use Term::ANSIColor qw(:constants); use Git::Wrapper; -use File::Slurp qw( write_file ); -use File::Temp qw( tempfile ); -use List::Util qw( first ); +use File::Slurp qw( write_file ); +use File::Temp qw( tempfile ); +use File::Basename qw(dirname); +use File::Path qw(make_path); +use List::Util qw( first ); use Getopt::Long; use Pod::Usage; use Try::Tiny; @@ -164,6 +166,10 @@ FILE: while ( my ( $ii, $file ) = each @modified_files ) { next unless @content; # We removed the file + my $parent_directory = dirname($file); + unless ( -f $parent_directory ) { + make_path($parent_directory); + } write_file( $file, join "\n", @content ); # Tidy the file