2009-12-16 7 views
7

Convencionalmente, svn se usa directamente desde la línea de comandos oa través de un cliente GUI como Tortoise.Uso de subversion como motor de control de versiones dentro de una aplicación

¿Hay algún ejemplo de aplicaciones completamente desarrolladas que usan svn debajo del capó para implementar el control de versiones?

En lugar de utilizar un DBMS relacional, puedo imaginar que hay podría haber ocasiones en un repositorio SVN podría ser utilizado como una capa de persistencia basada en archivos versionados. ¿Hay alguna razón fundamental por la cual esta sería una mala idea?

Respuesta

3

Google Code usa Subversion para administrar las versiones de las páginas wiki de un proyecto. Tu wiki aparece como una carpeta en el repositorio de Subversion. Hay un clon de código abierto de Google Code llamado Longhouse. Desde la descripción del proyecto:

Longhouse emplea un medio único para almacenar datos de proyectos y hacer accesibles los datos, almacenando información en formato XML en el repositorio de Subversion de su organización. Esto significa que puede editar cualquier artefacto de proyecto fuera de la interfaz de usuario web de Longhouse, comprometer los archivos XML modificados a su repositorio de Subversion y hacer que Longhouse tenga en cuenta automáticamente sus cambios.

Personalmente, sería cauteloso al tratar de versionar un archivo XML de gran tamaño. Lo intenté con los mapas mentales Freemind, y las dos veces que tuve que unirme fueron pesadillas. Mi corazonada es que YAML sería una mejor opción, aunque cambiar los niveles de sangría podría causar dolores de cabeza. Quizás solo evitar archivos grandes con muchos niveles es la mejor opción cuando necesitas poner archivos de datos bajo control de versiones.

Actualización: Como Josh Kelley comentó, hay varios otros motores de wiki que pueden usar un sistema de control de revisión (RCS) para el almacenamiento de datos. De acuerdo con WikiMatrix, Twiki, PhpWiki, JSPWiki, Foswiki, MoniWiki y MidgardWiki son los que se encuentran entre los primeros 25 que admiten esta característica.

+0

+1 por mencionar wikis. Del mismo modo, varios otros wikis usan el sistema de control de versiones RCS en lugar de una base de datos: http://www.wikimatrix.org/wiki/feature:rcs –

2

No conozco ningún ejemplo concreto (no lo he buscado todavía ...), pero hay un enlace .NET completamente funcional para la API de SVN, llamado SharpSvn, si eso ayuda. (AFAIK es utilizado internamente por tales GUI-Tools como AnkhSvn.)

Creo que también hay buenos cambios para encontrar algún código de muestra relacionado.

HTH.

Cuestiones relacionadas