On Thu, Apr 01, 2010 at 12:39:27AM -0400, David Nicol wrote:
> On Wed, Mar 31, 2010 at 7:43 AM, Ask Bjørn Hansen <a...@perl.org> wrote:
> > The main point here is that we can't use 20 inodes per distribution.
> 
> so don't. How much reengineering would be needed to keep CPAN in a
> database instead of a file system?

Random thoughts...

* If you squint a little you can view git as a database with excellent
replication support.

* cpanminus already supports installing from a git repo.

* For backwards compatibility a simple perl web server could provide a
classic CPAN http mirror 'view' over a git repo like gitpan.
This cpan-git-server would create and serve up cached distro tarballs on demand.
Someone could whip up one to work over gitpan as a proof of concept.

* The need for widespread mirroring is less significant than it was in
years past. (Also using git as the inter-mirror transport of source files
means there'll be much less traffic between mirrors. Effectively only
the diffs between releases.)

* New approaches to replication, such as git, don't have to be supported
by existing mirror providers. A new set of cpan-git-mirror providers could
emerge.

* Any cpan-git-mirror provider running a cpan-git-server could be
included in the list of mirrors used by existing installers.

* Over time the number of cpan-git-mirror's and cpan-git-server's could
grow and the number of traditional CPAN ftp/rsync mirrors could fall.

Tim.

Reply via email to