¿Cómo cambio el autor por defecto para acceder a un repositorio SVN?
-
13-09-2019 - |
Pregunta
Quiero cambiar el nombre de usuario predeterminado SVN a un nuevo nombre. Probé solución sugerida en este enlace ( ¿Cómo cambio el autor por defecto para acceder a una SVN repositorio local? ), pero no está funcionando.
Tengo acceso al repositorio SVN a través de línea de comandos y el uso de Aptana cliente subversivo.
Solución
Editar : Esta respuesta está en la forma de cambiar un autor en los registros, no cómo configurar el autor predeterminado. Voy a dejar la solución a este problema, ya que aún podría ayudar a deshacer las últimas confirmaciones, no eran el autor la correcta.
Editar 2 . Ejemplo script gancho y la información de los archivos .bat
No dar muchos detalles por lo que tendremos que adivinar, y mi primer pensamiento sería sobre el script gancho que se llama para validar el cambio. En ese caso, su cliente no es el problema, es un problema de configuración del servidor.
Asegúrese de que el script de pre-revprop de cambio de gancho (en el directorio de <repository>/hooks
, en el servidor), es ejecutable por el servidor y permite un cambio de autor.
Este es un ejemplo en C:
#include <stdio.h>
int main(int argc, char *argv[])
{
int i;
char *repos = argv[1];
char *rev = argv[2];
char *user = argv[3];
char *propname = argv[4];
char *action = argv[5];
if (!strcmp(action, "M") && !strcmp(propname, "svn:log")) return 0;
if (!strcmp(action, "M") && !strcmp(propname, "svn:author")) return 0;
fprintf(stderr, "Changing revision properties other than svn:log or svn:author is prohibited");
return 1;
}
Si su servidor SVN es en Linux, es posible que también simplemente cambia el nombre del archivo pre-revprop-change.tmpl
que se crea automáticamente con cada repositorio a pre-revprop-change
, y darle permiso de ejecución para el servidor. Se debe tener este aspecto para permitir autor y registrar los cambios:
#!/bin/sh
REPOS="$1"
REV="$2"
USER="$3"
PROPNAME="$4"
ACTION="$5"
if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:author" ]; then exit 0; fi
if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi
echo "Changing revision properties other than svn:log or svn:author is prohibited" >&2
exit 1
Para Windows:
@echo off
REM pre-revprop-change.bat hook script
if "%4" == "svn:log" exit /b 0
if "%4" == "svn:author" exit /b 0
echo "Changing revision properties %4% is prohibited" >&2
exit /b 1
Si esto no funciona, puede ser debido a la las variables PATH no tienen los valores adecuados para la cuenta de servidor o COMSPEC, o también podría ser los permisos del script gancho. Compruebe este enlace para obtener más detalles .
Hay otros ejemplos de scripts gancho en CollabNet .
Más detalles en el control de versiones con Subversion libro en línea , y también aquí (marque las siguientes secciones).
Otros consejos
Para Eclipse (pero debería funcionar con el IDE basado en Eclipse como Aptana):
En las vistas SVN Repository
del SVN Perpective
, sólo tiene que ir a la
Location Properties
del repositorio deseado y cambiar las credenciales en el cuadro de Authentication
.
Debe cambiar su autor a partir de ahora.
Si quiere reescribir la historia, usted tiene que usar algo como solución de RedGlyph.
1.4.x Subversion han conseguido solamente svn: log permitido en el archivo pre-revprop-change
defecto. Esto puede causar un problema al utilizar Eclipse con el plugin SVN subversivo.
Para resolver el error mágica que indica que
Cambio de propiedades de revisión distintos de svn: log está prohibido
después de los comandos svn. Para resolver este problema particular complemento
if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:author" ]; then exit 0; fi
de la solución RedGlyph anteriormente.