如何在两个不同的服务器之间移动 perforce 仓库,以便复制修订历史记录,但不复制用户信息和工作区?

2024-01-12

我需要将仓库从一台 Perforce 服务器复制到另一台。文件修订历史记录需要保持完整,但用户信息和工作区信息不能复制到新服务器。

我已经尝试了标准检查点创建和恢复过程,但如果两台服务器上都存在同名的用户或工作区,源服务器将覆盖目标服务器上的此信息。如果这些用户帐户和工作区没有完全相同的详细信息,那就非常糟糕了。

此类操作的目标是允许两个独立的、断开连接的组查看带有修订历史记录的版本化源代码树。更新将是单向的,一组进行开发,一组只是查看。每个小组的网络都是完全封闭的,没有任何形式的外部连接。

任何想法将不胜感激,我已经在这个问题上绞尽脑汁有一段时间了。

编辑: 最终,我的解决方案是在与源服务器相同的计算机上安装中间 Perforce 服务器。使用它,我可以执行从源服务器到中间服务器的标准备份/恢复,然后删除中间服务器中所有不需要的元数据,然后再从中间服务器备份到最终目标服务器。相当复杂,但它完成了工作,并且可以在 Windows Power Shell 中以编程方式完成所有工作。


有几种方法,但我认为你会以一种艰难的方式来解决这个问题。

  1. 继续做你正在做的事情,但删除 db.user、db.view(我认为)和 db.group。然后当你启动perforce服务器时,它会创建这些,但它们将是空的,这将使任何人都很难登录。所以你必须创建用户/组。我不确定您是否可以从另一台服务器获取这些数据库文件并将它们复制进去,从未尝试过。

  2. 更简单的方法是制作一个副本。http://www.perforce.com/perforce/r10.2/manuals/p4sag/10_replication.html http://www.perforce.com/perforce/r10.2/manuals/p4sag/10_replication.html确保查看 p4d -M 标志以确保它是只读副本。我假设你有一个 USB 驱动器或可以在网络之间移动的东西,所以你可以只向 USB 驱动器发出 p4 pull,然后移动驱动器,然后从 USB 运行它,或者发出另一个 p4 pull,拉到最终的服务器。从未尝试过此操作,但通过一些工作应该是可能的,您必须通过 USB 运行服务器才能发出最终的 p4 拉取。

  3. 你可以看看 perforce git fusion,并制作一些 git 克隆。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在两个不同的服务器之间移动 perforce 仓库,以便复制修订历史记录,但不复制用户信息和工作区? 的相关文章

  • Klocwork部署的安全最佳实践

    Klocwork是一款静态代码分析和SAST工具 适用于 C C C Java JavaScript Python和Kotlin 可识别软件安全性 质量和可靠性问题 帮助强制遵守标准 阅读本文 您将了解Klocwork的设置步骤 助力您实现
  • p4命令相当于什么 svn status [重复]

    这个问题在这里已经有答案了 可能的重复 如何在 Perforce 树中查找未跟踪的文件 svn状态的模拟 我想知道什么 p4 命令可以显示哪些文件已更改 哪些文件未签入等 如果您正确使用 perforce p4 open 就是您要查找的内容
  • 我可以将签出的文件集成到 perforce 上的不同分支中吗

    我们正在进行设计 为此我们在主分支中创建了类的骨架 现在 我们开始编码 为此我们有了一个新分支 因此 如果我可以将主分支中的所有新文件移动到新分支中 那就太好了 但是 我还无法签入它们 那么 是否可以集成已签出的变更列表 谢谢 Perfor
  • 无法使用集成在 P4 中创建新分支

    我在 P4 有一个分行 depot MyDemoInfo trunk Server My Service 在 My Service 下 存在我的整个源代码 现在 当我尝试从上面的主干分支创建一个新分支时 它给了我错误 我正在尝试创建一个新的
  • 从 SVN 迁移到 Perforce —— 提示?经验?

    我们有一个相当大的 SVN 存储库 我们希望将其迁移到 perforce 我们非常希望保留约 20k 的修订 分支等 但在一些初始测试中 perforce 提供的 svn2p4 脚本无法复制完整的结构 人们是否使用此工具取得了成功 或者还有
  • 如何在 Perforce 中删除流仓库?

    基本上我想做的是从服务器上删除一个仓库 我可以访问 P4Admin 和 P4Helix 现在我明白 我必须首先删除所有工作区 然后删除流 然后删除仓库 但我正在寻找解决此过程的方法 我个人觉得这很愚蠢 如果有人离开公司并且不想合作怎么办 有
  • `git-p4 clone` 失败“新提示......不包含......”

    我在 Windows 上运行 使用 windows p4 客户端 并通过 Cygwin 安装 git p4 客户端宣传其语法在不同平台上是如何规则的 所以这应该是很不错的 所以当我去git p4 clone verbose depot pa
  • 在 Unix 上的 Perforce 中,如何添加符号链接目录?

    我在 Unix 中创建了一个符号链接目录 我想将其添加到 perforce 这个问题与 Unix 上的符号链接有关 Windows 符号链接的行为与 Unix 非常不同 http en wikipedia org wiki Symbolic
  • 如何使用 Perforce 设置文件权限位

    我注意到有一些文件的其他位被关闭 例如 签入 Perforce 时权限设置为 550 我希望每个人都可以阅读和 或执行它们 用 ls l 的说法来说 文件的权限如下所示 签入 r xr x 签出 rwxr x 我尝试设置修改555在做之前p
  • p4v 不显示签出文件的完整列表

    如果我在 p4v 中签出 4000 个文件 它不会显示默认更改列表中的完整文件列表 它只是说已签出 4000 个文件 有什么方法可以查看 4000 个文件的完整列表吗 通过 编辑 gt 首选项 菜单打开首选项对话框 单击 服务器数据 您将看
  • 在 IntelliJ IDEA 10.5 的 Perforce 设置对话框的“客户端”字段中输入什么?

    我正在尝试在 IntelliJ IDEA 10 5 2 中设置 Perforce 集成 有一个名为 Client 的字段对我来说没有意义 无论我在字段中输入什么内容 我都会收到消息 连接问题 客户端未知 我应该进入该领域什么 您需要输入 P
  • Perforce - 每次签到时都会收到电子邮件

    有没有办法让 Perforce 在每张支票上向您发送一封电子邮件到特定的存款机构 是的 输入 p4 user 查看您的用户配置 然后在 评论 下将您希望在签入时收到通知的仓库区域的文件规范放入其中 如下所示 Reviews depot my
  • 在撤销之前混乱的集成后,无法从主分支完全集成到功能分支

    我正在使用 Perforce P4V 客户端 版本 2013 1 611291 日期为 2013 年 3 月 20 日 我尝试从主分支合并 集成到我的功能分支 我已经很久没有这样做了 所以大量的文件被添加到变更列表中 然后我解决了无法自动合
  • Perforce 将目录快速同步到干净状态

    我想要一个不需要强制同步的快速解决方案 它将指定的目录置于其原始存储库状态 相同的文件可能会从磁盘中删除 可以从磁盘添加相同的文件 磁盘上的某些文件可能被修改 某些文件可能会被标记为删除 添加或修改 我想要的只是确保在运行命令后我不会有这些
  • 如何在 Perforce 树中查找未跟踪的文件? (svn状态的模拟)

    有人有脚本或别名来查找 Perforce 树中未跟踪 实际上 未添加 的文件吗 编辑 我更新了对此已接受的答案 因为看起来 P4V 在 2009 年 1 月的版本中添加了对此的支持 EDIT 请用p4 status现在 不再需要跳圈了 参见
  • 强制重新应用变更列表

    我对 perforce 还很陌生 但有相当多的其他 VCS 经验 想象一下 您提交更改 更改列表 1 一位同事在同一分支上提交更改 意外地覆盖了您的更改 变更列表 2 我尝试集成 P4V 拒绝这样做 因为它已经集成 并寻找一种方法来生成我可
  • 如何在 macOS 10.15 Catalina 上安装 p4python?

    尝试在 macOS 10 15 Catalina 上安装 p4python 时出现错误 命令pip install p4python Cannot build P4Python without SSL support Exception P
  • Perforce Excel 文件差异

    我有一堆 excel 文件放在 perforce 上 我想对这些 excel 文件进行 diff 类似于我在 perforce 中对其他文件 如 java cs 等 所做的操作 我尝试寻找一个插件 发现 P4OFC 只适合对 word 文件
  • Perforce - 如何获取已本地修改的文件列表?

    我正在寻找一个 perforce 命令来获取已在本地修改且 未 签入存储库的文件列表 我知道我 应该 获取待处理更改列表中的已修改文件列表 但在某些情况下我看不到该列表中的已修改文件 然后 在 手动 检查文件并进行比较时 我意识到了差异 是
  • $id:文件名、创建日期/时间 Exp $

    我经常在 C C 源代码中遇到以下语句 Id lzio c v 1 24 2003 03 20 16 00 56 roberto Exp Id file name version timestamp creator Exp 您知道哪些软件会

随机推荐

  • Jetpack Compose Lazy Column 单选

    我正在从服务器获取数据并将其显示在列表中 可以一键选择每个项目以显示按钮 但我无法关闭它 只能打开它 这是列表类的项目 data class Task val deviceName String val deviceId String va
  • 单击类名为 selenium 的元素

    我正在尝试从网站上抓取酒吧的营业时间 有一个酒吧列表 如果您导航到您可以找到营业时间 当我点击具有类名的元素时遇到问题 我已经编写了代码来获取一个场所的营业时间 但是 我无法从第一个链接导航到每个场所 当我获得一个场地的营业时间时 此代码有
  • Puma 和 Nginx 502 错误网关错误 (Ubuntu Server 14.04)

    我需要部署我的 Rails 应用程序 所以我遵循了这里的所有步骤 https www digitalocean com community tutorials how to deploy a rails app with puma and
  • 在聚合中使用限制排序和跳过排序时出现 Mongodb 复制问题

    通过使用skip和limit排序来获取记录时面临重复记录的问题 采集数据 id ObjectId 594b507c9b9469ec9da6a78b name F percentage 60 0 weightedFilter 2 0 like
  • 获取 POST 变量

    我将 C 与 ASP NET 结合使用 如何检查参数是否已作为 POST 变量接收 如果参数是通过 POST 或 GET 发送的 我需要执行不同的操作 使用它来获取 GET 值 Request QueryString key 这对于 POS
  • 我可以以编程方式启用/禁用异常中断吗?

    我希望能够在调试时中断异常 就像在 Visual Studio 2008 的菜单调试 异常对话框中一样 除了我的程序在到达我想要调试的位之前有许多有效的异常 因此 不必每次都使用对话框手动启用和禁用它 是否可以使用 pragma 或其他方法
  • 如何解决 crypto.getRandomValues() 不支持的问题?

    切换到涡轮机组后 我出现以下错误 https next auth js org errors jwt session error https next auth js org errors jwt session error不支持 cryp
  • Java 泛型和超类型标记

    我试图将以下三种方法变成一个通用解决方案 我尝试了一些可以编译但在运行时表现不佳的想法 public static List
  • Xamarin iOS 调试器未命中断点

    昨天早上 当我开始开发 Xamarin iOS 应用程序时 我的调试器停止了工作 我可以放置断点 但是一旦应用程序启动 断点就会像红色甜甜圈一样变得空心 我已经多次重建 清理项目 我还擦除了 obj bin 文件夹 但似乎没有任何效果 我无
  • android 4.0,操作栏上的文本永远不会显示

    我正在尝试使用 google 的新 api 特别是操作栏 当构建设置为 api 10 时 如果我按下菜单按钮 我会看到漂亮的菜单选项 每个选项都有图片和图标 使用 api 14 时 无论我尝试什么 它总是将图标放在操作栏中 没有任何文本 我
  • 多个阻塞队列,单个消费者

    我有多个包含要发送的消息的 BlockingQueue 消费者是否可能比队列少 我不想循环队列并继续轮询它们 忙于等待 并且我不想每个队列都有一个线程 相反 我希望有一个线程在任何队列上有可用消息时被唤醒 您可以做的一个技巧是拥有一个队列
  • ANTLR如何在输入结束时检测垃圾数据

    当使用 ANTLR 编写的语法时 解析器可以正确识别输入流中的数据 但如果我在输入末尾有一些垃圾文本 不应该由语法解析 解析器不会抱怨 我想这种行为是可以的 我的意思是解析器完成了它的工作并解析了我所说的它应该解析的任何内容 但是有什么技巧
  • 将现有的 defaultdict 输出为耀斑树状图适当的 JSON 格式?

    我有一个defaultdict list 我用过simplejson dumps my defaultdict 为了输出defaultdict转换为 JSON 格式 我正在使用树形图的 HTML 代码http bl ocks org mbo
  • 查找“丢失”的变量(循环引用)

    所以 这是一个有点简单的情况 但如果我设置一个像这样的循环引用 usr bin perl use strict use warnings my thing my otherthing thing gt otherthing otherthi
  • 创建具有 COUNT 个 ms-access 的表

    我有一个数据库 我想创建一个带有 COUNT 函数的表 是否可以 我有 3 个现有表 Member Feedback Attendance 在反馈表中 2 列 Class ID Likes Class ID 与出勤情况相关 因为每个成员参加
  • 在 C# 中将参数传递给 DownloadStringCompletedEventHandler

    我正在 WP7 中开发应用程序 我想将一个列表框作为参数传递给 client DownloadStringCompleted 方法 我的代码如下所示 WebClient client new WebClient client Downloa
  • 如何在alpine:3.8中安装Nodejs v13.0.1?

    我正在编写一个 Dockerfile 来 dockerize php nodejs 应用程序 所以我从基于 alpine 3 8 的 php 7 2 13 fpm alpine 图像开始 作为研究 我发现我可以通过命令添加最新的 alpin
  • Python 中是否有一个函数可以生成给定字母表上长度为 n 的所有字符串?

    我需要一个函数generateAllStrings n alphabet 做这样的事情 generateAllStrings 4 a b gt gt gt aaaa aaab aaba aabb abaa bbba bbbb 换句话说 ge
  • 如何在 Tkinter 窗口中打开网站?

    我正在尝试使用 Tkinter 构建一个简单的网络浏览器 我想知道如何在 Tkinter Python 中打开网站 你不能轻易地做你想做的事 Tkinter 无法渲染 html 您必须自己解析 HTML CSS 和 Javascript 并
  • 如何在两个不同的服务器之间移动 perforce 仓库,以便复制修订历史记录,但不复制用户信息和工作区?

    我需要将仓库从一台 Perforce 服务器复制到另一台 文件修订历史记录需要保持完整 但用户信息和工作区信息不能复制到新服务器 我已经尝试了标准检查点创建和恢复过程 但如果两台服务器上都存在同名的用户或工作区 源服务器将覆盖目标服务器上的