À l'aide de Perforce Server 2012.2/538478 , comment puis-je décompresser des fichiers du tronc vers une autre branche?
En essayant de le faire, je reçois:
//filename... (not mapped to your workspace view)
Dans Perforce 2013, j'ai trouvé cette commande unshelve vraiment utile:
p4 unshelve -s <changlist#-with-shelved-files> -S //depot/streamname
Mais avec la version que j'utilise actuellement, j'ai trouvé rien pour m'aider à résoudre ce problème.
Aucune suggestion?
Malheureusement, sans mise à niveau vers 2013.1 et pour obtenir l'opération unshelve améliorée, vous devrez copier manuellement les données en:
p4 edit
les fichiers de votre autre flux/branchep4 copy
ou p4 integrate
car ils ne sont pas validés sur le troncVous regardez la bonne commande, mais peut-être pas les bons paramètres. Voici comment je l'utilise:
p4 unshelve -s 77655 -b MY_BRANCH_SPEC
qui ouvre la liste des modifications 77655, en utilisant la spécification de branche spécifiée pour mapper les fichiers sur la nouvelle branche.
De manière critique, vous devez vous assurer que le mappage de branche spécifié et le mappage de votre espace de travail actuel contiennent à la fois les fichiers source et cible, sinon vous obtiendrez l'erreur "fichier non mappé".
Les autres réponses n'ont pas fonctionné pour moi, voici ce que j'ai fait avec forforce 2014:
Remplacez les mappages sous View pour être par exemple
//depot/product/B1/... //depot/product/B2/...
Dans la ligne de commande, exécutez
p4 unshelve -s <SOURCE_CL> -c <TARGET_CL> -b B1_to_B2
Après avoir passé quelque temps à chercher et à lire, je ne suis pas tombé sur un exemple concret pour débloquer une liste de modifications stockée dans une autre branche. Enfin, j'ai mis en place un exemple concret.
Assuming you have a shelved changelist 324426 in Branch B1 and want to unshelve it to Branch B2.
J'ai pu créer une spécification de branche, puis décompresser une liste de modifications dans une autre branche. Voici ce que j'ai fait:
1. Create a text file named branchSpec.txt, with the content below: set you own Branch name and View.
Branch: B1_to_B2
View:
//depot/dev/main/B1/... //depot/release/B2/...
2. p4 branch -i < branchSpec.txt
3. p4 unshelve -s 324426 -b B1_to_B2
Viola, les fichiers mis en attente dans la liste des modifications 324426 dans B1 ne sont plus archivés en B2 et prêts à être soumis.
Vous pouvez utiliser P4 unshelve pour cela, mais vous devez créer un mappage de branche, à savoir A_to_B.
1] p4 unshelve -s CL_NUM -b A_to_B
2] p4 add (files opened for add)
3] p4 resolve
Remarque: n'oubliez pas l'étape 2. P4 ne les ouvrez pas par défaut dans votre branche de destination. Vous pouvez confirmer cela avec "p4 opened"
Une façon de contourner cela est dans P4 2012:
Cela vous permettra de sélectionner les fichiers nouveaux et modifiés et de les ajouter à l'ensemble de modifications.
Je pense que ce dont vous avez vraiment besoin est "p4 move -f". C'est expliqué en détail ici: p4 move -f: A quoi ça sert