Ajouter des dépôts à un espace de travail
Ce guide vous montre comment enregistrer un checkout Git dans un espace de travail, le réindexer, puis le retirer.
Les dépôts sont limités à l’espace de travail. Il n’existe aucun registre global ni aucune étape de liaison : ajouter un dépôt et le placer dans un espace de travail sont un seul et même acte. Le même checkout enregistré dans deux espaces de travail devient deux lignes indépendantes dotées de deux identifiants différents — d’un espace de travail à l’autre, l’identité d’un dépôt est son chemin dans le système de fichiers, jamais son identifiant.
Avant de commencer
Section intitulée “Avant de commencer”Un dossier ne peut être enregistré que si les trois conditions suivantes sont réunies :
- Il se trouve à l’intérieur d’un arbre de travail git.
- Cet arbre de travail possède un dépôt distant
origin. - Le dépôt distant
originpointe vers un hébergeur de code pris en charge : github.com, gitlab.com ou bitbucket.org.
Tout le reste est refusé au moment de l’enregistrement avec un message explicite : « Folder is not inside a git work tree. », « No origin remote configured for this repository. » ou « The origin remote is not hosted on a supported forge (github.com, gitlab.com, bitbucket.org). ». Il n’existe aucun mode limité au local.
L’hébergeur de code est déterminé à partir du dépôt distant et stocké sur le dépôt — vous ne le choisissez jamais. Un espace de travail peut contenir des dépôts des trois à la fois, et chacun est contacté par l’entremise de sa propre API, avec son propre identifiant. Les espaces de noms imbriqués de GitLab sont conservés, de sorte que gitlab.com/group/subgroup/project est enregistré avec le propriétaire group/subgroup et le nom project.
Le dossier doit aussi se trouver sur la machine qui héberge cc_server, à l’intérieur de l’un des répertoires --repo-roots de ce serveur. Cette liste d’autorisation correspond par défaut au répertoire personnel de l’utilisateur du serveur, et la navigation au-dessus d’une racine est refusée.
Enregistrer un checkout
Section intitulée “Enregistrer un checkout”- Ouvrez Paramètres → Espace de travail → Dépôts (
/workspaces/<id>/settings/workspace/repositories). - Cliquez sur Ajouter un dépôt.
La boîte de dialogue est un navigateur parcourable dans le système de fichiers du serveur, et non le vôtre. Le déroulement est identique sur ordinateur, sur le Web et sur téléphone, car un sélecteur de dossiers natif choisirait un dossier de la mauvaise machine.
- Naviguez dans les racines configurées du serveur. Les dossiers qui sont des checkouts git sont signalés.
- Cochez-en autant que vous voulez. La sélection est conservée pendant que vous naviguez, de sorte que vous pouvez rassembler des checkouts de plusieurs dossiers.
- Enregistrez-les en un seul lot.
Une sélection échouée n’écarte jamais le reste du lot — vous obtenez les identifiants créés ainsi qu’une erreur par chemin pour chacun de ceux qui ont été refusés. Réenregistrer un chemin déjà présent dans cet espace de travail renvoie le dépôt existant plutôt que de créer un doublon.
Chaque dépôt enregistré apparaît dans la liste avec son owner/name, un badge nommant son hébergeur de code et son chemin sur le serveur. Les dépôts GitHub affichent aussi l’avatar du propriétaire ; les autres hébergeurs n’ont aucune URL d’avatar de propriétaire facile à deviner, de sorte qu’ils se rabattent sur les initiales.
Le badge d’hébergeur compte dans un espace de travail mixte : deux dépôts peuvent tous deux s’appeler acme/web sur des hébergeurs différents, et ils se comportent différemment — ce qu’une révision peut faire et où mène un lien.
Ce qui se passe ensuite
Section intitulée “Ce qui se passe ensuite”L’enregistrement déclenche un événement RepoAdded limité à cet espace de travail, qui lance le pipeline index_code pour ce checkout. C’est ce qui alimente le graphe de code, afin que la recherche et l’analyse d’impact aient de quoi répondre.
Seuls les fichiers dont le langage dispose d’une grammaire livrée sont indexés (Dart, JavaScript, TypeScript, TSX, PHP, Python, Rust, Zig, C, C++, Go, Java, Ruby, C#, Swift, Kotlin, R, Assembly, MATLAB et Ada). Voir Rechercher du code avec le graphe de code.
Réindexer un dépôt
Section intitulée “Réindexer un dépôt”Chaque ligne porte un bouton Indexer le code. Cliquez dessus pour relancer l’indexeur pour ce checkout ; pendant l’exécution, le bouton devient un indicateur de progression montrant les fichiers traités sur le total, avec une commande d’annulation. Quand l’exécution se termine, il se stabilise en une coche accompagnée du nombre de symboles, ou en un avertissement si l’exécution a échoué.
Réorganiser les dépôts
Section intitulée “Réorganiser les dépôts”Faites glisser la poignée d’une ligne. L’ordre que vous définissez est celui que renvoie chaque liste de dépôts de l’application.
Corriger le lien GitHub
Section intitulée “Corriger le lien GitHub”L’icône de lien sur une ligne ouvre un éditeur pour le propriétaire GitHub et le nom du dépôt — utile lorsque le dépôt distant a été renommé ou transféré.
Retirer un dépôt
Section intitulée “Retirer un dépôt”- Ouvrez Paramètres → Espace de travail → Dépôts.
- Cliquez sur l’icône de corbeille de la ligne.
- Confirmez « Retirer le dépôt de l’espace de travail ? »
La boîte de dialogue dit ce qu’elle fait : « name sera retiré de cet espace de travail. Les fichiers locaux sur le disque ne sont pas modifiés. »
Le retrait supprime la ligne du dépôt de cet espace de travail et supprime en cascade ses lignes du graphe de code — symboles, arêtes, fichiers et points de contrôle d’indexation —, ainsi que chaque autorisation de dépôt par membre le concernant, ses liens entre espaces et dépôts et ses enregistrements de checkout isolé. Le même checkout enregistré dans un autre espace de travail constitue une ligne indépendante et n’est pas touché. Les arbres de travail sur disque vers lesquels ces enregistrements pointaient ne sont pas démantelés par la suppression.
Guides connexes
Section intitulée “Guides connexes”- Rechercher du code avec le graphe de code
- Exécuter des agents en parallèle
- Configurer l’intégration GitHub
- Votre premier espace de travail