versiones utilizar tutorial trabajando subversion fuente control con como codigo svn version-control cvs

utilizar - svn tutorial



¿Utiliza el control de versión que no sea para el código fuente? (14)

He encontrado que SVN es extremadamente útil para documentación, archivos personales, entre otros usos de código no fuente. ¿Qué otros usos prácticos ha encontrado para los sistemas de control de versiones en general?


Uso SVN para verificar los cambios en los archivos de configuración del servidor Asterisk VOIP. Tengo un repositorio con una carpeta que corresponde a cada uno de varios servidores. Esa carpeta contiene todo el contenido de / etc / asterisk.


Utilicé Subversion para todo, desde control de fuente, entornos de compilación, scripts de instalador y toda esa bondad de desarrollo. También he configurado un repositorio para usuarios no técnicos de archivos binarios, en este caso documentos antiguos de Excel y Word. Funcionó bien teniendo en cuenta que perdimos cualquier funcionalidad de fusión. Pero permitió a todos nuestros usuarios obtener una tonelada de información que fue editada principalmente por dos o tres personas con bastante facilidad. Y con instrucciones sencillas sobre cómo actualizar antes de realizar cualquier edición (bloqueo si es necesario) y luego lidiar con conflictos (verificar qué se actualizó y luego eliminar su copia y realizar una actualización), pudieron manejar bastante bien el repositorio, aunque no estoy seguro de que alguna vez les haya gustado. :)


Durante mi último semestre en la escuela, tomé dos clases, cada una de las cuales tenía un proyecto grande y lento debido al final del semestre. Ambos también requirieron varios papeles largos durante el semestre. Hice un uso intensivo de SVN para ambas clases para rastrear cada cambio que hice en cada papel y proyecto.

Soy más un tipo de persona que escribe "todo a la vez" cuando se trata de escribir, y tiendo a perder mi hilo de pensamiento si trato de extender el proceso en varias sesiones. Ser capaz de diferir las últimas revisiones de mis documentos me facilitó volver a encarrilarme.


Edito una gran cantidad de documentos en LaTeX, así que uso SVN para almacenar los archivos e imágenes de tex, etc. Es útil para hacer Difuntos, y con suerte me salvará si tengo un desastre.


En general, todo lo que el proceso de construcción necesita lo pongo en el control de la fuente. El único problema que surge es si tiene resoruces preparados por otros departamentos, por ejemplo, Marketing, que van en su instalación, por ejemplo.


En uno de mis primeros trabajos, usamos CVS para el control de revisiones de DNS. Era principalmente una forma barata y sucia de hacer una copia de seguridad de los archivos de zona.

También he oído hablar de personas que usan un sistema de control de versiones para sus directorios personales.


He visto que el control de versiones se usa para otros fines que no son del código fuente, como

  1. Archivos de esquema: un conjunto de archivos de esquema XML que representan un esquema de mundo real
  2. Archivos de contenido: contenido representado en un formato específico, esto está vinculado a un diseñador en VStudio, utilizando el control de origen, permite el historial, revierte todo, sin interacción con la base de datos

En ambos casos notamos que básicamente se trata de archivos detallados, las razones principales para tener estos archivos en control de fuente en lugar de "registros de texto en la base de datos", es que

  1. archivos que pueden necesitar capacidad para comparar versiones
  2. historial (porque varios usuarios trabajan en ellos)
  3. capacidad de retrotraer a una versión anterior
  4. etiquetado y lanzamientos obteniendo una etiqueta específica
  5. si usa Team Foundation (TFS), las plantillas de scrum completas con elementos de trabajo, etc.
  6. sin base de datos involucrada, sin desarrollo adicional para todo lo anterior

La mayoría de la documentación que será vista por más de un par de ojos humanos. Es increíblemente útil, por ejemplo, durante las fases de planificación del proyecto cuando el analista actualiza el documento de requisitos y le gustaría ver qué cambió desde la última vez que lo vio. Los wikis también tienen esta funcionalidad, natch. Utilizamos SharePoint para estos fines, pero elija su proveedor.


Nunca pensé en usarlo para cosas personales, pero en proyectos de software, verifico prácticamente todo lo que no se puede regenerar en una fecha posterior (ejemplos de esto incluyen ejecutables y documentos generados por código). La documentación siempre se registra. Las presentaciones a los clientes se registran y etiquetan junto con la base de código utilizada para la demostración, si hubo una demostración.

Creo que SVN y CVS no son lo suficientemente "amigables" para los usuarios no técnicos, pero ahora tengo curiosidad sobre los posibles usos para el control de versiones para proyectos que no sean de ingeniería ...


Tengo una carpeta en la ruta llamada bin con herramientas útiles como las de sysinternals y otras. Yo uso svn para mantenerlos actualizados en diferentes máquinas. Además, cosas como los scripts de PowerShell, los archivos vimrc, etc. son geniales para mantener centralizados.


Uso el control de revisión para casi todos mis documentos para cualquier propósito.

Estoy usando Mercurial, por lo que la creación de un nuevo repositorio en un directorio determinado es una cuestión de un simple "hg init", que encontré mucho menos complicado que configurar un nuevo repositorio de Subversion.

También descubrí que RCS es excelente en cualquier situación en la que necesites sincronizar archivos: ahora estoy usando eso en lugar de rsync para todas mis necesidades de sincronización. También es más fácil hacer copias de seguridad: clonar un repositorio en otra ubicación / máquina / disco significa que puedo simplemente enviar los cambios a esa ubicación, lo que es aún más fácil con un repositorio de inserción predeterminado. Si no modifica en el repositorio remoto, entonces ni siquiera tiene que preocuparse demasiado por configurarlo de manera diferente a la predeterminada.

Una de las mejores cosas para mí es que puedo tener sincronización, copias de seguridad o lo que sea en cualquier sistema al que tenga acceso SSH. (Bueno, si me instalaran mercurial en Uni, ¡entonces podría!)


Utilizo mucho el control de versiones para archivos comunes, porque tengo una computadora portátil, una máquina de escritorio en funcionamiento y un escritorio doméstico en el que también trabajo mucho (trabajo desde casa dos días a la semana).

Una nueva sesión en cualquiera de ellos comienza con una secuencia de comandos llamada ''inicio'' que actualiza un montón de cajas, y termina con una secuencia de comandos llamada ''detener'' que compromete algunas cosas a VCS, o me muestra al menos las modificaciones.

Lo uso para:

  • mi lista de tareas de un solo archivo Getting Things Done (ver yagtd , la herramienta que uso)
  • mi base de datos de contraseñas (debería haber enviado esa sugerencia al podcast de en respuesta a la pregunta de Joel)
  • todas mis notas aleatorias y archivos en proyectos
  • un montón de hojas de cálculo (incluida una que rastrea algunas cosas personales día a día)
  • algunas imágenes (como los avatares web que uso)

Además, escribí algo sobre Subversion para administrar los archivos de configuración para ambos sistemas y mis cuentas de usuario. Tengo tantas cuentas en tantas máquinas, y estaba cansado de volver a aprender cómo configurar mi shell / vim / ... así que ahora también guardo la mayoría de esas cosas en control de versiones. Eso incluye archivos de firma de correo electrónico, un conjunto de scripts de shell en $ HOME / bin, ...


Sí, tengo un directorio doc en git. Contiene una lista de tareas pendientes, un calendario y algunos otros documentos.


En mi compañía, el grupo de desarrollo pretende usar Subversion para casi todos los documentos electrónicos. Esto depende de poder "bloquear" los archivos que no se pueden fusionar, como los documentos de Excel. SVN proporciona la función "requiere bloqueo" y el flujo de trabajo de compilación, modificación y compromiso es razonablemente directo.

Los ingenieros de software están a bordo, pero hay cierta resistencia por parte de los ingenieros mecánicos. Quieren utilizar las funciones simultáneas de edición colaborativa de Excel, por ejemplo. No se han adaptado al bloqueo, a la modificación ni al compromiso del flujo de trabajo.

TortoiseSVN te permite diferenciar los documentos de Word, que considero extremadamente útiles. También es compatible con la fusión aparentemente, aunque he sido demasiado gallina para probar esa función ...

Me gustaría considerar seriamente un DVCS como git o Mercurial. Pero a menos que pueda bloquear archivos de formato binario (es decir, no fusionables) (convirtiéndose así más bien en un modelo centralizado para dichos archivos), y / o fusionar los formatos de archivo binarios que usamos, no encajarán en el uso de mi compañía.

Solo deseo que todas las compañías de software proporcionen buenas herramientas de diferenciación y fusión para sus formatos de documentos patentados. Eso aumentaría el valor de los sistemas de control de versiones para formatos de documentos patentados.