Cómo manejar archivos que no necesitan control de versiones en mercurial.


3

Soy nuevo en Mercurial, y en su mayor parte hago informes LaTeX y cálculos estadísticos en R usando archivos .csv y / o .sqlite. Re LaTeX, todo lo que realmente me importa es el archivo .tex. Re R, no necesito control de versión en los archivos .csv o .sqlite porque son estáticos.

Cuando hago 'hg add' para un repositorio con un archivo .csv y / o .sqlite, aparece una advertencia como:

rev2.sqlite: up to 3070 MB of RAM may be required to manage this file
(use 'hg revert rev2.sqlite' to cancel pending addition)

Así que vuelvo y posteriormente uso los agregados como hg add -X *.sqlite. Supongo que realmente tengo dos preguntas:

(1) ¿Debo ignorar estas advertencias? Debido a que estos archivos grandes son estáticos, ¿puedo agregar al repositorio sabiendo que los archivos diff siempre estarán vacíos y no me preocuparé por los recursos desperdiciados?

(2) Si debo seguir excluyendo estos archivos del repositorio, ¿puedo solucionar esta opción? I.E., agregar a mi archivo .hgrc algo que siempre agregue una opción como -I *.tex -I *.R a mis comandos 'hg add'?

¡Gracias!

Respuestas:


6

en ~ / .hgrc:

[ui]
ignore = ~/.hgignore

en ~ / .hgignore:

syntax: glob
*.tex
*.R

(También puede poner un archivo .hgignore en cada proyecto; lo anterior lo hará de manera global. Puede llamar al archivo .hgignore en el que se haga referencia .hgrc; dentro de un proyecto, siempre se debe llamar .hgignore)


¡Gracias! Esto hizo el truco. Aunque utilicé *.csv *sqlite porque quería ignorar esos, no los archivos tex y R.
— Richard Herron

3

Puede crear un archivo .hgignore para ignorar siempre algunos archivos, consulte esta pregunta tan . Puedes leer la documentación en el Mercurial wiki page para .hgignore o la página de manual para más información.

Es posible que desee un .hgignore como este para ignorar cualquier .sqlite o .csv expediente:

\.sqlite$
\.csv

¡Gracias! Estaba buscando una solución global, pero su respuesta me dio una idea general. Sabía que la respuesta estaba ahí fuera, simplemente no sabía la consulta de búsqueda correcta.
— Richard Herron

1

Si no quieres tener que copiar tus archivos grandes de sqlite a mano en todas las instancias de tu repositorio, puedes usar el Extensión de archivos grandes Hg .

Guardará el archivo de forma independiente y realizará un control de versión muy básico (pero con recursos eficientes), basado en comparaciones de suma de comprobación. Otras extensiones no compatibles con Hg BigFiles y Chasquido También están disponibles.

BigFiles requiere que especifique un repositorio alternativo para archivos grandes a mano, y Snap solo está disponible para algunas versiones de hg. Esto es cierto para los archivos grandes, que solo están disponibles en la versión 2.0 de hg y superior. Si está utilizando varias versiones diferentes, es posible que tenga que ir con el Bfiles extensión

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.