From 7c6d991939009024e233d345d3e165017ff17e41 Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Sat, 1 Feb 2020 12:07:44 -0700 Subject: add .git dir utils Signed-off-by: Sean Whitton --- lib/Git/Annex.pm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'lib') diff --git a/lib/Git/Annex.pm b/lib/Git/Annex.pm index 1cd26f4..7d923f9 100644 --- a/lib/Git/Annex.pm +++ b/lib/Git/Annex.pm @@ -66,6 +66,7 @@ use Cwd; use File::chdir; use Git::Wrapper; use Git::Repository; +use File::Spec::Functions qw(catfile rel2abs); use Moo; use namespace::clean; @@ -103,6 +104,22 @@ has repo => ( # Git::Repository::new, so we chdir and let call without arguments default => sub { local $CWD = shift->toplevel; Git::Repository->new }); +has _unused_cache => ( + is => "lazy", + default => sub { shift->_git_path(catfile(qw(annex unused_info))) }); + +sub _clear_unused_cache { + my $self = shift; + delete $self->{_unused}; + unlink $self->_unused_cache; +} + +sub _git_path { + my ($self, $input) = @_; + my ($path) = $self->git->rev_parse({ git_path => 1 }, $input); + rel2abs($path, $self->toplevel); +} + around BUILDARGS => sub { my (undef, undef, @args) = @_; { toplevel => $args[0] // getcwd }; -- cgit v1.2.3