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:
@@ -113,14 +113,15 @@ export default {
|
||||
modeMain: 'Main checkouts',
|
||||
branchLabel: 'Branch name',
|
||||
branchPlaceholder: 'feature/…',
|
||||
newBranch: 'create branch',
|
||||
baseRefLabel: 'Base ref (optional)',
|
||||
branchHint: 'Created where missing, reused where it already exists in the repo.',
|
||||
baseRefLabel: 'Base branch (optional)',
|
||||
baseRefPlaceholder: "repo's default branch",
|
||||
commandLabel: 'Session',
|
||||
reposLabel: 'Repos in this session',
|
||||
launch: 'Launch session',
|
||||
launching: 'Launching…',
|
||||
close: 'Close',
|
||||
ok: 'worktree created',
|
||||
ok: 'worktree ready',
|
||||
error: 'failed',
|
||||
skippedLabel: 'skipped',
|
||||
done: 'Group session started.',
|
||||
@@ -146,6 +147,8 @@ export default {
|
||||
creating: 'Creating…',
|
||||
branch: 'Branch',
|
||||
newBranch: 'create branch',
|
||||
baseRefLabel: 'Base branch',
|
||||
baseRefPlaceholder: 'default branch',
|
||||
start: 'Start',
|
||||
starting: 'Starting…',
|
||||
startNone: 'no session',
|
||||
@@ -161,6 +164,16 @@ export default {
|
||||
confirmDelete: 'Confirm delete',
|
||||
forceDelete: 'Force delete',
|
||||
prune: 'Prune',
|
||||
commit: 'Commit',
|
||||
commitPlaceholder: 'Commit message',
|
||||
committing: 'Committing…',
|
||||
push: 'Push',
|
||||
pushing: 'Pushing…',
|
||||
promote: 'Make main',
|
||||
promoting: 'Promoting…',
|
||||
promoteConfirm:
|
||||
'Branch “{branch}” will become the repository’s main checkout; this worktree will be removed (the previous main branch is kept). Continue?',
|
||||
forcePromote: 'Force (dirty tree)',
|
||||
main: 'main',
|
||||
detached: 'detached',
|
||||
locked: 'locked',
|
||||
@@ -176,6 +189,8 @@ export default {
|
||||
notAttachable: 'This session runs outside Arboretum — fork it to interact, or resume it once it has stopped.',
|
||||
fullscreen: 'Fullscreen',
|
||||
exitFullscreen: 'Exit fullscreen',
|
||||
maximize: 'Maximize',
|
||||
restore: 'Restore',
|
||||
},
|
||||
push: {
|
||||
enable: 'Enable notifications',
|
||||
|
||||
Reference in New Issue
Block a user