From owner-svn-src-user@FreeBSD.ORG Thu May 24 11:03:03 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A65EC1065680; Thu, 24 May 2012 11:03:03 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 91AC08FC08; Thu, 24 May 2012 11:03:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q4OB33lX034057; Thu, 24 May 2012 11:03:03 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q4OB33D7034055; Thu, 24 May 2012 11:03:03 GMT (envelope-from des@svn.freebsd.org) Message-Id: <201205241103.q4OB33D7034055@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Thu, 24 May 2012 11:03:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r235896 - user/des/fbce/lib/FBCE/Script X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 May 2012 11:03:03 -0000 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; }); }