J'utilise VisualSVN (qui utilise Tortoise). J'ai accidentellement déplacé un dossier vers un autre emplacement. Quand essaye de le déplacer en arrière, SVN vomit avec cette erreur. C'est arrivé une fois auparavant et j'ai réussi à faire des mises à jour/commits aléatoires, ne sachant pas ce que je faisais et cela a été "corrigé". Je ne peux plus utiliser la même magie et j'ai donc besoin de savoir comment récupérer mes fichiers, mon répertoire et les conflits d'arbres.
Merci!
J'ai eu la même erreur (conflit d'arbre), mais d'un flux de travail différent.
Trouvez quel processus a le verrou. Téléchargez Handle.exe et ouvrez le dossier dans lequel vous avez extrait le fichier. Ensuite, lancez "C:\path\handle.exe" "C:\path\FileOrFolder"
.
https://technet.Microsoft.com/en-us/sysinternals/bb896655.aspx
Workflow à reproduire:
- delete folder (having one of the files locked by a program that is within this folder)
- commit parent folder of folder you deleted, and look for red text of the folder you deleted (it should be brown, not red if there aren't issues in SVN)
Pour réparer:
- forcefully kill the lock (or close the program so it releases the lock)
- run cleanup command on folder you deleted
- revert folder you deleted
- delete folder you deleted
- commit parent folder of folder you deleted
Je ne sais pas dans quel état il se trouve maintenant, mais votre meilleur pari serait probablement de:
svn cleanup
svn update
http://rubyjunction.us/Subversion-hell-sh
Modifier
Voici le script Shell du lien, qui pourrait être utile aux utilisateurs de Linux/Unix ...
#!/bin/sh
if [ "" == "$1" ] ; then
echo "Usage: Subversion-hell.sh A_PROJECT"
echo "A_PROJECT should be a Subversion folder you are having problems with,"
echo "and you should be in the folder above A_PROJECT"
fi
DIR=`pwd`
PWD=$DIR
DIR=`echo $DIR | sed s/^.*\\\/trunk/trunk/`
mkdir ~/tmp/ 2>/dev/null
rm -Rf ~/tmp/$1 2>/dev/null
mv ~/$DIR/$1 ~/tmp/
find ~/tmp/$1/ -iname '.svn*' -exec rm -Rf {} \; 2>/dev/null
cd $PWD
echo svn co YOUR_URL_HERE/$DIR/$1 $1
svn co YOUR_URL_HERE/$DIR/$1 $1
cp -Rf ~/tmp/$1/* $PWD/$1/
# YOUR_URL_HERE can be found by looking in file .svn/entries, near the top
J'ai eu le même problème lorsque j'ai essayé de supprimer une branche sur l'environnement Linux. Ce que j'ai fait était:
Je ne sais pas quel était le problème, mais je l’ai vécu deux fois en deux semaines.
Conservez une sauvegarde du dossier que vous avez déplacé. Maintenant dans SVN, cliquez sur TortoiseSVN >> Résolu. Sélectionnez les fichiers/dossiers et résolvez-les. Maintenant, mettez à jour/validez les données svn.