Repository navigation
2026.21-3b.3
Les worktrees d'un dépôt peuvent désormais vivre sous l'onglet de leur dépôt, en une
rangée de sous-onglets, au lieu d'occuper chacun un onglet en fin de barre.
Base : SourceGit 2026.21, inchangée.
Chaque worktree ouvert devenait jusqu'ici un onglet à part, nommé d'après son dossier,
sans lien avec son dépôt. Avec l'option, un dépôt garde un seul onglet, et ses worktrees
forment une rangée juste en dessous, chacun nommé d'après sa branche.
L'option s'active d'un clic droit sur un onglet : « Regrouper les worktrees sous
leur dépôt ». Elle s'applique immédiatement aux onglets déjà ouverts, et la désactiver
rend un onglet à chaque worktree. Désactivée par défaut ; la barre d'onglets est alors
exactement celle de l'amont, comme elle l'est aussi pour un dépôt sans worktree lié.
Ouvrir un worktree dont le dépôt a déjà son onglet le sélectionne dans la rangée. Ouvrir
un worktree dont le dépôt n'est pas ouvert ouvre l'onglet du dépôt, ce worktree affiché.
Au redémarrage, chaque groupe revient sur le worktree qui était affiché.
Un worktree n'est ouvert qu'à la première visite de son sous-onglet : un worktree
jamais regardé ne coûte ni surveillant de fichiers ni minuterie d'auto-fetch. Fermer
l'onglet ferme tous les worktrees qu'il a ouverts. Un worktree supprimé ferme son
sous-onglet — mais seulement une fois son dossier disparu, pour qu'une liste revenue vide
d'un échec ponctuel de git ne referme pas tout.
Seul le worktree affiché ouvre des fenêtres dans l'onglet. Les autres ne font pas
d'auto-fetch : ils partagent leurs remotes avec celui qui est affiché, un fetch les sert
tous. Et on ne change pas de sous-onglet pendant qu'une opération est en cours : elle
appartient au worktree qui l'a lancée.
Le point de modification de l'onglet reflète le worktree affiché, pas l'ensemble du
groupe.
Un dépôt retrouvait son onglet en comparant l'identité de l'onglet à son propre chemin.
Un worktree logé dans l'onglet de son dépôt n'en aurait trouvé aucun — et comme toutes
les actions demandent d'abord s'il peut ouvrir une fenêtre, fetch, pull, push et commit
n'auraient simplement rien fait. C'est corrigé, et vérifié sur de vrais dépôts : un
principal, un worktree sur une branche, un en HEAD détachée, un dépôt nu, et un
--separate-git-dir, dont les worktrees ne sont pas regroupés faute de pouvoir situer sa
copie de travail.
Empreinte sur les fichiers de l'amont : un mot, une ligne pour retrouver l'onglet, trois
points d'accroche dans le lanceur, la rangée dans l'onglet, une ligne dans le menu.
Aucune ligne supprimée.
Le placement compact du graphe reste identique à l'octet près à celui de l'amont.
Un worktree n'est pas un autre dépôt : c'est le même, ouvert ailleurs — il a sa place
sous son nom, pas au bout de la barre.