Files
agent-aide/.aide/diagrams/git-branch-finish-logic.puml

77 lines
1.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@startuml git-branch-finish-logic
!theme plain
title 程序逻辑流图aide flow finish 安全合并
start
:FlowTracker.next_part("finish", summary);
partition "分支合并准备" {
:从 FlowStatus 获取分支信息;
note right
- source_branch
- start_commit
- task_branch (当前分支)
end note
:记录 end_commit = rev_parse_head();
}
partition "检测源分支变更" {
:GitIntegration.has_commits_since(start_commit, source_branch);
if (源分支有新提交?) then (是)
partition "创建临时分支处理" {
:从 start_commit 检出临时分支;
:temp_branch = task_branch + "-merge";
:git checkout -b temp_branch start_commit;
:在临时分支执行 squash 合并;
:git merge --squash task_branch;
:git commit -m "任务压缩提交";
:BranchManager.record_branch_finish();
note right
status: "merged-to-temp"
temp_branch: temp_branch
end note
:输出警告;
note right
"⚠ 源分支有新提交"
"已在临时分支完成合并"
"请手动处理后续操作"
end note
}
else (否)
partition "正常合并流程" {
:切回源分支;
:git checkout source_branch;
:软重置到起始提交;
:git reset --soft start_commit;
:创建压缩提交;
:git add .;
:git commit -m "[aide] 任务: {summary}";
:BranchManager.record_branch_finish();
note right
status: "finished"
end_commit: 新提交哈希
end note
}
endif
}
partition "更新分支概况" {
:BranchManager.save_branches();
note right: 同时生成 JSON 和 MD
}
:继续原有 finish 逻辑;
stop
@enduml