¿Hay una buena manera de hacer un seguimiento de los files de código fuente duplicates en múltiples proyectos?

Idealmente, no me gustaría tener duplicates del mismo código o similar en varias ubicaciones, pero a veces tengo que hacerlo por razones de distribución, y algunos entornos como matlab no son compatibles con una buena organización de código. ¿Hay una buena manera de administrar versiones / actualizaciones de files de código fuente individuales? Puedo pensar en submodules y enlaces simbólicos, pero me preguntaba si alguien tiene una solución más portátil. Trabajo principalmente con c / c ++, matlab y python.

Utilicé subtreees que me funcionaron muy bien http://blogs.atlassian.com/2013/05/alternatives-to-git-submodule-git-subtree/

La syntax para los subtreees es algo larga, así que escribí un par de scripts bash para extraer / empujar los files de la biblioteca

En general, creo que no necesitan enlaces simbólicos también. Sin embargo, estaba desarrollando un código de biblioteca para Joomla que requería que el código de la biblioteca se ubicara en varias carpetas en todo el sitio. Para lograr esto, tuve que vincular simbólicamente cada carpeta en la biblioteca del subtree a su location correspondiente en la carpeta del sitio de Joomla, esto