2010-05-02 9 views
5

Recientemente convertí un repositorio de CVS a Mercurial. Por lo que parece, todo fue perfecto. Excepto que cada personaje de final de línea está en estilo Unix y los quiero en estilo Windows.Conversión de CVS a Mercurial: problema de final de línea

Sé que el comando hg convert se puede usar para "convertir" un depósito de Mercurial en un depósito de Mercurial. ¿Puedo usarlo para no hacer nada en los repositorios pero arreglar los finales de línea?

Respuesta

3

Cómo se almacenan en el repositorio no es tan importante ya que haces tu trabajo real con el trabajo desprotegido directorio, cuyos finales de línea se puede controlar en tiempo de actualización a través de cualquiera de estas extensiones:

detalle más está disponible aquí: https://www.mercurial-scm.org/wiki/EOLTranslationPlan

+0

Desde el aspecto de la misma, la extensión hg-EOL parece la mejor solución disponible actualmente. ¿Me permitiría convertir, al clonar, cada eol a una especificada? ¿Se convierte nuevamente en compromiso? Sin embargo, estoy de acuerdo en que el carácter eol en el repositorio almacenado no debería importar. – Mizipzor

0

Una forma es usar cualquier herramienta que normalice los finales de línea y ejecutarla en cada archivo en una copia desprotegida y luego confirmar cada archivo. Pero eso debería considerarse una solución de último recurso, ya que "ensuciará" la historia (los archivos parecerán haber sido cambiados cuando prácticamente no lo han sido).

1

No creo que haya una manera fácil de hacer que hg convert haga lo que quiera (excepto escribir código que se conecta al código de conversión. Desafortunadamente, las conversiones de conversión de hg a hg tampoco están del todo limpias, debido a el modelo generalizado tiene conversión. Sin embargo, esto puede no ser un problema si vienes de CVS.

Cuestiones relacionadas