Quelle est la différence entre «Rollback…» et «Back Out Submitted Changelist #####» dans Perforce P4V

198

Je souhaite annuler les modifications de l'un de mes enregistrements. Dans le menu contextuel du clic droit de la liste des modifications particulière, il y a ces deux options:

  • Retour en arriere...
  • Annuler la liste des modifications soumise

Quelle est la différence entre ces deux? Dans quelles situations dois-je utiliser l'un ou l'autre?

Dave Andersen
la source
3
Dans ce cas, 'Back Out Submitted Changelist' était la bonne option pour ma situation (je voulais seulement annuler les modifications de l'archivage). Merci pour les bonnes réponses.
Dave Andersen

Réponses:

222

Ces deux opérations restaurent un ensemble de fichiers à un état antérieur et sont essentiellement des moyens plus rapides et plus sûrs pour annuler les erreurs que d'utiliser la p4 obliteratecommande (et vous n'avez pas besoin d'un accès administrateur pour les utiliser).

Dans le cas de "Rollback ...", cela peut être n'importe quel nombre de fichiers, même un dépôt entier. Vous pouvez lui demander de revenir à une révision, une liste de modifications ou une étiquette spécifique. Les fichiers sont restaurés dans l'état dans lequel ils se trouvaient au moment de la création de cette révision, liste de modifications ou étiquette.

Dans le cas de "Back Out Submitted Changelist #####", l'opération de restauration est limitée aux fichiers qui ont été soumis dans la liste des modifications #####. Ces fichiers sont restaurés dans l'état où ils se trouvaient avant que vous ne soumettiez cette liste de modifications, à condition qu'aucune modification n'ait été apportée à ces fichiers depuis. Si des modifications ultérieures ont été apportées à l'un de ces fichiers, Perforce vous indiquera que ces fichiers sont désormais obsolètes. Vous devrez vous synchroniser avec la révision de tête, puis résoudre les différences. De cette façon, vous n'encombrez pas par inadvertance les modifications que vous souhaitez réellement conserver.

Les deux opérations fonctionnent en soumettant essentiellement les anciennes révisions comme de nouvelles révisions. Lorsque vous effectuez un "Rollback ...", vous restaurez les fichiers dans l'état où ils se trouvaient à un moment précis , indépendamment de ce qui leur est arrivé depuis. Lorsque vous effectuez un "Back out ...", vous essayez d' annuler les modifications que vous avez apportées à un moment précis , tout en conservant les modifications qui se sont produites depuis.

corbeau
la source
18
Je pense que "Back Out Submitted Changelist #####" va essayer de conserver les modifications qui ont été apportées aux mêmes fichiers après la liste de modifications donnée.
Ian Ringrose
1
@Ian: Bonne observation. Quand j'ai écrit cela, je pensais à corriger immédiatement une erreur. Comme c'est généralement le cas, si vous réalisez que vous voulez annuler quelque chose beaucoup plus tard , cela devient plus compliqué. J'ai affiné ma réponse.
corbeau
@IanRingrose Je viens de faire une opération de "retrait", et il semble qu'il n'essaie pas de conserver les modifications qui ont été apportées par la suite. J'ai dû faire une synchronisation, puis résoudre afin de récupérer les modifications qui ont été soumises après le retrait.
gdw2
@ gdw2, je pense que si vous faisiez un "Rollback", vous n'auriez pas alors l'option de "résoudre afin de récupérer les changements qui ont été soumis après le ..."
Ian Ringrose
1
Bien que les fichiers soient restaurés dans l'état dans lequel ils se trouvaient, les métadonnées ne le sont pas. Essayer d'annuler une intégration à partir d'une autre branche ne vous permettra pas d'effectuer à nouveau cette intégration car les métadonnées indiquent qu'elle est déjà intégrée.
Will Brode
17

Inverser une soumission de liste de modifications

Vous ne pouvez pas annuler une soumission de liste de modifications réussie, mais vous pouvez annuler les modifications soumises précédemment de deux manières:

Rollback restaure un fichier ou un ensemble de fichiers dans une liste de modifications, une date ou une révision spécifiées. Les modifications apportées après ce moment ne sont pas conservées. La suppression supprime des modifications spécifiques apportées à une liste de modifications, une date ou une révision donnée, mais permet à un utilisateur de conserver les modifications apportées dans les révisions suivantes.

Pour plus de détails, veuillez consulter https://www.perforce.com/perforce/r13.1/manuals/p4v/Working_with_changelists.html

Smartmarkey
la source
8

Backout restaure ou annule nos modifications. Pour cela, P4 annule les modifications dans une liste de modifications (par défaut ou nouvelle) sur notre espace de travail local. Nous devons ensuite soumettre / valider cette liste de modifications supprimée comme nous le faisons pour les autres listes de modifications. La deuxième partie est importante ici, car elle ne supprime pas automatiquement la liste des modifications sur le serveur, nous devons soumettre la liste des modifications supprimée (ce qui est logique après l'avoir fait, mais je supposais initialement qu'elle le faisait automatiquement).

Comme souligné par d'autres, Rollback a de plus grands pouvoirs - Il peut restaurer les changements à une date spécifique, une liste de modifications ou une révision #

user841717
la source
4

Rollback ... vous invitera à sélectionner un dossier à restaurer, c'est-à-dire qu'il fonctionnera sur des dossiers spécifiques, et vous pourrez revenir à des étiquettes, des listes de modifications ou des dates. Les travaux de sauvegarde sur les fichiers dans des listes de modifications spécifiques.

akf
la source
4

J'explique cela aux utilisateurs en comparant les listes de modifications Perforce à une pile (à partir de structures de données).

La sauvegarde supprime un élément de n'importe où dans la pile.

Faire reculer supprime n éléments du haut de la pile.

gmaghera
la source
0

Au plus simple, la différence est celle de la pluralité:

  • Backout se retire d'une seule liste de modifications (qu'elle soit la plus récente ou non). c'est-à-dire qu'il annule une seule liste de modifications.
  • La restauration annule les modifications autant que nécessaire pour revenir à une liste de modifications précédente. c'est-à-dire qu'il annule plusieurs listes de modifications.

J'avais l'habitude d'oublier lequel était lequel et je devais le chercher plusieurs fois. Pour résoudre ce problème, imaginez que la restauration se déroule en plusieurs rotations, puis, espérons que le fait que la restauration soit au pluriel vous aidera (et moi!) À vous rappeler laquelle est laquelle. Backout semble «moins pluriel» que rollback pour moi. Imaginez reculer d'un seul espace de stationnement.

Donc, le mnémonique est:

  • Rollback → rotations multiples
  • Backoutreculez sur une seule place de parking

J'espère que ça aide!

darrenp
la source