Une série d'erreurs a été commise dans un projet sur lequel je travaille. Comment puis-je revenir à une révision de travail connue et la construire par-dessus? Supposons que je suis à la révision 15, mais je veux revenir à la révision 10 et travailler à partir de 10 ans. J'utilise Zend Studio.
Puis-je supprimer les révisions existantes dans SVN?
A partir de la ligne de commande:
svn up -r [revision_number]
Où [numéro_révision] est la révision à laquelle vous voulez revenir.
Et non, vous ne pouvez pas supprimer les révisions qui existent déjà dans SVN.
Vous pouvez simplement faire une mise à jour à la révision en utilisant
svn up -r 10
Mais comme Christoph l’a suggéré, ne vous laissera pas valider les modifications, car SVN a besoin de mettre à jour votre copie de travail sur HEAD avant de pouvoir valider. Qu'est-ce que vous pouvez faire à la place est
svn merge -r HEAD:10 yourFile
svn ci yourFile -m "Reverting back to rev 10"
Trois options:
Fusion inverse: (le plus rapide, conserve les mauvaises révisions, ajoute une nouvelle révision)}
svn merge $(REPO)@$(GOODREV) $(WC)
SVN dump: (supprime entièrement les mauvaises révisions)}
svnadmin dump $(REPO) -r 1:$(GOODREV) > dumpfile
svnadmin load $(NEWREPO) < dumpfile
# Now delete $(REPO), and use $(NEWREPO)
Édition manuelle: (supprime les mauvaises révisions, non sécurisée, dernier recours)}
La seule raison pour laquelle vous pourriez en avoir besoin est si, pour une raison quelconque, vous avez un accès de niveau fichier au référentiel, mais aucun accès Shell. Notez que cela n’a été testé que sur SVN 1.6 et 1.7.
$(GOODREV)
(Si vous laissez à HEAD
, il sera inutilisable une fois que nous aurons terminé.)db/current
par $(GOODREV)
. Veillez à ne pas modifier la fin de la ligne LF
.db/revs/*/*
et db/revprops/*/*
qui sont> $(GOODREV)
db/rep-cache.db
HEAD
, qui devrait maintenant être égal à $(GOODREV)
.Notez que si vous utilisez TortoiseSVN , vous devez également suivre ces étapes:
%APPDATA%\TortoiseSVN\logcache\*
TSVNCache.exe
via le gestionnaire de tâches. (Il y en a généralement un, mais pourrait être 2 sur WinVista + en raison de la sécurité UAC, qui empêche les applications élevées d'interagir avec un TSVNCache.exe
non élevé. La première fois que vous ouvrez une boîte de dialogue Save As...
à partir d'une application élevée, une TSVNCache.exe
va apparaître.)Cela corrigera l’affichage bizarre du journal provoqué par le conflit du cache de TortoiseSVN avec le nouvel état du référentiel.
Obtenez la documentation du site de bureau TortoiseSVN.
J'utilise la méthode 2 et travaille bien de mon côté.
https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-howto-rollback.html