Domanda

Sto usando VisualSVN (che utilizza Tortoise). Mi muovo accidentalmente una cartella in una posizione diversa. Quando si cerca di muoversi di nuovo, SVN pukes con questo errore. E 'successo una volta prima e sono riuscito a fare un po' casuali aggiornamenti / commit, non sapendo quello che stavo facendo ed è stato "riparato". Non riesco a tirare di nuovo la stessa magia, quindi ho bisogno di sapere come ottenere i miei file e directory e di tree-conflitto.

Grazie!

È stato utile?

Soluzione

Ho avuto lo stesso errore (albero dei conflitti), ma da un flusso di lavoro diverso.

Trova quale processo ha la serratura. Scarica Handle.exe, e aperto alla cartella è stato estratto a. Quindi eseguire "C:\path\handle.exe" "C:\path\FileOrFolder".

https://technet.microsoft.com/en-us/sysinternals/ bb896655.aspx

Flusso di lavoro di riprodurre:

- 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)

Per risolvere:

- 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

Altri suggerimenti

Non sono sicuro di quello stato che è in ora, ma la soluzione migliore sarebbe probabilmente a:

  1. spostare la cartella del vostro repository completamente
  2. Fare un svn cleanup
  3. Fare un svn update
  4. Copiare i file dalla cartella di schiena (senza le file Svn) sovrascrivendo i vecchi file di origine che sono stati appena svn aggiornati.

http://rubyjunction.us/subversion-hell-sh

Modifica

Ecco lo script di shell dal link, che potrebbe essere utile per gli utenti 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

Ho avuto lo stesso problema quando ha cercato di eliminare un ramo su linux ambiente. Quello che ho fatto è stato:

  1. svn ramo revert
  2. svn up
  3. svn cleanup
  4. ramo remove svn - segnano il ramo di nuovo per la rimozione
  5. svn ci

Non so quale fosse il problema, ma ho sperimentato due volte in due settimane.

Conservare una copia di backup della cartella che si è spostato. Ora in SVN, cliccare su TortoiseSVN >> Risolto. Selezionare il file / cartella e determinazione. Ora aggiornamento / commit i dati svn.

Si noti che questo può verificarsi anche se "non hai fatto niente" - vale a dire qualcuno si muove intorno cartelle su di voi nel repository e non sapere. È successo a me. Se questo è il caso, eliminare la cartella problema dal repository e svn update.

  

Un conflitto albero si verifica quando uno sviluppatore spostato / rinominato / cancellato un file   o cartella, che un altro sviluppatore ha o anche   spostato / rinominato / cancellati o semplicemente modificato. Ci sono molti diversi   situazioni che possono provocare un conflitto albero, e tutte richiedono   diversi passi per risolvere il conflitto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top