[vtk-developers] VTK ExternalData default object store

Brad King brad.king at kitware.com
Tue May 21 11:24:38 EDT 2013


On 05/21/2013 10:59 AM, David Cole wrote:
> But with your solution, *everybody* has to do work to achieve 
> non-duplication of very large data files when they do multiple builds 
> of VTK. *Everybody*.

Previously, everybody had to checkout VTKData and perhaps VTKLargeData.
Actually that is still true because we haven't converted test inputs yet.

ITK has been getting along for over 2 years without an external default.

> I thought the whole main point of ExternalData was to download each 
> item needed *exactly* *once* and to enable non-duplication of each item.

No, the main point of ExternalData is to version the data with the
source without keeping the large files in the repository.  A shared
persistent data store is an *optimization*.

Not everybody needs to enable such an optimization:

* Only developers typically have many build trees.  They will learn
  to use the optimization if they are bothered by lots of copies.

* Users will typically have only one build tree.  Power users may have
  more but then they are more like developers.

* Packagers (e.g. for distros) will have only one build tree.  They
  will expect that the build doesn't touch anything outside.

ITK generates release tarballs using a script that puts all the data
objects needed by that version in .ExternalData/ in the tarball.  We
can do the same.  This way no network access is needed to build from
a release tarball, and no external store is needed.

-Brad



More information about the vtk-developers mailing list