2008-09-17 5 views
3

Comment puis-je déterminer l'état des fichiers dans mon client, je veux savoir si le fichier a besoin d'une mise à jour, ou patché, ou modifié, etc. Dans CVS, je courais simplement " cvs -n -q mise à jour.> fichier ". Recherchez ensuite les attributs M, U, P, C pour obtenir l'état actuel du fichier. En revanche, "p4 sync -n" ne donne pas de résultat comme "cvs -n -q update". Comment puis-je voir l'état actuel des fichiers, dans le cas de Perforce?Perforce. Obtenir l'état du fichier dans le bac à sable

+0

Votre espace de travail local est appelé « espace de travail client » dans Perforce parler - vous voudrez peut-être mettre à jour le titre donc il n'y a pas de confusion. Sandbox (P4Sandbox) est une solution de branchement/distribution privée encore à être publiée (janvier 2012) dans Perforce: http://www.perforce.com/blog/110826/p4sandbox-private-local-branching-distributed-development –

Répondre

4

À ma connaissance, il n'y a pas une commande qui vous donnera exactement ce que vous voulez. En regardant ce que fait la commande de mise à jour, il n'y a pas d'alternative unique dans Perforce. Je pense que le plus proche que vous obtiendrez sera d'utiliser la commande 'p4 fstat' et d'analyser la sortie à partir de là pour obtenir les informations dont vous avez besoin.

Vous pourriez trouver la page this utile.

J'ai également trouvé ce link à un p4wrapper qui prétend envelopper les commandes CVS (y compris la mise à jour) dans un script. Il pourrait y en avoir d'autres comme celui-ci.

Je voulais aussi commenter que la réponse à cette question est comme beaucoup avec Perforce en demandant "comment puis-je faire ...". La réponse revient généralement à écrire un script pour prendre la sortie des commandes perforce pour obtenir les résultats dont vous avez besoin. Leur philosophie consiste à fournir des commandes simples et à faire en sorte que les développeurs se basent sur les fonctionnalités de base. Aimez-le ou détestez-le, c'est le modèle de base. Beaucoup de bons scripts peuvent être trouvés dans le dépôt public Perforce here.

+0

Merci de pointer vers les scripts. Je suis d'accord sur la philosophie. Je sais ce que je veux et c'est moi qui peux le faire (via script). Pour une raison inconnue, je trouve que la documentation Perforce est énigmatique, j'ai besoin d'entrer dans la documentation. – Karthi

1

Je ne sais pas trop ce que vous voulez dire. Si vous parlez de voir quels fichiers doivent « résoudre » (en langue Perforce), vous pouvez utiliser:

p4 resolve -n 

Voir le site de manuel de ligne de commande p4 ici: http://www.perforce.com/perforce/doc.current/manuals/cmdref/resolve.html#1040665

également P4V a une fonctionnalité intéressante pour mettre en évidence les fichiers non soumis et sales, si vous utilisez ce client. Cliquez avec le bouton droit sur un fodler dans la vue de l'espace de travail et sélectionnez "réconcilier le travail hors connexion". Après un peu de traitement, vous obtiendrez une liste de fichiers qui ne sont pas synchronisés avec le dépôt.

Espérons que cela aide.

+0

Merci Tenpn . Je cherche un moyen de trouver si le fichier, a besoin d'une mise à jour, a été modifié, ou il doit être corrigé. Donc, vous avez une idée juste de ce que votre bac à sable est jusqu'à. Je vais vérifier le manuel pour résoudre et "réconcilier travail hors ligne". Et oui, votre réponse a aidé. Merci. – Karthi

3

Vous ne savez pas si c'est ce que vous cherchez, mais la commande p4 diff a quelques options utiles. De l'utilisation:

 
    -sa  Opened files that are different from the revision 
      in the depot, or missing. 
    -sb  Opened for integrate files that have been resolved 
      but have been modified after being resolved. 
    -sd  Unopened files that are missing on the client. 
    -se  Unopened files that are different from the revision 
      in the depot. 
    -sl  Every unopened file, along with the status of 
      'same, 'diff', or 'missing' as compared to its 
      revision in the depot. 
    -sr  Opened files that are the same as the revision in the 
      depot. 
Questions connexes