2011-12-11 16 views
7

He estado usando Bzr para el control de versiones de mi proyecto en los últimos meses. Soy el único desarrollador, y actualmente solo tengo todo en un único directorio de proyectos locales, al cual me comprometo y que sincronizo con DriveHQ.Bzr: Crear un repositorio compartido desde un repositorio independiente existente

Ahora tengo en mente algunos experimentos a gran escala que probablemente romperían esta línea principal, así que he estado investigando los conceptos de ramas y repositorios compartidos. Entonces, mi pregunta es, básicamente: ¿cómo debo crear un nuevo repositorio compartido desde esta base ya controlada por la versión?

Estoy familiarizado con la estructura del proyecto SVN del tronco, ramas y etiquetas, y voy a adoptar esta estructura. Mi plan es seguir adelante y hacer un nuevo repositorio de inicio, y copiar todo mi código (más .bzr) en la carpeta del tronco. Entonces, ¿está bien? ¿O hay alguna forma de convertir lo que ya tengo en un repositorio compartido?

Muchas gracias de antemano por cualquier ayuda.

Christopher

Respuesta

10

OK, por lo que tiene algún directorio work donde su rama independiente es. Desea crear trunk y ramas de función en nuevo repositorio compartido.

En primer lugar usted necesita para crear un repositorio compartido en sí:

bzr init-repo /path/to/repo 

Ahora usted puede poner su código para repo/trunk. Puede usar push, branch o puede copiar work y usar reconfigure.

  1. cd work; bzr push /path/to/repo/trunk
  2. cd path/to/repo; bzr branch /path/to/work trunk
  3. o copiar/mover work/path/to/repo/trunk a continuación cd /path/to/repo/trunk; bzr reconfigure --use-shared

En todos los casos, tendrá rama trunk como una copia de su edad work, y esto se trunk use el repositorio compartido para guardar las revisiones.

También puede consultar el plugin bzr-colo.

+0

Muchas gracias. Al final opté por el # 3. – ChrisM

+0

Para mí, utilicé el # 1 y también funcionó perfectamente (creo). Tuve la misma situación y usé el # 1. Para confirmar, I 'cd/path/to/repo', donde escribo' bzr info' y obtengo 'Repositorio compartido con árboles (formato: 2a)' (nueva línea) 'Ubicación:' (nueva línea) 'repositorio compartido:. '. Y luego escribo 'bzr info trunk' que da' Repository tree (formato: 2a) '(newline)' Location: '(newline)' repositorio compartido:. '(newline)' branch de repositorio: trunk '. Gracias @bialix! – Kalin

4
  1. Crear una carpeta fuera de su repositorio actual.
  2. Llame al bzr init-repo para crear un repositorio compartido
  3. Desde su árbol de trabajo presione en el repositorio compartido recién creado.

Ahora puede trabajar directamente en el repositorio compartido

+1

Quería sugerir lo mismo, pero en lugar de presionar, haga una bifurcación desde la vieja reputación hasta la nueva. ¿Hay una diferencia? –

+1

@Gil: puede ramificar en el nuevo repositorio compartido de la copia de trabajo anterior, también funciona. – TridenT

+1

@TridenT: Muchas gracias, muy útiles. Solo para aclarar, ¿puedo eliminar de forma segura el antiguo repositorio? ¿Y debería hacerlo desde Bzr, o puedo simplemente arrastrarlo a la basura? – ChrisM

Cuestiones relacionadas