2009-06-03 25 views
6

¿Alguien puede decirme el comando para actualizar un archivo en el repositorio SVN. El archivo ya está importado, solo quiero modificar los cambios.¿Cómo actualizar un archivo en SVN?

El archivo es main.css y filepath /home/weblab/public_html/cake_1_2/app/webroot/css.

¿Alguien puede darme el comando exacto?

Respuesta

8

Supongo que ha utilizado "svn import" para obtener los archivos en el repositorio. Si ese es el caso, entonces su archivo local en disco es no parte de una copia de trabajo y no podrá "svn commit".

Para verificar esto, ejecute svn info desde el directorio en el que se encuentra su código. Si dice: svn: '.' is not a working copy, su directorio actual no es una copia de trabajo.

Lo que se necesita hacer es:

  1. svn checkout su proyecto desde el repositorio a un (directorio temporal) copia de trabajo local.
  2. copie sus cambios a los archivos existentes sobre la copia de trabajo
  3. svn commit esos cambios.

Después de haber hecho eso, cambie el nombre de la ubicación del proyecto original (donde estaba trabajando ahora) y mueva la copia de trabajo en su lugar. Ahora puede svn commit normalmente desde su copia de trabajo.

Si la carpeta que utiliza ahora se llama: /home/username/myproject y la copia de trabajo se llama /tmp/workingcopy. Posteriormente, se podría escribir lo siguiente:

  1. mv /home/username/myproject /home/username/myproject.old
  2. mv /tmp/workingcopy /home/username/myproject

Ahora hay que continuar su trabajo en /home/username/myproject, puede eliminar myproject.old si está seguro de todo el código se encuentra en el repositorio SVN

+0

Tiene toda la razón. Ahora puedo actualizar en svn. Pero no entiendo la segunda parte. ¿Cómo hacer que la ubicación de mi proyecto sea la ubicación de trabajo? Estoy trabajando en cakephpnow. ¿Cómo mover la copia de trabajo a mi carpeta cakephp y usarla? – Angeline

+0

Consulte mi adición a la respuesta anterior para saber cómo reemplazar su carpeta con la copia de trabajo svn. –

1

svn ci nombre

+0

O bien obtengo el error, no es una copia de trabajo o no puedo abrir el archivo '/.svn/entries': No existe tal archivo o directorio – Angeline

1

respuesta rápida: Uso 'Commit'

Bueno, qué sistema operativo, que el cliente?

Si está en Windows, TortoiseSVN es el mejor.

+0

ubuntu .. y commit funcionó, o no mencioné el camino correcto, supongo ... – Angeline

5

Hay tres maneras de interpretar su pregunta:

  1. Sólo tener el archivo en un repositorio de subversión y desea modificar su contenido
  2. tiene el archivo tanto en un repositorio y en el disco, aún no se han realizado cambios, y desea modificar su contenido en ambos lugares
  3. Tiene el archivo en un repositorio y en el disco, el archivo en el disco contiene cambios y desea actualizar la versión del repositorio con esos cambios

Si es el primero, primero debe verificar el archivo en una copia de trabajo en el disco, luego pasar al caso 2.

Si es el segundo, debe modificar el archivo en el disco con los cambios, y luego pase al caso 3.

Si es el tercero, debe confirmar los cambios en el repositorio.

Haga esto con su cliente de Subversion elegido. Si esta es la línea de comandos, un comando típico es el siguiente:

svn ci -m "Text that describes the changes that were done" 

El verdadero problema aquí es que aunque usted no sabe cómo utilizar Subversion. Me gustaría encontrar un tutorial de Subversion y jugar con él, crear un repositorio temporal y poner archivos en él, jugar con los comandos de confirmación, verificación, reversión, registro, etc. para tener una idea de cómo funciona el sistema.

+0

La mía es la tercera c ase.¿No hay necesidad de mencionar el nombre del archivo? – Angeline

+0

De forma predeterminada, Subversion confirmará cualquier archivo modificado en el directorio de trabajo. Si solo desea confirmar un archivo, puede agregar su ruta como un parámetro adicional al comando de confirmación. –

+1

Acerca de los tutoriales de Subversion: http://svnbook.red-bean.com/ es un excelente e-book gratuito para la introducción al control de versiones en general y svn en particular. – balpha

0

Usando Mac OS, y teniendo un enlace de URL a SVN. Siga los pasos

-Terminal abierta.

-change directorio a la ruta necesaria (por ejemplo, cd Desktop /).

-Tipo comando: svn checkout URL

$MacBook-Pro:~ worktpg$ svn checkout http://stackoverflow.com/questions/ 

nombre de usuario y contraseña: ingrese si se le pide y esperar a que el proceso para completar

-Para Actualización de svn de la terminal, cd de ruta y el tipo de comando: svn update

Cuestiones relacionadas