tag - SVN reubicar o cambiar?
tortoise svn server (4)
La reubicación se utiliza si desea cambiar de servidor. Por ejemplo, si desea que una copia de trabajo ya no haga referencia a svn: //192.168.1.35/DDL2/trunk/DD_L2DP a favor de svn: //192.168.1.127/DDL2/trunk/DD_L2DP, usaría reubicar.
Switch se usa si desea cambiar el directorio en el repositorio al que se refiere su copia de trabajo. Creo que este es el caso que quieres. Esta operación no afecta el número de revisión de los repositorios: solo actualiza la URL de la copia de trabajo.
svn move
se usa si actualmente tiene svn://192.168.1.35/trunk/DDL2DP
y desea crear svn://192.168.1.35/DD_L2DP/trunk
pero aún no existe en su repositorio.
He reinstalado mi servidor SVN y la ruta ha cambiado de svn: //192.168.1.35/DDL2/trunk/DD _... a svn: //192.168.1.35/trunk/DD _.... He realizado varios cambios en la copia de trabajo y quiero confirmarla en el servidor, por lo que debo cambiar la ruta / url sin afectar la copia de trabajo.
Intenté usar la función de reubicación de TortoiseSVN pero obtuve "Reubicar solo puede cambiar la parte del repositorio de una URL", tal vez debería usar Switch, pero me preocupa la revisión de la copia de trabajo.
svn info svn://192.168.1.35/
Path: 192.168.1.35
URL: svn://192.168.1.35
Repository Root: svn://192.168.1.35
Repository UUID: 259834e4-a888-4201-9858-aaacfe621d8e
Revision: 58
Node Kind: directory
Last Changed Author: rize
Last Changed Rev: 58
Last Changed Date: 2009-11-02 18:33:09 +0100 (po, 02 11 2009)
svn info D:/Programy/Eclipse Workspace/LDD_L2DP
Path: D:/Programy/Eclipse Workspace/LDD_L2DP
URL: svn://192.168.1.35/DDL2/trunk/DD_L2DP
Repository Root: svn://192.168.1.35
Repository UUID: 259834e4-a888-4201-9858-aaacfe621d8e
Revision: 21
Node Kind: directory
Schedule: normal
Last Changed Author: rize
Last Changed Rev: 17
Last Changed Date: 2009-10-21 19:22:41 +0200 (st, 21 10 2009)
Estructura antigua
svn://192.168.1.35/DDL2
svn://192.168.1.35/DDL2/trunk/DD_L2DP
Nueva estructura
svn://192.168.1.35/
svn://192.168.1.35/trunk/DD_L2DP
Esta pregunta tiene la respuesta. Specifically :
svn switch --relocate http://svn.example.com/path/to/repository/path/within/repository http://svnnew.example.com/new/repository/path/within/repository
EDITAR : según su producción anterior, creo que debe adoptar un enfoque diferente. Parece que el repositorio original se creó como /data/repository
con una carpeta llamada DDL2
en el repositorio. Esto puede verse mirando el valor de "Raíz de Repositorio" de su copia de trabajo.
No podrá simplemente bajar la raíz del repositorio a un nivel usando svn switch
. En su lugar, deberá usar svn move
para reorganizar su repo alrededor de la nueva raíz deseada. Esto significa que DDL2
sirviendo tu repositorio desde /data/repository
, pero DDL2
todos los archivos bajo DDL2
al nivel superior.
Por supuesto, mover un montón de archivos puede ser una molestia si tiene ediciones locales. Me comprometería a realizar todos los cambios y luego realizaría el movimiento como un solo compromiso. Deberá volver a cambiar sus svnserve
antes de poder hacer esto.
switch (sw): Update the working copy to a different URL.
usage: 1. switch URL[@PEGREV] [PATH]
2. switch --relocate FROM TO [PATH...]
1. Update the working copy to mirror a new URL within the repository.
This behavior is similar to ''svn update'', and is the way to
move a working copy to a branch or tag within the same repository.
If specified, PEGREV determines in which revision the target is first
looked up.
If --force is used, unversioned obstructing paths in the working
copy do not automatically cause a failure if the switch attempts to
add the same path. If the obstructing path is the same type (file
or directory) as the corresponding path in the repository it becomes
versioned but its contents are left ''as-is'' in the working copy.
This means that an obstructing directory''s unversioned children may
also obstruct and become versioned. For files, any content differences
between the obstruction and the repository are treated like a local
modification to the working copy. All properties from the repository
are applied to the obstructing path.
Use the --set-depth option to set a new working copy depth on the
targets of this operation. Currently, the depth of a working copy
directory can only be increased (telescoped more deeply); you cannot
make a directory more shallow.
2. Rewrite working copy URL metadata to reflect a syntactic change only.
This is used when repository''s root URL changes (such as a scheme
or hostname change) but your working copy still reflects the same
directory within the same repository.