Mac环境下创建上级Perforce工作区并整合版本历史、迁移工作区求助
迁移Perforce工作区到超集仓库并保留版本历史
1. 创建新客户端工作区
- 打开终端,执行命令创建新客户端:
p4 client arvind_lrn_main - 在弹出的编辑器中修改核心配置:
- 将
Root字段设置为新根目录:Root: /Users/arvind/lrn - 在
View段添加映射规则(临时包含原仓库映射用于历史整合)://depot_lrn/lrn_main/... //arvind_lrn_main/... //depot_lrn_cpp_lippman/lcppl_main/... //arvind_lrn_main/cpp/...
- 将
- 保存并退出编辑器,新客户端创建完成。
2. 整合原仓库文件与版本历史
- 切换到新工作区:
p4 set P4CLIENT=arvind_lrn_main - 同步新工作区基础结构(若新仓库已有内容):
p4 sync - 执行整合命令,将原仓库文件迁移到新仓库的
cpp目录并保留完整历史:p4 integrate //depot_lrn_cpp_lippman/lcppl_main/... //depot_lrn/lrn_main/cpp/... - 检查是否有冲突需要解决:
若存在冲突,执行p4 resolve -np4 resolve手动处理冲突内容。 - 提交整合后的文件到新仓库:
p4 submit -d "Integrate C++ files from depot_lrn_cpp_lippman with full version history"
3. 调整客户端映射与配置文件
- 重新编辑新客户端,移除临时映射:
删除p4 client arvind_lrn_mainView段中的//depot_lrn_cpp_lippman/lcppl_main/... //arvind_lrn_main/cpp/...,仅保留//depot_lrn/lrn_main/... //arvind_lrn_main/... - 强制同步确保本地文件与新仓库完全一致:
p4 sync -f - 迁移原工作区的配置文件到新根目录:
mv /Users/arvind/lrn/cpp/lippman/.p4config /Users/arvind/lrn/ mv /Users/arvind/lrn/cpp/lippman/.p4ignore /Users/arvind/lrn/ - 编辑新根目录下的
.p4config,将P4CLIENT字段值改为新客户端名称arvind_lrn_main,其他配置按需调整。
4. 删除旧工作区
- 验证新工作区文件完整性与历史:执行
p4 filelog //depot_lrn/lrn_main/cpp/[具体文件名],确认版本历史包含原仓库的所有记录。 - 删除旧客户端:
p4 client -d arvind_lcppl_main
内容的提问来源于stack exchange,提问作者Arvind Raja
相关产品推荐
相关产品推荐

