feat(worktrees): création intelligente (auto) + commit/push/promotion + grille agrandissable
- addWorktree résout la branche par dépôt (branchExists) : checkout si présente, suivi de origin/<b> si seulement remote, sinon création (-b) depuis la branche par défaut. Corrige le 'fatal: invalid reference' sur les groupes hétérogènes ; newBranch -> mode (déprécié, mappé en route).
- Nouvelles opérations git : commit (add -A), push (upstream auto), promotion « en principal » (la branche du worktree devient le checkout principal, sans merge ni conflit, ancienne branche conservée). Routes /worktrees/{commit,push,promote} auditées + GET /repos/:id/branches.
- Web : actions Commit/Push/Promouvoir sur WorktreeCard, sélecteur de branche de base (datalist) dans RepoSection et GroupSessionModal, agrandissement d'un terminal au choix dans TerminalGrid.
- Court-circuite la session de groupe quand aucun worktree n'a pu être créé (fini le masquage par « no resolvable worktree »).
- Tests : git.ts (branchExists/listBranches/commitAll/auto), worktree-manager (commit/promote/branches) ; acceptance P5 étend le scénario worktree de groupe sur branche neuve + commit + promotion.
This commit is contained in:
@@ -115,14 +115,15 @@ const fr: typeof en = {
|
||||
modeMain: 'Checkouts principaux',
|
||||
branchLabel: 'Nom de branche',
|
||||
branchPlaceholder: 'feature/…',
|
||||
newBranch: 'créer la branche',
|
||||
baseRefLabel: 'Réf. de base (optionnel)',
|
||||
branchHint: 'Créée si absente, réutilisée si déjà présente dans le dépôt.',
|
||||
baseRefLabel: 'Branche de base (optionnel)',
|
||||
baseRefPlaceholder: 'branche par défaut du dépôt',
|
||||
commandLabel: 'Session',
|
||||
reposLabel: 'Dépôts de la session',
|
||||
launch: 'Lancer la session',
|
||||
launching: 'Lancement…',
|
||||
close: 'Fermer',
|
||||
ok: 'worktree créé',
|
||||
ok: 'worktree prêt',
|
||||
error: 'échec',
|
||||
skippedLabel: 'ignoré',
|
||||
done: 'Session de groupe démarrée.',
|
||||
@@ -148,6 +149,8 @@ const fr: typeof en = {
|
||||
creating: 'Création…',
|
||||
branch: 'Branche',
|
||||
newBranch: 'créer la branche',
|
||||
baseRefLabel: 'Branche de base',
|
||||
baseRefPlaceholder: 'branche par défaut',
|
||||
start: 'Démarrer',
|
||||
starting: 'Démarrage…',
|
||||
startNone: 'aucune session',
|
||||
@@ -163,6 +166,16 @@ const fr: typeof en = {
|
||||
confirmDelete: 'Confirmer',
|
||||
forceDelete: 'Forcer la suppression',
|
||||
prune: 'Élaguer',
|
||||
commit: 'Commit',
|
||||
commitPlaceholder: 'Message de commit',
|
||||
committing: 'Commit…',
|
||||
push: 'Push',
|
||||
pushing: 'Push…',
|
||||
promote: 'Passer en principal',
|
||||
promoting: 'Promotion…',
|
||||
promoteConfirm:
|
||||
'La branche « {branch} » deviendra le checkout principal du dépôt ; ce worktree sera supprimé (l’ancienne branche principale est conservée). Continuer ?',
|
||||
forcePromote: 'Forcer (arbre modifié)',
|
||||
main: 'principal',
|
||||
detached: 'détaché',
|
||||
locked: 'verrouillé',
|
||||
@@ -179,6 +192,8 @@ const fr: typeof en = {
|
||||
'Cette session tourne hors d’Arboretum — dupliquez-la pour interagir, ou reprenez-la une fois arrêtée.',
|
||||
fullscreen: 'Plein écran',
|
||||
exitFullscreen: 'Quitter le plein écran',
|
||||
maximize: 'Agrandir',
|
||||
restore: 'Réduire',
|
||||
},
|
||||
push: {
|
||||
enable: 'Activer les notifications',
|
||||
|
||||
Reference in New Issue
Block a user