2011-09-22 21 views
21

¿Qué archivos debo decirle a Tortoise SVN que ignore cuando se compromete con un repositorio?¿Qué debo configurar para que SVN ignore en mis proyectos Delphi?

En particular, estoy interesado en información práctica como si incluir archivos como *.dproj.2007 etc. que parecen aparecer pero que pueden no ser necesarios.

+0

Lo sentimos, pero se pretendía que obtuviera información práctica, como incluir archivos como * .dproj.2007 etc. que parecen aparecer pero puede no ser necesario. –

+0

Cuando hablas de XE y XE2 ... estoy usando el cliente SVN integrado ... desde el Administrador de proyectos, haz clic con el botón secundario, submenú SVN ...De lo contrario, comenzaré a agregar todos los archivos con una extensión que contiene ** ~ ** – Whiler

+0

. Sugiero que pregunte acerca de archivos y extensiones específicos. –

Respuesta

15

Puedo utilizar estas en D2007, que parecen aún funcionaría mejor en XE y XE2:

*.dcu *.~* *.ddp *.exe *.map *.bak *.obj *.dsk 
*.err *.log *.tmp *.identcache *.tvsconfig __history *.todo 
ModelSupport* *.local 

no incluyo ModelSupport porque no utilizo material de modelado del IDE, por lo que no tiene sentido en versionándolo si fue creado por error. Tampoco versiono nada en la carpeta __history, ya que eso es solo un control de versiones temporal entre checkins; una vez que se realiza el checkin a SVN, ya no es necesario.

(No estoy de acuerdo con Chris acerca de *.res, BTW, especialmente cuando se trata de XE2. Los archivos de recursos se pueden crear ahora usando Project|Resources and Images, y esos van directamente a un archivo de recursos, ya que la imagen de recurso puede provenir de algún lugar De lo contrario, no en la carpeta actual, y el archivo de imagen podría no estar registrado, guardo el archivo .res ahora. También guardo el archivo del proyecto, tiene todas las rutas de acceso y las opciones del compilador. Si algo sucede donde eso debe cambiar , es fácil eliminar el archivo del proyecto y dejar que el IDE lo vuelva a crear según sea necesario.)

+0

Para aclarar: comprobamos los archivos .res, pero solo cuando hemos realizado un cambio significativo. Específicamente, nuestro sistema de compilación automatizado incrementa los números de versión en .res y no queremos que sean destruidos por registros innecesarios. Entonces esto es probablemente específico de nuestro entorno. –

+0

Tiene sentido. Hacemos cambios de versión solo manualmente, y etiquetas de versiones en el momento en que el número cambia, por lo que los incrementos automáticos no nos afectan. :) –

7

Usando Delphi2005, nuestro equipo ha adoptado esta hace mucho tiempo:.

* * .bdsproj .scc * * .suo .user ~ * .local * * .identcache .dsk obj bin prueba __history *. o * .lo * .la * .al .libs * .so .so. [0-9] * .a * .pyc * .pyo * .rej ~ # #. # *. *. swp. DS_Store

No estoy seguro si se necesitan o no, o cuáles son algunos de ellos. No se me ocurrió, simplemente siguiendo nuestra wiki interna ...

En esa línea, debería mirar los ganchos de precompilación del lado del servidor. Tenemos un desencadenante precompromiso que deshabilita la comprobación de los archivos .bdsproj, .dpr y .res a menos que se incluya una etiqueta específica en el comentario: [Agregar archivo de proyecto] [Agregar archivo de Res]. Si intentas asignar un .bdsproj, .res o .dpr sin esas etiquetas, la confirmación fallará en la auditoría y será rechazada, y se enviará un embarazoso correo electrónico a todo el equipo de desarrollo. Esto se debe a que estos archivos raramente tienen cambios legítimos. Si necesita agregar una unidad a un proyecto, bien, hágalo e incluya la etiqueta con el registro, y todo estará bien. La etiqueta dice "Sé lo que estoy haciendo, y tengo una buena razón para cambiar este archivo". De lo contrario, tienes toda clase de basura revisada - números rev, cambios de ruta, paquetes entrando y saliendo, etc.

También tenemos algunos filtros grep en la precompilación, buscando ciertas cosas siendo agregado. Como unidades de "máscaras" no deseadas de DevExpress, porque algunos desarrolladores tienen todas las máscaras instaladas y el IDE decidió agregarlas. O MadExcept, porque alguien lo dejó encendido después de depurar algo (no permitimos que MadExcept esté en producción en este proyecto en particular, por una variedad de razones). Cosas como esas.

Actualización: debido a que nuestro entorno no es típico, eliminé * .res de la lista anterior.

+1

En Delphi XE2, finalmente puede eliminar los archivos .RES del repositorio sin efectos secundarios extraños. Si has decidido enviar solo archivos .rc en versiones de Delphi anteriores a eso, obtienes algunos comportamientos IDE raros, ¡apostaré! –

Cuestiones relacionadas