commit - 84eda8d652f10bd982e914388554b853a7ac299b
commit + 6fd928d3ad33d035b79e6b65bf4f9f97accde929
blob - b9232a74e7c509dad50182874652b5c712b54c87
blob + 3307f86adfd9bd1309ae725d7a463439d4d802e2
--- plass
+++ plass
use Getopt::Long qw(:config bundling require_order);
use File::Basename;
use File::Find;
+use File::Path qw(make_path);
use File::Temp qw(tempfile);
my $store = $ENV{'PLASS_STORE'} // $ENV{'HOME'}.'/.password-store';
return $f;
}
-sub mkdirs {
- my $dir = shift;
- my $parent = dirname $dir;
- mkdirs($parent) unless -d $parent || $parent eq '/';
- mkdir $dir or die "mkdir $dir: $!"
- unless -d $dir;
-}
-
sub edit {
my ($editor, $fh, $tempfile, $epath) = @_;
die "source password doesn't exist" unless -f $pa;
die "target password exists" if -f $pb;
- mkdirs(dirname $pb);
+ make_path(dirname $pb);
rename $pa, $pb or die "can't rename $a to $b: $!";
got_rm $pa;
my $file = name2file $name;
my $msg = -f $file ? "update $name" : "+$name";
- mkdirs(dirname $file);
+ make_path(dirname $file);
my @args = ($gpg, @gpg_flags, '-e', '-r', recipient(),
'--batch', '--yes', '-o', $file);