Commande Branch (Team Foundation Version Control)

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

La commande TFVC branch copie un élément ou un ensemble d’éléments, y compris les métadonnées et l’historique de la gestion de version, d’un emplacement à un autre dans le serveur Azure DevOps et dans l’espace de travail local.

Notes

Les résultats de cette commande ne sont pas reflétés dans le serveur Azure DevOps tant que vous n’avez pas effectué une opération d’archivage. Pour plus d’informations, consultez Archiver votre travail sur la base de code de l’équipe.

Prérequis

Pour utiliser la commande branch, vous devez disposer de l’autorisation Lecture pour l’élément source, ainsi que des autorisations Extraire et Fusionner pour le dossier cible défini sur Autoriser. Pour plus d’informations, consultez Autorisations TFVC par défaut.

Syntaxe

tf branch olditem newitem [/version:versionspec] [/noget] [/lock:(none|checkin|checkout)] [/noprompt] [/silent] [/checkin] [/comment:("comment"|@commentfile)] [/author:authorname] [/login:username, [password]] [/recursive]

Paramètres

Argument

Argument Description
<olditem> Spécifie le nom du fichier source ou du dossier en cours de branchement. Le <olditem> peut également contenir des informations de version au format item;version.
<newitem> Spécifie le nom du fichier ou dossier de destination ou du dossier parent de la destination. Si <*newitem> existe déjà et qu’il s’agit d’un dossier Azure DevOps Server, TFVC crée les éléments branchés dans celui-ci. Sinon, <newitem> spécifie le nom du fichier ou dossier de destination. Les conflits peuvent se produire lors de l’archivage si la destination existe déjà.
<versionspec> Fournit une valeur pour l’option /version. Pour plus d’informations sur la façon dont TFVC analyse les spécifications d’une version pour déterminer quels éléments se trouvent dans l’étendue, consultez Utiliser les commandes de Team Foundation Version Control.
<comment> Fournit un commentaire sur la branche.
@<commentfile> Spécifie le chemin d’accès d’un fichier qui contient le commentaire utilisé pour la branche.
<authorname> La valeur fournie par l’utilisateur pour l’option /author.
<username> Fournit une valeur à l’option /login. Vous pouvez spécifier une valeur de nom d’utilisateur en tant que DOMAIN\username ou <username>.

Option

Option

Description

/version

La version de l’élément à laquelle vous voulez créer la branche. Vous pouvez spécifier une version par :

  • Date/heure (D10/20/2005)
  • Numéro de l'ensemble de modifications (C1256)
  • Étiquette (Lmylabel)
  • Dernière version (T)
  • Espace de travail (Wworkspacename)

Si aucune version n’est fournie, TFVC utilise la logique suivante pour déterminer la version de l’élément à copier dans la nouvelle branche :

  • Si un chemin d’accès Azure DevOps Server est spécifié, TFVC branche l’élément à la dernière version d’Azure DevOps Server. Par exemple, tf branch $/projects/help.cs utilise la version du serveur.
  • Si un chemin d’accès local est spécifié pour la source, TFVC utilise la version locale de l’espace de travail pour créer la nouvelle branche. Par exemple, tf branch C:\314.cs utilise la version locale de l’espace de travail.

Si vous créez une branche pour un fichier dont la version de l’espace de travail est antérieure à la dernière version du serveur Azure DevOps, le fichier est branché à l’ancienne version.

/lock

Empêche d’autres utilisateurs d’archiver ou d’extraire des éléments jusqu’à ce que vous ayez archivé votre branche en attente et les modifications associées. Pour plus d'informations, consultez Comprendre les types de verrouillage.

Options de verrouillage :

  • none
    Par défaut. Aucun verrou n’est appliqué. Si un verrou existe sur le fichier pour lequel vous créez une branche, cette option la supprime.
  • checkin
    D’autres utilisateurs peuvent extraire les éléments spécifiés, mais ils ne peuvent pas archiver les révisions des fichiers verrouillés tant que vous n’avez pas libéré le verrou en effectuant un archivage. Si d'autres utilisateurs ont verrouillé des éléments spécifiés quelconques, l'opération de verrouillage échoue.
  • checkout
    Empêche d’autres utilisateurs d’archiver ou d’extraire l’un des éléments spécifiés jusqu’à ce que vous libériez le verrou en effectuant un archivage. Si d'autres utilisateurs ont verrouillé des éléments spécifiés quelconques, l'opération de verrouillage échoue.

/noget

Si cette option est spécifiée, les copies locales des fichiers et dossiers de la nouvelle branche ne sont pas créées dans l’espace de travail local. Toutefois, les copies locales seront récupérées dans l’espace de travail la prochaine fois que vous effectuerez une opération Get récursive.

Notes

Vous pouvez empêcher que des éléments, tels que le contenu d’un dossier /images, soient récupérés dans votre espace de travail lors d’opérations récursives Get et la dernière opération Get, en masquant un dossier de l’espace de travail. Pour plus d’informations, consultez Commande Workfold.

/noprompt

Supprime toutes les invites d’entrée de votre part.

/silent

Implique /noget et spécifie que la sortie n’est pas écrite dans la fenêtre d’invite de commandes lorsque vous créez une branche.

/checkin

Crée et archive la branche sur le serveur en une seule opération. Cette option ne crée aucune modification en attente dans l’espace de travail local.

/comment

Ajoute un commentaire à la nouvelle branche. Cette option est utilisée uniquement avec l’option /checkin.

/author

Identifie l’auteur de la nouvelle branche. Cette option est utilisée uniquement avec l’option /checkin.

/recursive

Pour les dossiers, créez une branche pour tous les fichiers à l’intérieur.

Notes

Si vous spécifiez un chemin d’accès local tel que c:\00101 mais que vous ne spécifiez pas de <versionspec>, TFVC utilise la version de l’espace de travail local comme base pour créer la nouvelle branche.

Toutefois, si vous spécifiez un chemin d’accès serveur tel que $/00101/*.cs et que vous ne spécifiez pas de <versionspec>, TFVC utilise la dernière version Azure DevOps Server comme base pour créer la nouvelle branche à la place.

Pour plus d’informations sur l’utilisation de l’utilitaire de ligne de commande tf, consultez Utiliser les commandes de contrôle de version Team Foundation.

Exemples

Les exemples suivants supposent que c:\projects est mappé au dossier principal de l’espace de travail.

L’exemple suivant crée un fichier de branche qui contient la dernière version de l’espace de travail 314.cs, le nomme 314_branch et l’enregistre dans le répertoire actif sur le disque, ainsi que dans le dossier Azure DevOps Server auquel il est mappé.

c:\projects>tf branch 314.cs 314_branch

L’exemple suivant copie tous les fichiers sans modifications en attente dans la version de l’espace de travail de 314.cs de son dossier Azure DevOps Server actuel dans le dossier testdata Azure DevOps Server et du répertoire actif sur le disque vers le dossier de travail qui correspond au Azure DevOps Server testdata Azure DevOps Server.

c:\projects>tf branch C:\314.cs $/testdata

L’exemple suivant copie tous les fichiers sans modification en attente dans la version actuelle de l’espace de travail du dossier testfiles et les fichiers qu’il contient pour tous les éléments de son dossier Azure DevOps Server actuel dans le dossier testfiles_branch Azure DevOps Server et à partir de c:\testfiles dans le dossier local mappé au dossier testfiles_branch Azure DevOps Server.

c:\projects>tf branch C:\testfiles $/testfiles_branch

L’exemple suivant crée une branche de 314.cs telle qu’elle existait dans l’ensemble de modifications #4 pour le fichier. Dans le dossier de travail sur le disque, comme dans le serveur Azure DevOps, un fichier de branche intitulé csharp_branch est créé.

c:\projects>tf branch C:\314.cs;C4 csharp_branch

L’exemple suivant crée une nouvelle branche de 314.cs telle qu’elle était le 12/12/03. Dans le dossier de travail sur le disque comme dans le serveur Azure DevOps, un fichier de branche intitulé 314\branch est créé.

c:\projects>tf branch 314.cs;D12/12/03 314_branch

L’exemple suivant crée une branche de la version de 314.cs à laquelle l’étiquette de Beta1 a été appliquée, la nomme Beta1branchet l’enregistre dans le répertoire actif sur le disque en plus du dossier Azure DevOps Server auquel le répertoire actif est mappé.

c:\projects>tf branch 314.cs;LBeta1 314_Beta1branch