93 votes

Comment trouver sans traces de fichiers dans un Perforce arbre? (analogue de l'état svn)

Quelqu'un a un script ou un alias pour trouver sans traces (vraiment: unadded) des fichiers dans un Perforce arbre?

EDIT: j'ai mis à jour la accepté de répondre sur ce point puisqu'elle ressemble à P4V ajout du support pour cette dans le numéro de janvier 2009 de la libération.

91voto

tenpn Points 1812

En janvier 2009, la version de P4V, vous pouvez droit-cliquez sur un dossier dans votre espace de travail de l'arborescence et cliquez sur "réconcilier travailler hors connexion..."

Cela va faire un peu de traitement puis ouvrir un split-affichage de l'arborescence des fichiers, qui ne sont pas vérifiées, mais présentent des différences à partir du dépôt de la version, ou pas vérifié du tout. Il peut même y avoir quelques autres catégories, il apporte vers le haut.

Vous pouvez cliquer-droit sur les fichiers de ce point de vue et de les vérifier, de les ajouter, ou même de revenir.

C'est un outil très pratique qui est sauvé mon cul plusieurs fois.

EDIT: ah, la question posée sur les scripts, mais je vais laisser cette réponse ici juste au cas où.

50voto

Mark Harrison Points 77152

Sur linux, ou si vous avez gnu-outils est installé sur windows:

find . -type f -print0 | xargs -0 p4 fstat >/dev/null

Cela fera apparaître un message d'erreur pour chaque fichier d'inventaire. Si vous voulez capturer la sortie:

find . -type f -print0 | xargs -0 p4 fstat >/dev/null 2>mylogfile

19voto

ahu Points 283

Sous Unix:

find -type f ! -name '*~' -print0| xargs -0 p4 fstat 2>&1|awk '/no such file/{print $1}'

Cela permettra d'imprimer une liste de fichiers qui ne sont pas ajoutés à votre client ou le dépôt Perforce. J'ai utilisé ! -name '*~' pour exclure les fichiers se terminant par ~.

12voto

Andrew Grant Points 35305

Ahh, l'un des Perforce classiques :) Oui, il suce vraiment qu'il n'y a TOUJOURS pas de moyen facile pour cette fonction dans les commandes par défaut.

La façon la plus simple est d'exécuter une commande pour trouver tous les fichiers de vos clients racine, puis essayez de les ajouter à la division dépôt. Vous obtiendrez une liste de tous les nouveaux fichiers et les fichiers existants sont ignorés.

E. g dir /s /b /A-D | p4 -x - ajouter

(utilisez 'trouver . -type f -print à partir d'un nix ligne de commande).

Si vous voulez un physique de liste (dans la console ou le fichier) puis vous pouvez transférer les résultats d'une diff (ou ajoutez-en si vous aussi vous voulez dans une liste de modifications).

Si vous êtes en cours d'exécution dans ce P4Win vous pouvez utiliser $r de remplacer le client de la racine de l'espace de travail courant.

12voto

Colonel Panic Points 18390

Est-il un analogue de l' svn status ou git status?

Oui, MAIS.

Comme de Perforce version 2012.1, il y a la commande p4 status et dans P4V 'concilier travailler hors connexion'. Cependant, ils sont à la fois très lent. Pour exclure la pertinence des fichiers, vous aurez besoin de rédiger un p4ignore.txt le fichier par http://stackoverflow.com/a/13126496/284795

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