Question

Je dois faire régulièrement une synchronisation Perforce propre vers le nouveau matériel / machines virtuelles sur le VPN. Cela peut prendre des heures que le projet est assez grand. Est-il possible que je peux simplement copier un arbre mis à jour à partir d'un client existant et dire Perforce utiliser cet arbre?

Était-ce utile?

La solution

Le Perforce Proxy est la bonne façon d'aller, mais si vous vraiment vouloir, il y a un moyen de faire ce que vous avez demandé via la commande sync, avec le commutateur -k:

  

Le -K court-circuite le fichier client   mise à jour. Il peut être utilisé pour faire la   serveur croire qu'un espace de travail client   a déjà le fichier. En général, cette   drapeau est utilisé pour corriger la Perforce   serveur quand il se trompe sur ce   les fichiers sont sur le client, l'utilisation de cette   l'option peut confondre le serveur si vous   sont erronées sur le contenu du client.

p4 sync -k //depot/someProject/...

Vous pouvez également utiliser flush, qui est synonyme de sync -k:

p4 flush //depot/someProject/...

Il suffit de faire attention. Rappelez-vous ces derniers mots, « ... l'utilisation de cette option peut confondre le serveur si vous avez tort sur le contenu du client. »

Autres conseils

Proxy Perforce est presque certainement le chemin à parcourir, vous pouvez assumer dédier une machine locale à cet effet.

Une astuce utile pour un Proxy est de l'obtenir pour rafraîchir son contenu du jour au lendemain, tout en créant un client fictif (peut-être sur la machine proxy), et le coup d'envoi d'une tâche en soirée pour faire une synchronisation - une synchronisation normale va faire, n'a pas besoin d'être un propre. Cela permettra d'assurer les grands changements que les gens ont vérifié dans causera pas nécessairement un décalage massif la première fois que vous devez faire une synchronisation locale.

Notez que vous avez besoin d'une connexion VPN en direct entre le proxy et le serveur - le proxy doit encore parler au serveur pour déterminer si elle a les bonnes versions mises en cache. Ainsi, le proxy a besoin d'un lien de latence assez faible au serveur, mais au moins vous ne devez pas attendre pour le transfert de fichier réel.

Une autre alternative que vous pouvez essayer est d'utiliser l'option compresse les spécifications de votre client (espaces de travail). Cela indique au serveur de compresser chaque fichier avant qu'il ne soit envoyé, et votre client p4 décompresse automatiquement. Le compromis est temps CPU ici sur le serveur et le client. Cependant, étant donné que vous souhaitez synchroniser plusieurs clients locaux, je pense que proxy sera finalement la meilleure solution.

Non, mais vous ne devriez pas avoir à: Pourquoi est-ce que vous devez faire une synchronisation de Perforce propre? Quel est le problème avec une synchronisation normale? Si vous devez nettoyer l'arbre, alors pourquoi ne pas travailler sur une copie de l'arbre?

Une alternative pourrait consister à exécuter un p4proxy sur votre fin de la connexion VPN, puis les fichiers non modifiés ne doivent être transférés sur le VPN.

Si vous avez besoin seulement une exportation - qui vous n'avez pas besoin de le garder à jour ou soumettre les modifications de celui-ci, vous pouvez simplement copier une caisse existante, et ne jamais utiliser Perforce contre cet arbre. Mais je ne sais pas de toute façon de serveur Perforce convaincant que vous avez une caisse sans p4 vérifier réellement les fichiers.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top