8
votes

Pouvez-vous mapper un fichier ou un répertoire plusieurs fois dans Perforce?

J'aimerais savoir si je peux mapper un fichier ou un répertoire sur plusieurs copies locales avec perforce.

Je sais que le P4V me permet de le faire, mais j'ai rencontré un comportement très étrange du client et je soupçonne que cela ne fonctionne pas.

Je ne prévois pas de modifier ces fichiers, j'ai besoin de cela afin de recréer la même structure de répertoire nécessaire pour construire mon propre arborescence source (je ne veux pas créer une énorme succursale si je sais que je n'ai à modifier que Peu de fichiers et aussi je ne veux pas créer d'espaces de travail supplémentaires, car la commutation d'eux prend trop de temps).


1 commentaires

Pouvez-vous ajouter un extrait de votre client-spec et décrivez ce que vous avez vu «comportement étrange»?


5 Réponses :


4
votes

(désolé - il suffit de voir que vous ne voulez pas changer d'espaces de travail ... Pouvez-vous préciser pourquoi vous pensez que cela prend trop de temps? Vous pouvez, en P4V, configurez des "connexions préférées" dans le menu Connections qui fait Changer d'un clic Si vous n'avez pas l'intention de modifier les fichiers, on dirait que le moyen le plus simple d'y aller. Créez simplement un nouvel espace de travail, puis appliquez les modifications dont vous avez besoin à l'intérieur de la cartographie de l'espace de travail. Un exemple: xxx

qui mettra les dossiers SRC et DOC dans un src_from_depot et doc_from_depot dossier dans notre racine de l'espace de travail. . Je voudrais juste mettre la racine de l'espace de travail quelque part différent de celle que vous travaillez normalement - vous aurez une copie isolée à partir de laquelle vous travaillez normalement avec une structure de répertoires qui a changé pour répondre à vos besoins.


0 commentaires

5
votes

Vous n'êtes pas autorisé à le faire car cela conduit à de mauvaises choses. Vous ne pouvez que mapper un fichier de dépôt sur un emplacement local et Vise Versa. Vous pouvez mapper deux dossiers de dépôt différents dans le même dossier local, mais vous devez le faire de manière à ce que les fichiers du dossier local n'auront qu'un emplacement de dépôt (bien, il ignorera les mappages précoces que le conflit). < / p>

Les branches ne peuvent pas être "grandes" car Perforce fera des copies de l'ombre jusqu'à ce que vous apportiez des modifications. En général, vous devriez brancher l'arbre entier. Ensuite, vous pouvez avoir un espace de travail par branche (préférable) ou un espace de travail qui correspond à tout (toujours faisable).


3 commentaires

L'équipe Perforce n'a probablement pas sérieusement considéré comme d'énormes référentiels avec> 500.000 fichiers et> 30 Go.


Ils ont considéré cela. Et il y a plusieurs problèmes que vous rencontreriez. Si un fichier de dépôt est dans deux endroits locaux différents et que vous synchronisez l'un d'entre eux, Perforce pense maintenant qu'ils sont tous deux synchronisés. Si vous ajoutez un fichier et que le mappage du client affiche deux emplacements de dépôt possibles, où la perforce doit-elle mettre le fichier?


Il semble que les perforances ne soient pas aussi habituées au concept de lien symbolique et de hardlink;)



2
votes

On dirait que le vrai problème peut être le temps nécessaire pour commuter les espaces de travail. Si cela était rapide, vous pouvez maintenir des espaces de travail distincts par branche.

Dans la prochaine version, il sera plus facile de faire une commutation de branche sur place. En d'autres termes, vous pouvez gérer un espace de travail et le changer de succursale à la succursale pendant que vous travaillez. La commande p4 Sync ajoute une nouvelle option pour mettre à jour uniquement les fichiers de l'espace de travail qui diffèrent réellement. Donc, même si vos branches sont énormes (> 500K fichiers,> 30 Go de données), si seulement 10 fichiers diffèrent entre deux branches, déplacer votre espace de travail d'une branche à l'autre ne mettra que mettre à jour ces 10 fichiers. Cela devrait être un économiseur de grande époque.

Je ne suis pas sûr que cela vous aiderait ou non, mais je pensais que cela valait la peine de mentionner.


0 commentaires

1
votes

J'ai également rencontré ce problème. J'ai des fichiers / répertoires communs à plusieurs branches. Les fichiers / annuaires communs doivent être présents dans une certaine structure de chaque branche pour la compilation.

La solution qui a fonctionné pour moi était de placer les fichiers / répertoires communs dans un endroit distinct des succursales. Cela maintient la condition de cartographie Perforce 1: 1.

Ensuite, associez symboliquement le fichier / répertoires communs à chaque branche à des fins de compilation.


0 commentaires

1
votes

Preforce le supporte maintenant.

Carte Un chemin de dépôt unique sur plusieurs emplacements dans un espace de travail.

https://www.perforce.com/perforce/doc.current/ Manuels / P4Guide / Contenu / P4Guide / Configuration.workspace_View.one-to-BELT.HTML? TOCPATH = CONFIGURE% 20Clients% 7CConfigure% 20Workspace% 20Vues% 7c _____ 8

Pour activer le -Le fonctionnalité de mappage de la manière, Prepend & à la ligne de mappage pour chaque emplacement client supplémentaire que vous souhaitez mapper pour mapper pour:

vue: xxx

lorsque vous synchronisez le Client, le fichier de dépôt plante dans les trois emplacements.

important Toutes les lignes de mappage achète avec et sont en lecture seule, donc dans l'exemple ci-dessus // bruno_ws / documentation et // bruno_ws / support sont en lecture seule.


2 commentaires

Si perforce encore dans les affaires? Personne ne leur a dit de fermer les lumières?


Ceci est un Réponse de liaison uniquement . Vous devez élargir votre réponse pour inclure autant d'informations ici et utiliser le lien uniquement pour référence.