Puis-je supprimer un engagement dans la subversion?
-
28-10-2019 - |
Question
Par accident, je me suis engagé deux fois parce que j'ai oublié d'ajouter deux fichiers. Puis-je supprimer un engagement spécifique du journal?
Je veux supprimer la validation № 4.
La solution
La réponse simple est "non", car Subversion ne sait pas comment résoudre le cas lorsque vous ajoutez un engagement, quelqu'un d'autre met à jour son paiement, puis vous supprimez l'engagement de l'histoire. Il pourrait ou non y avoir une réponse complexe impliquant une intervention chirurgicale sur le stockage de la subversion.
Autres conseils
- Afaïques, vous avez pas supprimer R4, mais fusionner avec R5, oui?
- En général, SVN Commit History est immuable, comme l'a dit SII - et si vous n'avez pas de droits de supprimer / créer un repo - vous ne pouvez rien faire.
Si vous pouvez supprimer le dépôt actuel et créer nouveau avec un nouvel historique, vous pouvez essayer:
svnadmin dump
Pour obtenir des lientes humaines (à peine, je dois dire) le dépositaire, le format Grok et l'éditer du vidage, supprimez le repo,svnadmin load
pour recréer le repo- Une autre idée est (au lieu de modifier le vidage) un autre SCM, qui a un pont vers SVN (HG + MQ (HISTEDIT) + HG-GIT, FE, vous permettra d'obtenir un repo et de plier / supprimer les ensembles de change). Pour remplacer l'ancien référentiel - voir p.2 ci-dessus
Dans votre cas, il est juste nécessaire de modifier le commentaire de validation associé à Commit # 4 pour refléter les modifications réelles que vous avez apportées. Vous pouvez le faire avec Subversion en modifiant la configuration du référentiel SVN. Voir le FAQ de la subversion.
Pourquoi? Laissez Subversion garder l'histoire - c'est à cela que c'est. Vérifiez tôt et souvent. Il n'est pas nécessaire d'effacer la validation # 4.