use warnings;
use Carp qw/croak/;
+use Cwd qw/abs_path/;
+use File::Spec::Functions qw/file_name_is_absolute/;
-use Object::Tiny qw/root git/;
+use Object::Tiny qw/root git cwd_repo/;
+use App::Rgit::Repository;
use App::Rgit::Utils qw/validate/;
=head1 NAME
=head1 VERSION
-Version 0.01
+Version 0.03
+
+=cut
+
+our $VERSION = '0.03';
=head1 DESCRIPTION
sub new {
my ($class, %args) = &validate;
+ my $root = $args{root};
+ return unless defined $root and -d $root;
+ $root = abs_path $root unless file_name_is_absolute $root;
+ return unless defined $args{git} and -x $args{git};
my $conf = 'App::Rgit::Config::Default';
eval "require $conf; 1" or croak "Couldn't load $conf: $@";
+ my $r = App::Rgit::Repository->new(fake => 1);
+ return unless defined $r;
$conf->SUPER::new(
- root => $args{root},
- git => $args{git},
+ root => $root,
+ git => $args{git},
+ cwd_repo => $r,
);
}
=head2 C<repos>
+=head2 C<cwd_repo>
+
Accessors.
=head1 SEE ALSO