2012-07-26 13 views
5

Tengo un proyecto con la versión.2 y tengo que empezar a trabajar en él para desarrollar una nueva versión.3. Quiero crear un repositorio nuevo en un servidor remoto (es decir, un servidor mercurial) para que mi miembro del equipo pueda acceder a ese repositorio. Tengo mi archivo de proyecto en mi máquina local.creando un nuevo repositorio remoto para un proyecto existente con Mercurial

Tengo dos preguntas en cuestión:

  1. ¿Cómo puedo crear en /home/hg/repositories/private/project3 (Digamos nuevo nombre de recompra sería proyecto3) de distancia mercurial-servidor con mis archivos de proyecto. ¿Qué pasos debo seguir para hacer esto?

  2. ¿Cómo puedo crear un permiso de acceso (usrname/pword) para que mi equipo acceda a este repositorio en http://dev.myproject.com/private/project3.

Nota:/home/hg/repositories/ es por defecto para http://dev.myproject.com/ y no tengo ninguna cesión temporal de la versión 2 (clon no es posible, supongo!)

+0

mercurial-server no es el servidor Mercurial. Realmente no es ni siquiera un servidor Mercurial. Es una aplicación de terceros que agrega algunos elementos de administración de usuarios a la capa ssh, que es uno de los mecanismos de transporte que Mercurial admite de forma nativa. Casi siempre causa más confusión que asistencia. –

+0

Quité su etiqueta apache porque estamos hablando solo de ssh, no de apache. Eso (y hgweb.cgi) son otra cosa. –

Respuesta

7

Sin necesidad de instalar el software de servidor adicional que su equipo necesitará cuentas SSH en esa caja. Supongo que tienes uno y que puedes crearlo para tus amigos. Si no tienes esa configuración, es mejor que simplemente uses bitbucket, que es gratis y proporciona tanto acceso ssh como ftp.

Además, no dice si project2 ya está bajo el control de Mercurial, así que supongo que no.

Para crear el repositorio remoto que haría algo como esto en su máquina local:

hg init project3 # <-- creates a new empty respository 
cp ALL_THE_PROJECT3_FILES_YOU_WANT project3 # <--- put the files you want into project3 
cd project3 # <-- go into your local project3 repository 
hg addremove # <-- LOCALLY add the files you copied in 
hg commit -m "initial commit copied in project2" # <-- LOCALLY commit the files 
cd .. # <---- go up a directory 
hg clone project3 ssh://[email protected]//home/hg/repos/project3 # clone the repo over to the server 

Sus compañeros de equipo se puede clonar a continuación hacia abajo usando:

hg clone ssh://[email protected]//home/hg/repos/project3 

Aquí hay algunas cosas que podría estropear accidentalmente el camino para que esto funcione:

  • Sus amigos necesitan ssh cuentas
  • tus amigos cuentas necesitan tener acceso de lectura/escritura a /home/hg/repos

en cuenta que toda clonación está pasando a través de ssh. Configurar HTTP es más difícil y probablemente no sea algo que deba hacer.

En serio, solo use bitbucket.

+0

Gracias por darme tu tiempo para ayudarme con esto. Lo estoy intentando si tengo algún problema. Voy a comentar. –

+1

hg clon. ssh: //[email protected]//home/hg/repos/project3 clonará el repositorio remoto en local, no al revés. Quiero lo contrario. He creado repositorio en local con mis archivos, ahora quiero clonarlo en un servidor remoto. –

+0

¡Funcionó! pero cuando tengo acceso a http: //dev.myproject.com/private/project3 Recibo una página de error que contiene algún código python. –

Cuestiones relacionadas