Options for maintaining common resources across repositories

So far the repositories I've split from ARIA are using the common files 
by referencing rawgit versions. This is not a good strategy; it's not 
working in the github.io versions (presumably because of cross-domain 
security restrictions), won't work in w3.org either without manual 
editing, and is kinda clunky. I've brainstormed a few ways to address 
this, each with pros and cons:

 1. Split the common files into a standalone repository and make it a
    submodule of the other repositories
      * Pro - this is probably the "official" way to deal with
        dependencies of this sort, and allows them to managed independently
      * Con - we'd probably have to create a separate repository just
        for the common files; I'm not sure if Github can update
        dependencies from submodules without some extra kind of manual kick
 2. Add some script to change the URIs of common resources, to
    appropriate to the particular publication location
      * Pro - minimal change to our current setup
      * Con - have to write the script and have a copy in each repo
 3. Add the main repository as a secondary "remote"
      * Pro - easier to keep the common files up to date
      * Con - not sure this works cleanly unless we still separate the
        common files into a separate repo, any editor could make changes
        that impact all the editors
 4. Fork the common files into versions for each repository
      * Pro - easiest path, and can evolve to suit each repo
      * Con - they're forked and may diverge, so we lose benefit of
        shared effort

Received on Wednesday, 19 October 2016 16:04:08 UTC