web-dev-qa-db-fra.com

TortoiseSVN ne me permettra pas d'ajouter des fichiers

J'essaie d'ajouter des fichiers à un référentiel SVN à l'aide de TortoiseSVN 1.8.1. Je clique avec le bouton droit sur les fichiers et sélectionnez TortoiseSVN-> Ajouter. Je sélectionne ensuite tous les fichiers dans la fenêtre qui s’ouvre et clique sur OK. Lorsque vous cliquez sur OK, une autre boîte de dialogue apparaît et tous les fichiers semblent avoir été ajoutés avec succès car il est indiqué "Ajouté" à côté de chaque fichier et, enfin, il indique "Terminé!" au fond. Je clique sur OK, puis cliquez avec le bouton droit sur le répertoire parent et cliquez sur "Valider". Je remplis la boîte de message et m'assure que tous les fichiers que j'ai ajoutés sont cochés et qu'ils disent tous "ajoutés" sous "statut". Enfin, je clique sur "OK". Comme d'habitude, une boîte de dialogue apparaît, indiquant "Vous n'avez pas saisi de numéro de problème" et je clique sur "Continuer sans numéro de problème". La boîte suivante qui apparaît a une ligne qui dit "Ajouter" avec un fichier que j'essaie d'ajouter suivi de:

Error: Commit failed (details follow):  
Error: File '%Path to my file%' is  
Error:  out of date  
Error: File '%File name%' already exists  
Error: You have to update your working copy first.  

J'ai réussi à mettre à jour ma copie de travail, qui n'a pas été modifiée. Je fais aussi un nettoyage réussi. J'ai essayé de supprimer le répertoire parent, de supprimer complètement le dossier de base et de revérifier le dossier de base.

Je vérifie le référentiel et il n'y a aucun fichier avec le nom du fichier en cours d'ajout.

Tout ce qui précède était à travers l'interface graphique. En utilisant l'invite de commande, j'ai obtenu ce qui suit:

svn status:
svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted

svn cleanup 5.0.1:
svn: E155009: Failed to run the WC DB work queue associated with '%PathToBaseRepoFolder%', work item 12841 (sync-file-flags 56 %Path to another file I was unable to add from the base repo folder%)
svn: E720003: Can't set file '%Full path to the other file I was unable to add%' read-write: The system cannot find the path specified.

Si je fais une mise à jour et un nettoyage à partir de l'interface graphique, cela signifie que les deux réussissent.

Nous utilisons http: //

Je crois que les autorisations sont correctes.

15
Matt_Bro

Le problème était que j'ai mis à jour la version 1.8.1 qui a un bogue. J'ai téléchargé la version 1.8.0 et cela fonctionne bien.

9
Matt_Bro

Qui m'est arrivé une paire de maintenant plusieurs fois avec TortoiseSVN 1.8.2 - 1.8.10. J'ai trouvé cet article de blog qui a résolu ce problème une fois, jusqu'à ce qu'il réapparaisse. Cela m'a tellement ennuyé que j'ai écrit un script de fichier bat rapide que je lance à partir du bureau.

Prérequis

  1. Téléchargez et décompressez sqlite3 outil Shell, par exemple. sqlite-Shell-win32-x86-308080803.Zip
  2. Ajustez les chemins dans les commandes ci-dessous pour correspondre à votre environnement

Correctif (manuel)

_ {Exécutez ceci si vous voulez juste tester si cela vous aide} _

  1. Dans CMD, faites C:\Downloads\sqlite3.exe "C:\src\.svn\wc.db"
  2. Une fois dans sqlite Shell, lancez delete from WORK_QUEUE;
  3. Exécuter la tortue svn nettoyer

Fix (automatisé)

_ {Si l'étape précédente fonctionnait pour vous, envisagez d'automatiser le processus avec ces étapes}

  1. Accédez à votre dossier .svn, par exemple. C:\src\.svn
  2. Copier l'outil sqlite3 Shell ici
  3. Créez un fichier fix-svn.bat dans ce dossier
  4. Insérer un code de script et ajuster les chemins

    "C:\src\.svn\sqlite3.exe" wc.db "delete from WORK_QUEUE"
    "C:\Program Files\TortoiseSVN\bin\svn" cleanup "C:\src"
    
  5. Enregistrer le fichier bat et faire un raccourci sur votre bureau

  6. La prochaine fois que vous aurez besoin de le réparer, lancez simplement le raccourci sur votre bureau.
39
oleksii

D'accord, je ne sais pas si cela peut être un problème. J'ai vu cette erreur se produire lorsque les caisses peu nombreuses sont utilisées. Vous pouvez ajuster les fichiers que vous voyez lors de la validation via l'indicateur --depth et dans les mises à jour via l'indicateur --set-depth. Si vous --set-depth=exclude sur certains fichiers, vous verrez cette erreur si vous essayez d'ajouter un fichier.

Essayez ceci depuis la ligne de commande. À partir de la racine de votre répertoire de travail:

$ svn cleanup
$ svn update --set-depth=infinity
$ svn status

Assurez-vous que ces trois commandes fonctionnent. Ensuite, essayez le commit.

2
David W.

Mise à jour du candidat à la publication a résolu le problème pour moi. 

2
obukhoff
Sudo svn cleanup 

résoudre mon problème

0
itzhar