2012-01-04 4 views
1

Je travaille sur une application utilisant l'API Perforce C++, voici comment créer un nouveau client:API de création de clients de Perforce P4 C

OutputClient ui; 

char* argv[1] = {"newClient"}; 

client.SetArgv(1,argv); 
client.Run("client", &ui); 
client.Set("newClient"); 

C'est la même que l'utilisation de la commande:

p4 client newClient 

Cela crée le client (s'il n'existe pas) et définit l'espace de travail (racine du client) dans mon répertoire de projet Visual Studio.

Existe-t-il un moyen de spécifier ou de définir la racine du client via les commandes p4 ou en utilisant l'API? Et aussi quand j'utilise la commande "client", il ouvre toujours cette forme ennuyeuse, y at-il un moyen d'empêcher cela de se produire?

Répondre

0

Le help for p4 client indique que la racine du client par défaut est le répertoire de travail en cours. C'est peut-être ainsi que vous choisissez votre répertoire de projet Visual Studio. A partir de la ligne de commande, vous pouvez écrire le fichier client (y compris la racine souhaitée) dans un fichier, puis utiliser p4 client -i < clientspec.txt pour le télécharger sur le serveur. L'API C++ prend en charge la même chose sans fichier temporaire, par overriding ClientUser::InputData().

p4 client -i est particulièrement utile en combinaison avec p4 client -o clientname > clientspec.txt, car vous pouvez lire un clientpec existant, le modifier et le réécrire sur le serveur. (Bien sûr, ce n'est pas une lecture/modification/écriture atomique.)

+0

Merci! C'est exactement ce dont j'avais besoin pour changer ou éditer la racine du client! Une chose de plus, vous savez que chaque fois que la commande client est appelée, il ouvre le fichier de formulaire temporaire pour éditer la spécification client, savez-vous comment puis-je désactiver ou arrêter ce comportement? – Chrono

+0

L'option '-i' devrait empêcher' p4 client' d'ouvrir un éditeur, et il donne à votre programme un contrôle complet sur le clientpec. Mais si vous ne voulez pas utiliser '-i', mettre la variable d'environnement' P4EDITOR' sur une commande de votre choix peut probablement faire ce que vous voulez. – bk1e

+0

Vous avez raison l'option -i empêche la commande d'ouvrir l'éditeur, si j'ai d'abord défini la variable P4CLIENT sur le nom de client que j'ai défini dans le fichier clientspec.txt. Merci! – Chrono

Questions connexes