for control version-control mercurial clearcase dvcs

version-control - for - mercurial version control



preservando la historia al usar mercurial ontop de clearcase (3)

Trabajo en una tienda de ClearCase y CC hace un buen trabajo integrando el trabajo del equipo, aunque nuestro proceso de revisión de código me impide usarlo para rastrear mis cambios diarios. Crear un repositorio hg en la parte superior de mi vista CC funciona muy bien. Puedo rastrear mis cambios y realizar fácilmente copias de seguridad en el servidor de archivos, producir diferencias para las personas, etc.

Todo está bien hasta que me mueva a una nueva vista CC y tenga que dejar atrás mi historia. Me encantaría poder? Tirar? mi historial anterior y todo lo que es diferente en la nueva vista aparece como el último conjunto de cambios.


Nunca utilicé ClearCase, por lo que no estoy seguro de qué es una vista CC, pero hay una técnica general para los proveedores que podría ser adecuada aquí: compruebe la versión anterior (CC) como, por ejemplo, revisión 0, en hg branch vendor o lo que quieras. Cambie de nuevo a la rama predeterminada y corte. Luego, cuando desee pasar a la versión más reciente, revise de nuevo el vendor en su repositorio de hg, reemplace el directorio de trabajo con el nuevo en sentido ascendente, ejecute hg addremove (posiblemente con la opción --similarity para detectar el cambio de nombre), --similarity y fusione con su consejo actual, luego vuelva a la rama predeterminada.


Usamos Git dentro de una vista estática de ClearCase, por más o menos la misma razón que usted describió: un control más fino.

En CC, cuando comenzamos a trabajar en una versión más nueva (etiquetada) y la especificación de configuración cambia apropiadamente, Git la toma como un conjunto de cambios regular.

La magia funciona precisamente porque Git no sabe nada sobre las especificaciones de configuración, y CC no sabe nada sobre el directorio .git. Cuando la especificación de configuración cambia, vuelve a cargar cualquier archivo que haya cambiado pero no toca el directorio .git, por lo que Git aún ve el repositorio.

No tengo ninguna experiencia con Mercurial, pero acabo de encenderlo y agregué algunos directorios y archivos, y parece que funciona de la misma manera.


Para completar la respuesta de Brendan , dado que cada vista de ClearCase estará en su propia ruta (para vistas dinámicas) o directorios locales (para vistas de instantáneas), deberá:

  • mueve tu repositorio de hg
  • checkout una nueva rama en el repositorio de hg para aislar los cambios introducidos por la nueva espec de configuración de la nueva vista CC (si está utilizando UCM, puede duplicar el nombre de la secuencia CC en una rama hg, por ejemplo)
  • Sincronizando la vista CC con su Repositorio Mercurial