2008-12-13 5 views
5

He configurado un sistema de control de versiones usando TortoiseSVN en mi casa para administrar mis proyectos favoritos, proyectos escolares, etc ... y funciona localmente.¿Conectar remotamente mi repositorio de control de versiones de inicio?

Ahora necesito poder acceder a mi repositorio de código de forma remota, como desde la escuela, para poder actualizar la fuente en la escuela desde el repositorio, y volver a comprometerla una vez que haya terminado de trabajar en ella.

La pregunta es, ¿cómo puedo conectarme a mi repositorio remotamente? ¿Qué puertos necesito abrir en mi enrutador, por ejemplo?

Además, no puede instalar el cliente de la tortuga en la escuela, así que necesitaré alguna otra aplicación portátil que hace esta tarea, ya sea GUI o CLI.

Respuesta

8

Existen varios enfoques para ofrecer acceso remoto. En su caso, lo más simple podría ser configurar un svnserve server. Puede iniciarlo manualmente con --daemon o instalarlo como un servicio de Windows. En cualquier caso, el puerto 3690 debe estar abierto. Asegúrese de configurar una contraseña y restringir svnserve al directorio donde vive su repositorio.

Como aplicación portátil, recomiendo usar la línea de comando svn client. Varios command line clients exist para Windows. Debe instalar uno de ellos en su máquina, asegúrese de entender cómo usarlo y luego cópielo junto con todas las DLL que necesite en una memoria USB.

+0

También podría considerar un IDE con soporte de subversion. Eclipse + el plugin de Subclipse sería mi primera opción allí, ya que se puede usar para la mayoría de los idiomas y es bastante fácil de entender. Es un poco voluminoso, pero se ejecutará desde una memoria USB: instala y configura localmente, luego copia todo el directorio en un dispositivo. – Ian

1

Martin tiene razón: tiene que ejecutarse como un daemon o un servicio registrado. En mi máquina, uso el comando svnserve -d para iniciarlo.

Salida del libro oficial de SVN, se dispone de mucha información demasiado:

http://svnbook.red-bean.com/en/1.5/svn-book.html

1

te recomiendo ir con algún proveedor de alojamiento que ofrece acogió SVN, por ejemplo Dreamhost. Mucho más fácil que configurarlo y mantenerlo por su cuenta.

3

Recomendaría visual svn server para que se configure y funcione rápidamente.

+0

Este es un producto muy bueno. Yo también lo recomiendo –

1

Puede usar RapidSVN en una tarjeta de memoria como cliente gráfico SVN. La descarga es un instalador, pero después de que lo haya instalado, puede copiar el contenido de la carpeta de archivos de programa en un dispositivo de memoria y simplemente ejecutarlo desde allí.

2

Te advierto que revises las defensas de tu red doméstica si este es el primer "servicio externo" que ofreces. Abrir un agujero en el cortafuegos puede ser bastante fácil, si eres viejo, pero es algo que querrás abordar con precaución si no lo has hecho antes. Haz tu lectura :-)

Alternativamente, hay sitios gratuitos de administración de proyectos de código en línea (tanto SourceForge como que vienen a la mente) que ofrecen alojamiento de Subversion. Algunos servicios incluso le permiten proporcionar un svndump para preservar su repositorio existente (creo que Google Code, por lo menos, permitió esto por pedido especial en un punto, pero no sé si eso aún es posible).

Una posible desventaja de estos dos es que sus repositorios son públicamente visibles. Si desea restringir el acceso de lectura a su repositorio, existen otros servicios gratuitos que lo permiten, pero me temo que no puedo nombrar ninguno de los más importantes.

+0

Assembla.com ofrece alojamiento privado gratuito para estudiantes. – nickf

2

Dado que las personas tienen respuestas a su pregunta específicamente, una solución alternativa: un sistema de control de versiones distribuidas.

Git es probablemente el más popular, pero recomendaría probar darcs, ya que está compilado en un ~ archivo binario portátil único, a diferencia de git que es un desastre de shell-scripts, scripts y bibliotecas Perl y C (o C++ ?) Binarios.

El beneficio inherente de un "DVCS" es que puede comprometerse (y hacer casi todo lo demás) sin conectarse a un servidor central: cuando está en la escuela, puede comprometer, crear/fusionar sucursales, etc. Luego, cuando estás en casa, "presionas" hacia tu repositorio principal.

Esto significa que no hay necesidad de abrir puertos a través de su enrutador, y no tiene que depender de que la computadora de su hogar/conexión de internet siempre esté funcionando.

Otra solución alternativa sería utilizar un servidor SVN de terceros (por ejemplo, Google Code, o uno de los muchos cientos más, algunos permiten repositorios privados, otros cobran por estos), y de nuevo no tiene que preocuparse por el reenvío de puertos, etc.

La pregunta es, ¿cómo puedo conectarme a mi repositorio de forma remota? ¿Qué puertos necesito abrir en mi enrutador, por ejemplo?

Puede servir SVN a través de un servidor web como Apache (guide) - entonces sólo tendría que remitir el puerto 80, y se deja en general en todas las redes.

1

Tengo svn server en casa a través de línea ADSL con IP dinámica. Mi configuración que me permite el acceso remoto: servidor de la subversión

  • configuración como servicio de Windows
  • puerto abierto 3690 en el servidor de seguridad del servidor.
  • abra el puerto 3690 en el firewall del enrutador.
  • configurar el reenvío de puertos en el router ADSL
  • DNS configuración de servidor asignado al www.dyndns.og
  • configurar la seguridad SVN (autorización y autenticación)
Cuestiones relacionadas