2011-10-06 62 views
14

He decidido que modificar archivos directamente en el bloc de notas es probablemente peligroso y que ya era hora de tener un control de fuente adecuado (soy bastante nuevo en el control de fuente). He instalado el servidor VisualSVN en mi servidor y TortoiseSVN en mi máquina cliente. Puedo crear nuevas carpetas correctamente, verificarlas, etc. Sin embargo, en mi servidor, tengo una estructura de carpetas existente para IIS y hay enlaces basados ​​en esta ubicación en todas partes. ¿Cómo puedo hacer que toda la carpeta funcione con SVN sin mover los archivos?Crear una carpeta existente en un repositorio

+1

¿No desea hacer una copia de seguridad de esos archivos también? (Los que están más allá de los enlaces) –

Respuesta

33

Hay una solución simple para el control en una estructura de directorios existente:

  1. Abra el navegador de repositorios de TortoiseSVN y crear un nuevo directorio para el proyecto que desea hacer el ingreso.
  2. Presta atención a este directorio vacío recién creado desde SVN en algún lugar
  3. Abre el directorio desprotegido y mueve el directorio .svn oculto contenido en el directorio raíz de tu proyecto. Esto habilita los menús contextuales de TortoiseSVN para todos los archivos y subcarpetas.
  4. Añadir cada archivo y carpeta que desea el registro de entrada (contexto comando de menú Añadir ...)
  5. Ejecutar SVN Commit ... en la carpeta raíz del proyecto
+2

Nota: El Paso 1 supone que su estructura de repositorio está configurada para tener múltiples proyectos en un único repositorio (es decir, [opción uno en el libro SVN] (http: //svnbook.red- bean.com/en/1.0/ch05s04.html)). Si, en cambio, coloca cada proyecto en repositorios separados (es decir, la opción dos), no podrá hacerlo desde su navegador de repositorio. Tendrá que crear el nuevo repositorio en el servidor svn. – kmote

1

También me agregue un paso entre 3 y 4:

3.5. No haga caso de los archivos generados de forma automática (comando del menú contextual Agregar a la lista de ignorados ...)

7

Una forma aún más simple que Robert's Answer (aunque el levantamiento de él):

  1. Abra el navegador de repositorios de TortoiseSVN y crear una nuevo directorio para el proyecto que desea registrar.

  2. de salida de este directorio vacío recién creado a partir de SVN que el directorio se desean añadir (caso omiso de la advertencia sobre el registro de salida en un directorio no está vacío).

  3. Ejecute 'SVN Commit ...' en el directorio que desea comprometer, seleccionando los archivos que desea agregar desde la ventana de confirmación.

0

Usted puede hacer lo que los otros han mencionado más arriba, sin embargo, si desea utilizar sólo lo que tienes en lugar de añadir y cometiendo, simplemente puede engañar a Svnserve.

Para este ejemplo nuestro repositorio existente es "TEST_REPO"

Ir a la línea de comandos.

Crea un nuevo directorio llamado "nuevo". CD en él.

En nuestro directorio "nuevo" ejecute el siguiente:

C:\new\mkdir TEST_REPO 
C:\new\svnadmin create TEST_REPO 

Ahora usted tendrá un acuerdo de recompra en el directorio "TEST_REPO".

Run:

C:\new\cd TEST_REPO 
C:\new\TEST_REPO\del *.* /S /Q 

(rd para eliminar los directorios si es necesario, lo siento, no una persona ventanas)

Ahora, mueva los archivos de su existente "TEST_REPO" en el "C: \ nueva \ TEST_REPO \ "carpeta. A continuación, ejecute:

C:\new\TEST_REPO\svnadmin verify . 

Debería ver SVN verificar toda la fuente en su repositorio. Pan comido.

Cuestiones relacionadas