连接已配置的工作区服务
连接已配置的工作区服务,检查实验和保留的文件,并在支持冲突恢复的情况下执行经过审查的单文件替换。
在 Linux 上使用 Altifigence CLI 0.1.9 访问现有的 Digital Design Studio 工作区服务。服务运维人员提供服务源地址、工作区访问权限及已启用的功能。请求访问该服务的工作区文件和实验。
读取已保存的结果之前,确认退出状态为 0。单独保留标准错误输出,并检查下文所述的结果字段。
配置连接
将 ALTI_STUDIO_ENDPOINT 设置为运维人员提供的源地址。远程服务使用 HTTPS;IP 回环服务可使用 HTTP。提供路径为空的源地址,并在启用身份验证时配置运维人员提供的 ALTI_STUDIO_SERVICE_SECRET。CLI 将此值作为 x-service-secret 发送。每条命令也可通过 --endpoint 选择源地址。
检查实验和保留的文件
配置连接后,列出最多 5 个实验。空工作区返回如下示例回执;HTTP 200 对应退出码 0。
alti --json ide service evolve list --limit 5{"schema":"altifigence.dds.service-receipt.v1","operation":"evolve.list","ok":true,"httpStatus":200,"body":{"runs":[]}}对于保留的结果,请使用其在服务工作区中的确切路径。将本示例路径替换为您获授权的工作区中实际存在的文件。响应正文保留所有者的文件字段,包括 content。
alti --json ide service evolve read-file evolve/adder/results/report.md搜索并替换一个经过审查的文件
工作区文本搜索需要 Linux 服务。请在稍后执行替换的同一服务上搜索,然后审查匹配文件、位置和覆盖范围元数据。每个匹配项都带有 contentHash。CLI 保留 truncated 和 replaceScopeComplete,供您评估返回的范围。
alti --json ide service workspace search --query old_signal --match-case --whole-word将以下内容保存为 replace.json,并将示例中的 64 字符哈希替换为所选 rtl/top.sv 匹配项的实际 contentHash。查询和选项应与审查时保持一致。此请求针对一个文件;省略 match 时,替换会应用于该文件中的匹配项。预期哈希将更新绑定到您审查过的文件版本。
{
"query": "old_signal",
"replacement": "new_signal",
"options": {
"matchCase": true,
"wholeWord": true
},
"paths": [
"rtl/top.sv"
],
"expectedHashes": {
"rtl/top.sv": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}
}alti --json ide service workspace replace --request replace.json处理冲突和配置错误
如果文件已发生更改,将返回如下示例冲突回执。HTTP 409 对应退出码 1。请在同一服务上重新搜索,审查当前匹配项和文件版本,然后使用新的 contentHash 更新 expectedHashes,再提交新的替换请求。
{"schema":"altifigence.dds.service-receipt.v1","operation":"workspace.replace","ok":false,"httpStatus":409,"body":{"ok":false,"code":"search_replace_conflict","conflicts":[{"path":"rtl/top.sv","expectedHash":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","actualHash":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"}],"replacements":0,"files":[]}}STUDIO_ENDPOINT_REQUIRED 且 httpStatus: null 时,退出码为 2:请配置运维人员提供的源地址并重新运行。对于 HTTP 401,请向运维人员获取匹配的服务密钥。如果替换后超时,请先检查当前文件并重新搜索,再决定是否再次更新。