svn commit: r235896 - user/des/fbce/lib/FBCE/Script

Dag-Erling Smorgrav des at FreeBSD.org
Thu May 24 11:03:03 UTC 2012


Author: des
Date: Thu May 24 11:03:03 2012
New Revision: 235896
URL: http://svn.freebsd.org/changeset/base/235896

Log:
  Implement --dryrun

Modified:
  user/des/fbce/lib/FBCE/Script/User.pm

Modified: user/des/fbce/lib/FBCE/Script/User.pm
==============================================================================
--- user/des/fbce/lib/FBCE/Script/User.pm	Thu May 24 10:59:48 2012	(r235895)
+++ user/des/fbce/lib/FBCE/Script/User.pm	Thu May 24 11:03:03 2012	(r235896)
@@ -20,6 +20,14 @@ has debug => (
     documentation => q{Debugging mode},
 );
 
+has dryrun => (
+    traits        => [qw(Getopt)],
+    cmd_aliases   => 'n',
+    isa           => Bool,
+    is            => 'ro',
+    documentation => q{Dry run},
+);
+
 # XXX should be traits
 our %lwp_options = (
     timeout => 10,
@@ -124,6 +132,8 @@ sub cmd_smash(@) {
 	while (my $person = $persons->next) {
 	    $person->update({ active => 0 });
 	}
+	$schema->txn_rollback()
+	    if $self->dryrun;
     });
 }
 
@@ -170,6 +180,8 @@ sub cmd_pull(@) {
 		$person->insert();
 	    }
 	}
+	$schema->txn_rollback()
+	    if $self->dryrun;
     });
 }
 
@@ -219,6 +231,8 @@ sub cmd_gecos(@) {
 	}
 	warn("$n record(s) updated\n")
 	    if $self->debug;
+	$schema->txn_rollback()
+	    if $self->dryrun;
     });
 }
 
@@ -313,6 +327,8 @@ sub cmd_pwgen(@) {
 	    if $self->debug;
 	$tar->write($pwtar, COMPRESS_GZIP)
 	    or die($tar->error());
+	$schema->txn_rollback()
+	    if $self->dryrun;
     });
 }
 


More information about the svn-src-user mailing list