¿Cómo cambio el autor pnetworkingeterminado para acceder a un repository SVN?

Quiero cambiar el nombre de usuario SVN pnetworkingeterminado a un nuevo nombre. Intenté una solución sugerida en este enlace ( ¿Cómo cambio el autor pnetworkingeterminado para acceder a un repository SVN local? ), Pero no está funcionando.

Tengo acceso al repository SVN a través de la command-line y a Aptana usando el cliente Subversivo.

Editar : Esta respuesta es sobre cómo cambiar un autor en los loggings, no cómo configurar el autor pnetworkingeterminado. Dejaré la solución aquí ya que podría ayudar a deshacer los últimos commits, si el autor no fuera el correcto.

Edición 2 : ejemplo de guión de enlace e información para files .bat.


No da muchos detalles, así que tendremos que adivinar, y mi primer pensamiento sería sobre el script de gancho que se llama para validar el cambio. En ese caso, su cliente no es el problema, es un problema de configuration del server.

Asegúrese de que el script de anzuelo de cambio de preprogtwigción (en su directory <repository>/hooks , en el server) sea ejecutable por el server y permita un cambio de autor.

Aquí hay 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 server SVN está en Linux, también puede cambiar el nombre del file pre-revprop-change.tmpl que se crea automáticamente con cada repository para pre-revprop-change , y darle permiso ejecutable para el server. Debería verse así para permitir cambios de autor y logging:

 #!/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 no funciona, puede deberse a que las variables COMSPEC o PATH no tienen los valores adecuados para la count del server, o también podrían ser los permissions del script hook. Mira este enlace para más detalles .

Hay otros ejemplos de scripts hook en CollabNet .

Más detalles en el libro en línea de Control de versiones con Subversion , y también aquí (consulte las siguientes secciones).

Para Eclipse (pero debería funcionar con IDE basado en Eclipse como Aptana):

En las vistas de SVN Repository de SVN Perpective , solo vaya a Location Properties de Location Properties del repository deseado y cambie las cnetworkingenciales en el cuadro Authentication .

Debería cambiar su autor a partir de ahora.

Si desea reescribir el historial, debe usar algo como la solución de RedGlyph.

Subversion 1.4.x solo tiene svn: log permitido en el file pre-revprop-change pnetworkingeterminado. Esto puede causar un problema al usar Eclipse con el subversivo svn plugin.

Para resolver el error mágico que indica que

Está prohibido cambiar las properties de revisión que no sean svn: log

después de los commands svn. Para resolver este problema en particular, agrega

 if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:author" ]; then exit 0; fi 

de la solución RedGlyph anterior.