control de versiones, administración de configuration y compilation combinadas

¿Podrían explicar por qué ese enfoque no existe y no se usa ampliamente?

O si tal set de herramientas existe, ¿puedes citarlo?


¿Por qué los sistemas de control de versiones (VCS) están trabajando en files ( clearcase, svn, git e tc )? y no en unidades / funciones?

Entonces, para rastrear los cambios en una funcionalidad, uno tiene que analizar las versiones del file (a veces varios files), por ejemplo: si quiero analizar "Cambiar funcionalidad" obtendría un historial de ese module / function y lo vería en un solo lugar .

Si tal herramienta existiría … entonces, una herramienta de configuration de software (SCM) pondría estas unidades y / o funciones juntas en una configuration de liberación. ¿Por qué es así, todavía usamos Makefile, build.xml, plugin.xml e tc?

Y sobre compilation: ¿es realmente necesario que un comstackdor tenga files ? si el SCM podría preparar una input para una herramienta de compilation y get binarys ?

C / C ++ por ejemplo: un SCM de este tipo podría preparar toda la fuente en un solo fragment y sacar el binary del comstackdor. En el caso de Java: SCM podría preparar classs .java y sacar .jar del comstackdor.

Gracias.


PD: No busco soluciones para ningún problema en particular, es más sobre el método. En cada proyecto, el mismo enfoque sobre source / config / build. Bueno, con diferentes herramientas, que están evolucionando … pero no hay un nuevo enfoque / método para abordar los sistemas complejos de una manera diferente.

si quiero analizar "Cambiar la funcionalidad" obtendría un historial de ese module / function y lo vería en un solo lugar.

Si tal herramienta existiría

De hecho, lo hace: ver " ¿Puede Git realmente rastrear el movimiento de una sola function de 1 file a otro? En caso afirmativo, ¿cómo? ", Y su command git blame -C .

¿Por qué es así, todavía usamos Makefile, build.xml, plugin.xml, etc.?

Si se trata de una statement : declaras lo que quieres build, pero lo más importante es en qué order y las dependencies necesitas.

si el SCM podría preparar una input para una herramienta de compilation y get binarys?

La input para la herramienta de compilation sigue siendo files , no "unidades / funciones": las herramientas de compilation están mucho más evolucionadas y equipadas para analizar / analizar y extraer esas unidades, creando el binary como resultado.
Poner demasiadas responsabilidades en la única herramienta de SCM parece tratar de hacerlo todo, lo que significa que hará "todo" demasiado bien, en lugar de hacer una cosa shinymente.