feat(p9): commit/push avancé dans l'IDE (staging sélectif, discard, amend, fetch/pull)
- components/workspace/CommitPanel.vue : staging sélectif par fichier (stage/unstage/stage all/unstage all), discard avec confirmation (includeUntracked), zone de commit (message + amend), commit mode 'staged', push, fetch, pull --ff-only (rebase proposé en cas de divergence), gestion 409 ALREADY_PUSHED - components/workspace/FileRow.vue : ligne de fichier réutilisable (badge statut M/A/D/?/U + clic → diff + slot actions) - WorkspaceView : CommitPanel remplace ChangedFilesPanel ; @changed → reload des changements - stores/worktrees : applyWorktree (upsert depuis les mutations git → header live) - i18n EN+FR (commit.*) ; acceptance-p9.mjs (staging sélectif, amend OK/409, pull ff-only OK + divergence refusée)
This commit is contained in:
@@ -53,6 +53,11 @@ export const useWorktreesStore = defineStore('worktrees', () => {
|
||||
else removeWorktreeLocal(e.path);
|
||||
}
|
||||
|
||||
/** Applique un WorktreeSummary à jour (renvoyé par les mutations git de l'IDE) → header live. */
|
||||
function applyWorktree(wt: WorktreeSummary): void {
|
||||
upsertWorktree(wt);
|
||||
}
|
||||
|
||||
function worktreesForRepo(repoId: string): WorktreeSummary[] {
|
||||
return worktrees.value
|
||||
.filter((w) => w.repoId === repoId)
|
||||
@@ -173,6 +178,7 @@ export const useWorktreesStore = defineStore('worktrees', () => {
|
||||
loadError,
|
||||
showExternalSessions,
|
||||
worktreesForRepo,
|
||||
applyWorktree,
|
||||
fetchAll,
|
||||
addRepo,
|
||||
removeRepo,
|
||||
|
||||
Reference in New Issue
Block a user