fix(chv-muse-r12fix-3): pull_memory_home 打包不再含顶层目录名(P7)

R12 真机:pull_memory_home 用 tar -czf - -C <父目录> <家目录名>
打包,解到镜像后文件落在 mirror/memory/MEMORY.md,而
MemoryFiles(mirror) 读的是 mirror/MEMORY.md——拉取与读取差
一层,host_pull_files=1 却报 memory file missing: MEMORY.md,
state-DB 备份与 host forget 同因失败。改为 -C <家目录> . 只打
包内容,MEMORY.md 直接落在镜像根;两处钉住的测试同步改形状
(旧测试本身钉的就是多一层的错误形状)。
This commit is contained in:
host committed 2026-11-08 04:26:13 +00:00
1 parent 33ca6c75ed
commit 1da0d86159
2 files changed
+17 -7

No files matched your search

+10 -4
View File
@@ -258,10 +258,16 @@ class MemorySystemClient:
def build_pull_command(ssh_cmd: list[str], remote_home: str) -> list[str]:
"""构造拉取命令:ssh … tar -czf - -C <父目录> <家目录名>。"""
parent = os.path.dirname(remote_home.rstrip("/"))
base = os.path.basename(remote_home.rstrip("/"))
return list(ssh_cmd) + ["tar -czf - -C %s %s" % (parent, base)]
"""构造拉取命令:ssh … tar -czf - -C <家目录> .(只打包内容)。
绝不用旧形状 ``-C <父目录> <家目录名>``:它会把顶层目录名
打进包,解到镜像后文件落在 ``<local>/memory/MEMORY.md``,
而 ``MemoryFiles(mirror)`` 读的是 ``<local>/MEMORY.md``——
拉取与读取差一层,R12 真机 P7 实测 ``host_pull_files=1``
却报 ``memory file missing: MEMORY.md``。
"""
return list(ssh_cmd) + ["tar -czf - -C %s ."
% remote_home.rstrip("/")]
def pull_memory_home(ssh_cmd: list[str], remote_home: str,