rendered paste body $ svn diff
Index: lib/MDV/Repsys.pm
===================================================================
--- lib/MDV/Repsys.pm (révision 93939)
+++ lib/MDV/Repsys.pm (copie de travail)
@@ -504,9 +504,8 @@
$error
}
-sub _commit_editor {
- my ($msg) = @_;
-
+sub commit_editor {
+
my $tmp = new File::Temp();
$tmp->unlink_on_destroy(1);
print $tmp <<EOF;
@@ -519,22 +518,18 @@
$editor ||= 'vi';
if (system($editor, $tmp->filename) == -1) {
warn "Cannot start $editor\n";
- $msg = undef;
return 0;
}
if (open(my $rh, "<", $tmp->filename)) {
- my $rmsg = '';
+ my $msg = '';
while (<$rh>) {
m/^SVN:/ and next;
- $rmsg .= $_;
+ $msg .= $_;
}
close ($rh);
- $msg = \$rmsg;
- } else {
- $msg = undef;
- return 0;
+ return $msg;
}
- 1;
+ return 0;
}
1;
Index: lib/MDV/Repsys/Remote.pm
===================================================================
--- lib/MDV/Repsys/Remote.pm (révision 93939)
+++ lib/MDV/Repsys/Remote.pm (copie de travail)
@@ -788,6 +788,8 @@
my ($self, $dir, %options) = @_;
my $pkgname = $options{pkgname} || $dir;
+ $options{message} = MDV::Repsys::commit_editor() unless $options{message};
+ $options{message} = undef if $options{message} =~ m/^\s*$/m;
my $message = $options{message} or do {
$self->{error} = "Can't commit w/o log message";
return;