Est-il possible de créer un patch à l'aide d'un ensemble de la liste des modifications?
Problème: 2 projets partagés tronc ont été mise à jour certains des mêmes fichiers. Maintenant, un projet doit être publié, donc une nouvelle branche a été créée à partir d'un point de contrôle avant de le démarrer les projets.
J'ai une liste de ma liste des numéros à partir de la canalisation principale. L'aide que je peux générer une liste des fichiers modifiés, et la diff de sortie à l'aide d'un script avec une série de " p4 décrire #' commandes.
Puis-je reformater que la production et l'appliquer à la nouvelle succursale en quelque sorte?
OriginalL'auteur webXL | 2010-04-21
Vous devez vous connecter pour publier un commentaire.
Réponse au titre: "Est-il possible de créer un patch à l'aide d'un ensemble de la liste des modifications?"
Oui.
Vous pouvez ensuite utiliser /tmp/cln.patch en tant qu'entrée pour le patch utilitaire. Ici, " cln " est soumis au changement numéro de la liste que vous souhaitez créer un patch pour.
p4 diff2
aura pas de sortie de diff pour ajouté ou supprimé des fichiers, de sorte que ceux qui auraient besoin d'une manipulation spéciale pour obtenirpatch
pour les ajouter ou les supprimer.OriginalL'auteur Chaitanya
Je viens de passer deux heures de la difficulté avec cela. L'utilisation de cygwin
patch
, j'ai eu de munge les chemins jusqu'à ce qu'ils ont été reconnues.En fin de compte, l'incantation magique ressemblait à ça (cassé à travers les lignes):
Qui est:
p4 diff2
pour obtenir un diff unifié (-u
) de la partie du dépôt entre les deux révisions que je me soucie. La deuxième liste est une avant le premier que je veux, sinon il n'est pas inclus dans le diff.sed
pour changer le//depot/
àE:/Source/
, qui est l'endroit où mon espace de vie.patch
.Cygwin
patch
est assez intelligent pour extraire les fichiers de Perforce, mais je ne suis pas sûr de la façon de l'obtenir pour le faire en silence. Il invite avecGet file 'e:\Source\foo\whatever' from Perforce with lock?
.C'est avec
p4
version 2010.1, relativement récent, de l'installation de Cygwin, en cours d'exécution sur PowerShell.Oh, et après cela,
patch
écrit de style Unix, les fins de ligne, j'ai donc utiliséu2d
pour résoudre ceux-ci.p4 diff2
.OriginalL'auteur Roger Lipscombe
Perforce vous permettra de piocher dans la liste des modifications pour l'intégration, qui peut être plus facile que d'essayer de générer et d'appliquer un patch. Perforce sera de garder trace de ce que les révisions que vous avez intégré où, ce qui peut rendre les futures intégrations plus facile.
Supposons que vous avez utilisé pour avoir un tronc:
Et vous vérifié dans tous vos changements. Vous ramifiée tronc à un certain point dans le passé:
Et vous avez une liste de la liste des modifications sur le tronc de fusionner. À partir d'un client spec que les cartes rel, intégrer chaque liste de modifications:
où
1234
est la liste nombre de. Résoudre après chaque intégration. Vous pouvez également créer, de tester et de valider vos intégrations à différents points de contrôle lors de votre intégration, si vous pouvez identifier les bons points de le faire. (Perforce peut gérer de multiples intégrations par commettre, mais si vous faites une erreur, vous aurez besoin de revenir à la dernière version d'archivage et de refaire l'intermédiaire d'intégrations et les résout.)Perforce fait de vous résoudre à chaque fois que vous intégrez dans le cas où vous avez besoin de l'adresse, à la main, tous les conflits. Dans votre cas, vous devez obtenir les conflits, si votre nouvelle liste de modifications modifié le code ajouté dans une précédente liste de modifications.
OriginalL'auteur Commodore Jaeger