From hadley at rice.edu  Thu Oct 20 16:56:27 2011
From: hadley at rice.edu (Hadley Wickham)
Date: Thu, 20 Oct 2011 09:56:27 -0500
Subject: [Rd] RFC: 'igraph' package update and backward compatibility
In-Reply-To: <CABtg=KkMw9Yxk+pQWYkw9A1LLuCYqztAw027XSiteZmTCfpHJw@mail.gmail.com>
References: <CABtg=KkMw9Yxk+pQWYkw9A1LLuCYqztAw027XSiteZmTCfpHJw@mail.gmail.com>
Message-ID: <CABdHhvEUeXmsQRQx4fax6WaVu31r4=-AkVmrzkqTKgOnFk+HoQ@mail.gmail.com>

> My package will have an update soon, that is not backward compatible
> with the current version. It will likely break much of the existing
> code. Many (~50) packages depend on 'igraph' and they, too, ?will most
> probably break with the new version.
>
> My intended solution is, that I create a snapshot of the current
> package, under another name (igraph0), and ask package maintainers to
> depend on that version. Then, after a short time, I'll update the
> current igraph version.

The optimal solution would be if R packages could depend on a specific
version of a package, and a user could have multiple packages
installed, and different versions loaded simultaneously so that
different packages could depend on different versions.  This is what
(e.g.) ruby gems do. Unfortunately this is a hard problem to solve -
namespaces go some way to help, but I think there are still
outstanding S3 and S4 issues.

My work around of renaming packages after API breaking changes is
definitely a sub-optimal fix.

Hadley

-- 
Assistant Professor / Dobelman Family Junior Chair
Department of Statistics / Rice University
http://had.co.nz/



[Rd] RFC: 'igraph' package update and backward compatibility
Hadley Wickham