NB: Normalement, lorsque vous vous êtes enregistré par erreur, il suffit de revenir à la commettre - voir les autres réponses à cette question. Toutefois, si vous voulez savoir comment annuler les effets de la validation et de modifier le référentiel être de savoir comment il était avant, il y a quelques explications ci-dessous:
Ce n'est pas ce que vous souhaitez l'utiliser, mais si vous vraiment voulez supprimer le réel version validée à partir du référentiel, alors vous pouvez faire un méchant de restauration sur le référentiel comme suit (ce qui suppose que $REV
est fixé pour la révision la plus récente, que vous êtes en train de supprimer):
- Faire revenir votre copie locale de la révision précédente afin de ne pas se confondre (
svn revert -r $((REV-1))
)
- Dans le référentiel, retirez -
db/revs/$REV
et db/revprops/$REV
- Dans le référentiel, retirez -
db/current
et (pour subversion 1.6 ou plus) db/rep-cache.db
, et exécutez svnadmin recover .
Tout cela suppose:
- Vous êtes à l'aide d'un
fsfs
-référentiel
- La Subversion la libération de plus de
1.5.0
(sinon, vous devrez modifier manuellement db/current
et de modifier le numéro de révision plutôt que de courir en svnadmin recover .
)
- Pas d'autres révisions suivantes ont été commis
- Vous avez accès en écriture pour le système de fichiers du référentiel
- Vous n'êtes pas peur de quelqu'un d'autre essaie d'y accéder pendant que vous faites le au-dessus de
Je l'ai fait quand un énorme fichier a été commis dans un référentiel que je n'ai pas envie de rester dans l'histoire (et de miroirs, etc) pour toujours; il n'est pas en aucune façon idéale ou une pratique normale...