2010-07-17 13 views

Respuesta

2

El contenido que incluya en un VCS puede importar para:

  • de almacenamiento: la forma del delta se almacena puede ser diferente para textos sencillos, documentos de Microsoft Word, modelos UML (racionales .rose archivos), páginas html , ...
    Véase por ejemplo ClearCase type manager como un ejemplo de VCS que gestiona el almacenamiento según el contenido del elemento.

  • fusión: fusión se puede hacer de manera diferente en función del contenido de los archivos versionados a través de:

    • algoritmo interno (si el VCS tiene gestor de tipo)
    • tercero externo se fusionan herramientas que pueden inferir algunas tácticas de fusión "inteligentes" basadas en la extensión y el contenido del archivo.

cuanto a su pregunta, el lenguaje de programación dentro de los archivos versionados es que yo sepa, nunca es un criterio para el almacenamiento o la fusión: ellos (los archivos) son sólo texto.
Si se tratan de manera diferente, sería solo durante el proceso de fusión, y solo si una herramienta de fusión externa es lo suficientemente inteligente como para realizar una fusión "inteligente" de algún tipo en función del contenido del archivo.
Pero el propio VCS generalmente no está involucrado en esa fusión especial (para los archivos fuente considerados como texto).

3

Todos los VCS 'Sé que son independientes del contenido, puede almacenar archivos binarios o de texto (ASCII/UTF-8). Un posible factor para elegir un VCS es la compatibilidad con el sistema operativo de desarrollo (por ejemplo: git tiene soporte para Windows) y la integración IDE, que puede ser específica del idioma.

En cuanto a si un VCS no debería verse afectado por tales preocupaciones, realmente lo creo. Al mismo tiempo, debe ser lo suficientemente flexible como para permitir que otras herramientas hagan lenguaje y proyecten cosas específicas (la mayoría de los VCS hacen esto a través de los ganchos).

0

Lo que tiende a hacer diferencias en el tamaño promedio del archivo fuente. Algunos lenguajes y estilos de codificación tienden a generar más de 10000 códigos de línea. En ese caso, absolutamente necesita una herramienta de bifurcación basada en fusión. Con archivos de código más pequeños, hay muchas menos posibilidades de que alguien más realice un cambio no relacionado en el mismo archivo, por lo que una herramienta/política que funcione principalmente mediante el bloqueo, con solo fusiones ocasionales, funciona bien.

1

No le importa al VCS lo que pone en él, (es posible que ni siquiera tenga código) pero la forma en que lo usa. La mayoría de los IDE se pueden integrar con algunos, pero no con todos los sistemas de control de versiones. Escoger un VCS que su IDE pueda integrar (ya sea nativamente o con complementos) proporcionará un beneficio significativo.

Dicho esto, si la elección es entre un VCS sin compatibilidad con IDE o sin VCS en absoluto, SIEMPRE utilice VCS.

Cuestiones relacionadas