功能: 获取最新改为安全模式不再覆盖本地修改,新增强制获取与获取指定版本(带确认)

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
fenghp
2026-06-10 19:48:57 +08:00
co-authored by Cursor
parent b15ad9642e
commit de2a6793f4
12 changed files with 332 additions and 26 deletions
+19 -6
View File
@@ -29,9 +29,11 @@ export type FileActionId =
| "map"
| "unmap"
| "getLatest"
| "forceGetLatest"
| "checkout"
| "delete"
| "undo"
| "add"
| "compare"
| "history"
| "viewFile"
@@ -96,6 +98,13 @@ function buildFolderMenu(target: FileTarget): FileMenuItem[][] {
enabled: target.mapped,
reason: target.mapped ? undefined : NOT_MAPPED_REASON,
},
{
id: "forceGetLatest",
label: "强制获取最新…",
enabled: target.mapped,
danger: true,
reason: target.mapped ? undefined : NOT_MAPPED_REASON,
},
{
id: "checkout",
label: "签出编辑",
@@ -175,14 +184,18 @@ function buildFileItemMenu(target: FileTarget): FileMenuItem[][] {
const workspaceActions: FileMenuItem[] = [
{
// 安全模式获取:本地改动会产生冲突而不会被覆盖,挂起状态下也允许执行。
id: "getLatest",
label: "获取最新",
enabled: target.mapped && pending == null,
reason: !target.mapped
? NOT_MAPPED_REASON
: pending != null
? "存在挂起更改,先撤销或签入"
: undefined,
enabled: target.mapped,
reason: target.mapped ? undefined : NOT_MAPPED_REASON,
},
{
id: "forceGetLatest",
label: "强制获取最新…",
enabled: target.mapped,
danger: true,
reason: target.mapped ? undefined : NOT_MAPPED_REASON,
},
{
id: "checkout",