51 votes

Forcément blâmer

Existe-t-il un équivalent du blâme de svn pour Perforce sur la ligne de commande? p4 annotate n'affiche pas les noms d'utilisateur, mais uniquement les numéros de groupe de modifications (sans l'historique des ancêtres!).

Je dois actuellement suivre le code de nos ancêtres et le comparer au filelog. Il doit y avoir un moyen plus simple - peut-être un utilitaire F / OSS?

56voto

Mark Points 6505

Je ne suis pas trop familier avec le blâme de commande, mais je suppose que vous êtes à la recherche pour qui change d'une certaine ligne de code. Le plus simple est d'utiliser Perforce "time lapse vue" disponible dans les deux p4win et p4v.

Cet outil utilise les annoter et d'autres commandes pour vous donner une vue de la ligne de code au fil du temps. Vous pouvez voir qui a modifié ce code, quand il a été inséré ou supprimé de la version, etc.

Ce n'est pas la ligne de commande. J'ai vérifié brièvement dans l'aide et il ne marche pas " semblent être un moyen de lancer le laps de temps afficher directement à partir d'un p4win ou p4v invocation. Il y a peut-être bien...je vais vérifier plus loin...

Edit: j'ai vérifié avec le soutien, et vous pouvez lancer la prise de vue par le biais de p4v comme suit:

p4v.exe -cmd "annotate //<path/to/file>"

HTH.

11voto

Alan Points 7273

Essayez de jeter un coup d'œil à quelques outils qui, à mon avis, pourraient vous apporter l'essentiel de ce dont vous avez besoin:

1) Script p4pr Perl de Bob Sidebotham et Jonathan Kamens.

2) L’interface Emacs Perforce a une commande 'p4-print-with-rev-history' (liée à `Cx p V ').

4voto

Bhavesh Points 148

À partir du client p4v, vous pouvez obtenir le menu contextuel "Vue accélérée" sur toutes les vues affichant des fichiers tels que Fichiers, Liste de modification, etc.

La vue laps de temps offre de nombreuses options telles que Révision unique, Révision multiple pour analyser ce qui a été modifié, quand et par qui.

1voto

cdleary Points 18869

@ alanw123: p4pr est proche de ce que je recherche, mais il ne franchit pas les frontières des branches:

 last if $type eq 'branch';
 

C’est le principal problème que j’ai eu lorsque j’ai essayé d’écrire mon propre utilitaire - vous ne pouvez pas (facilement) dire comment les lignes sont reliées au fichier à partir duquel la branche a été ramifiée.

1voto

Alexander Bird Points 5334

La commande p4 annotate peut en réalité suivre les fusions / intégrations et les branches sur la ligne de commande avec les commandes -I et -i (mais elle ne peut pas faire les deux à la fois :() :

 -I
Follow integrations into the file. If a line was introduced into the file by a merge, the source of the merge is indicated as the changelist that introduced the line. If that source was itself the result of an integration, that source will be used instead, and so on.
The use of the -I option implies the -c option. The -I option cannot be combined with -i.
-i
Follow file history across branches. If a file was created by branching, Perforce includes revisions up to the branch point.
The use of the -i option implies the -c option. The -i option cannot be combined with -I.
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X