2012-06-13 2 views
1

Je subversion sur mon serveur, lorsque je tente de commettre i eu erreur comme ci-dessous:Commit bloqué par le crochet pre-commit SVN

error creating module:org.tigris.subversion.javahi.ClientException:svn: 
Commit blocked by pre-commit hook(exit code 199) with no output. 
svn MERGE of '/svn/mssql/trunk':409 Conflict (http://www.domain.com) 

Alors je tente de vérifier le journal des erreurs dans/var/log/httpd/error_log

je suis erreur comme ci-dessous:

Could not MERGE resource "/svn/[project name]/!svn/act/8b7476df-3701-0010-a025-c590208c08a0" into "/svn/[project name]/trunk" 

Commit blocked by pre-commit hook (exit code 199) with no output. [409, #165001] 

Qu'est-ce que l'erreur?

Comment résoudre ce problème?

+0

Résolvez le conflit - quelqu'un d'autre a vérifié les modifications que vous êtes sur le point de faire. Découvrez qui est l'autre développeur et parlez-lui. – duffymo

+0

Avez-vous mis à jour la copie de travail avant de faire la validation? –

+0

J'ai essayé de créer un nouveau référentiel, quand j'ai essayé de valider le projet pour la première fois. –

Répondre

-1

Je peux résoudre ce problème avec ajouter une nouvelle ligne sur le script pré-commit avec le code suivant:

#!/bin/sh 
exit 0; 

Après cela, je peux engager, mettre à jour, la caisse et etc :)

Mais je ajouter ces lignes manuellement sur chaque projet de dépôt? est une autre idée pour surmonter cela?

Merci

1

Il existe deux types différents de pre-commit crochets:

  • côté serveur: C'est le pre-commit hook Unix standard. Le crochet lui-même vit à l'intérieur du répertoire hooks. Si le hook n'est pas exécutable, ou qu'il n'y a pas de script hook appelé pre-commit, le hook ne s'exécute pas.
  • Crochets côté client TortoiseSVN: Le point d'ancrage est sur le client et est spécifique à TortoiseSVN.

Quand vous dites pre-commit hook, parlez-vous celui sur le serveur ou celui de votre ordinateur? Vous avez dit que vous avez modifié le crochet en mettant exit 0 à l'avant.

Vous n'indiquez pas ce que le crochet fait, ou qui l'a placé là. Cela rend très difficile de déterminer ce qui ne va pas. Il y a des milliers de hooks Subversion qui flottent en faisant diverses tâches. Je n'ai aucune idée de ce que c'est. Qui a mis en place ce crochet? Par défaut, Subversion n'a aucun hook actif. Quelqu'un doit l'avoir ajouté. Qui a?

Et, pourquoi ont-ils mis ce crochet? Quel est ce crochet supposé accomplir. Certains hooks empêchent l'ajout de fichiers en double dans le référentiel. Certains empêchent les boîtiers incompatibles. Certains font de la sécurité, et d'autres ne sont que des blagues.

Postez votre crochet sur Pastebin, puis revenez et dites-nous que vous l'avez mis à jour. Dites-nous qui a ajouté le crochet et pourquoi.

Sinon, nous ne pouvons pas faire grand-chose pour vous.

+0

Ceci est subversion sur mon serveur.J'utilise gforge qui inclut subversion à l'intérieur.Ceci est pastebin de mon pré-commit sur http://pastebin.com/XSceFWBV. Je pense que le script pré-commit est automatiquement généré par subversion.Aide-moi à résolvez ceci, merci –

+1

Votre script de crochet 'pre-commit' appelle un autre script appelé' pre_commit_checks.php'. Ce n'est pas inhabituel pour Subversion. Subversion exécute automatiquement un script appelé 'pre-commit' et vous le modifiez habituellement pour appeler un autre script dans le cadre du hook de pré-commit lui-même. Pouvez-vous poster ce script 'pre_commit_checks.php' pour coller la corbeille aussi? Normalement, je dirais juste de renommer 'pre-commit' pour quelque chose d'autre, mais cela pourrait être un script que _gforce_ nécessite pour fonctionner. –