DVC Local Command Specification


一、目標说明

本文件詳細定義 dvc local 命令集合之行為與使用規格,目的是提供一套標準方式讓工程師於 DVC Local 區域進行設計数据的本地版控與管理。此機制主要支援非正式的阶段性儲存,供開發測試、整合等用途,不與 SVN 倉儲衝突,亦非正式簽核版本。


二、適用場景與角色

使用者角色:

  • Engineer:設計数据阶段性產出、整理、版本管理。
  • CAD/System:流程維護與整合。
  • PM:透過 dvc commands(非本規格範疇)負責提交 milestone 版本至 SVN 倉儲。

使用場景:

流程區段位置操作者功能
A段/projects/<proj_code>/DVC/工程師使用 dvc local 管理本地数据
B段DVC SVN 倉儲PM使用 dvc 提交正式版本

三、命令總覽與規格

3.1 dvc local create

項目说明
功能建立四層数据目录:<PHASE>/<BLOCK>/<STAGE>/<VERSION>
格式dvc local create <phase>/<block>/<stage>/<version>
执行条件須已建立 DVC 基底目录
示例dvc local create relA/designA/000-DATA/20250618_init

3.2 dvc local put

項目说明
功能將文件或目录複製、命名、建立符號連結,放置於指定的本地版本数据夾中
格式dvc local put <ver_path> <src[:dst]> [--link]
功能類型簡單複製、重命名、建立連結、存入子目录、多層目录、整個目录
示例dvc local put relA/designA/000-DATA/20250618_init test.txt
示例dvc local put relA/designA/000-DATA/20250618_init test.txt:newname.txt
示例dvc local put relA/designA/000-DATA/20250618_init test.txt:lnk --link

3.3 dvc local delete

項目说明
功能刪除文件、子目录、版本、阶段、區塊、阶段組
格式dvc local delete <target_path> [--force]
force说明--force 可省略交互式確認,但對以下類型永遠要求確認:
強制確認對象– Entire version folders (e.g., …/20250505_init)
– Complete stages (e.g., …/000-DATA)
– Blocks (e.g., …/test_design)
– Phases (e.g., …/test_rel)
示例dvc local delete relA/designA/000-DATA/20250618_init/test.v --force
示例dvc local delete relA/designA/000-DATA/20250618_init

四、目录與命名規範

DVC Local 結構遵循四層命名方式,每層定義如下:

Phase (阶段)

  • 格式:P<數字>-<描述>,如:P1-trial、P2-stable
  • 由 PM 定義,表示项目流程節點

Block (模块)

  • 小寫英文字母,如 top、cpu、ddr
  • 對應功能模块

Stage (流程步骤)

  • 格式:三位數字-描述,如 000-DATA、200-LOGIC、300-DFT
  • 對應流程工具與目的

Version (版本)

  • 建议格式:YYYYMMDD_<tag>,如 20240615_init、20240701_final
  • 由设计工程师定义

五、異常處理

錯誤情境處理方式
未建立完整路徑自动创建中間層目录
無權限刪除顯示错误信息;僅允許創建者或相同项目账号操作
使用 --force 無效針對特定高層(版本、阶段、區塊、阶段組)需交互确认

六、附錄

  • 系统数据根目录為:/projects/<proj_code>/DVC/<phase>/<block>/<stage>/<version>
  • 全部命令可納入自动化脚本中(配合 ticket 機制與流程工具)。