This is an automated email from the git hooks/post-receive script. kanashiro-guest pushed a commit to branch master in repository carton.
commit b0ef548e70348e5dc6ddeef22d16b47df18635f4 Author: Tatsuhiko Miyagawa <[email protected]> Date: Sun Jun 26 00:36:19 2011 -0700 Properly display errors --- Makefile.PL | 1 + lib/Carton/CLI.pm | 18 +++++++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Makefile.PL b/Makefile.PL index 85833e5..98dce8a 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -10,6 +10,7 @@ requires 'JSON'; requires 'App::cpanminus', 1.5000; requires 'Term::ANSIColor'; requires 'Module::Metadata', 1.000003; +requires 'Try::Tiny'; install_script 'bin/carton'; diff --git a/lib/Carton/CLI.pm b/lib/Carton/CLI.pm index 4a77bc4..1fb2ed6 100644 --- a/lib/Carton/CLI.pm +++ b/lib/Carton/CLI.pm @@ -11,6 +11,7 @@ use Getopt::Long; use Term::ANSIColor qw(colored); use Carton::Tree; +use Try::Tiny; our $Colors = { SUCCESS => 'green', @@ -179,7 +180,6 @@ sub cmd_show { my $lock = $self->lock_data or $self->error("Can't find carton.lock: Run `carton install` to rebuild the spec file.\n"); - if ($tree_mode) { $self->carton->walk_down_tree($lock, sub { my($module, $depth) = @_; @@ -221,9 +221,21 @@ sub cmd_exec { sub lock_data { my $self = shift; - $self->{lock} || do { - Carton::Util::parse_json($self->lock_file); + + return $self->{lock} if $self->{lock}; + + try { + my $lock = Carton::Util::parse_json($self->lock_file); + $self->{lock} = $lock; + } catch { + if (/No such file/) { + $self->error("Can't locate carton.lock\n"); + } else { + $self->error("Can't parse carton.lock: $_\n"); + } }; + + return $self->{lock}; } sub lock_file { -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/carton.git _______________________________________________ Pkg-perl-cvs-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits
