Question

Je souhaite modifier le nom d'utilisateur SVN par défaut à un nouveau nom. J'ai essayé la solution proposée dans ce lien ( Comment puis-je changer l'auteur par défaut pour accéder à un dépôt SVN local? ), mais il ne fonctionne pas.

J'ai accès au référentiel SVN par ligne de commande et Aptana client en utilisant Subversive.

Était-ce utile?

La solution

Modifier : Cette réponse est sur la façon de changer un auteur dans les journaux, pas comment définir l'auteur par défaut. Je vais laisser la solution ici car il pourrait encore aider à défaire ces dernières commits, étaient l'auteur et non la bonne.

Edit 2 . Exemple de script hook et des informations pour les fichiers .bat


Vous ne donnez pas beaucoup de détails que nous allons devoir deviner, et ma première pensée serait sur le script crochet qui est appelé à valider le changement. Dans ce cas, votre client est pas le problème, il est un problème de configuration du serveur.

Assurez-vous que le script crochet avant revprop changement (dans votre répertoire <repository>/hooks, sur le serveur), est exécutable par le serveur et permet un changement de l'auteur.

est un exemple ici dans 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 votre serveur SVN est sous Linux, vous pouvez également renommer simplement le fichier pre-revprop-change.tmpl qui est créé automatiquement à chaque dépôt de pre-revprop-change, et lui donner l'autorisation exécutable pour le serveur. Il devrait ressembler à ceci pour permettre à l'auteur et enregistrer les modifications:

#!/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

Pour 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 elle ne fonctionne pas, cela peut être dû à la COMSPEC ou les variables PATH ne présentant pas les valeurs appropriées pour le compte du serveur, ou il pourrait également être les autorisations sur le script crochet. Consultez ce lien pour plus de détails .

Il existe d'autres exemples de scripts hook à CollabNet .

Plus de détails dans la Le contrôle de version avec le livre en ligne de Subversion, et aussi (voir les sections suivantes).

Autres conseils

Pour Eclipse (mais devrait fonctionner avec IDE basé sur Eclipse comme Aptana):

juste dans les vues de SVN Repository du SVN Perpective, allez à la  Location Properties du dépôt désiré et modifier les informations d'identification dans la zone de Authentication.

Il faut changer votre auteur à partir de maintenant.

Si vous voulez réécrire l'histoire, vous devez utiliser quelque chose comme la solution de RedGlyph.

1.4.x Subversion ont obtenu que svn: log autorisé dans le fichier par défaut pre-revprop-change. Cela peut causer des problèmes lors de l'utilisation d'Eclipse avec le plugin Subversive svn.

Pour résoudre l'erreur magique indiquant que

  

Modification des propriétés de révision autre que svn: log est interdite

après commandes svn. Pour résoudre ce problème particulier ajouter

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

de solution RedGlyph ci-dessus.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top