This should hopefully allow us to organize our code better
lib/PublicInbox/ParentPipe.pm
lib/PublicInbox/ProcessPipe.pm
lib/PublicInbox/Qspawn.pm
+lib/PublicInbox/Repo.pm
lib/PublicInbox/RepoBase.pm
lib/PublicInbox/RepoConfig.pm
lib/PublicInbox/RepoGit.pm
--- /dev/null
+# Copyright (C) 2017 all contributors <meta@public-inbox.org>
+# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
+#
+# Represents a code repository, analoguos to the PublicInbox::Inbox
+# class for represpenting an inbox git repository.
+package PublicInbox::Repo;
+use strict;
+use warnings;
+
+sub new {
+ my ($class, $opts) = @_;
+ bless $opts, $class;
+}
+
+1;
use warnings;
use PublicInbox::Inbox;
use PublicInbox::Config;
+use PublicInbox::Repo;
require PublicInbox::Hval;
sub new {
# of course git is the default VCS
$rv->{vcs} ||= 'git';
- $self->{-cache}->{$repo_path} = $rv;
+ $self->{-cache}->{$repo_path} = PublicInbox::Repo->new($rv);
}
1;