use warnings;
use Carp (); # confess
-use Cwd (); # abs_path
+use Cwd (); # cwd
use File::Spec (); # canonpath, catfile, path
use App::Rgit::Repository;
-use App::Rgit::Utils qw/:levels/;
+use App::Rgit::Utils qw/:levels/; # :levels, abs_path
use constant IS_WIN32 => $^O eq 'MSWin32';
=head1 VERSION
-Version 0.06
+Version 0.08
=cut
-our $VERSION = '0.06';
+our $VERSION = '0.08';
=head1 DESCRIPTION
my %args = @_;
- my $root = $args{root};
- return unless defined $root and -d $root;
- $root = File::Spec->canonpath(Cwd::abs_path($root));
+ my $root = defined $args{root}
+ ? $args{root}
+ : defined $ENV{GIT_DIR}
+ ? $ENV{GIT_DIR}
+ : Cwd::cwd;
+ Carp::confess("Invalid root directory") unless -d $root;
+ $root = File::Spec->canonpath(App::Rgit::Utils::abs_path($root));
my $git;
my @candidates = (
}
}
Carp::confess("Couldn't find a proper git executable") unless defined $git;
- $git = File::Spec->canonpath(Cwd::abs_path($git));
+ $git = File::Spec->canonpath(App::Rgit::Utils::abs_path($git));
my $conf = 'App::Rgit::Config::Default';
eval "require $conf; 1" or Carp::confess("Couldn't load $conf: $@");