Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perforce P4V在操作系统恢复后未看到新提交_Perforce - Fatal编程技术网

Perforce P4V在操作系统恢复后未看到新提交

Perforce P4V在操作系统恢复后未看到新提交,perforce,Perforce,我在谷歌上搜索过这个,发现有人在这里有类似的问题->,但幸运的是,这个问题没有解决 我有一个问题,我的P4客户端无法查看或访问任何提交的文件,这些文件的更新时间超过4个月 后台-我的根目录/db文件位于未受干扰的D驱动器上。我昨天感染了一种严重的病毒,所以我检查了我所有的工作区内容,并恢复到我操作系统的12月份驱动器。现在,我已经成功地启动了12月份版本的操作系统(已经安装了相同版本的P4V和P4A),我的P4V只能在2015年12月15日之前查看和访问文件,之后什么也看不到。我从中恢复的驱动器

我在谷歌上搜索过这个,发现有人在这里有类似的问题->,但幸运的是,这个问题没有解决

我有一个问题,我的P4客户端无法查看或访问任何提交的文件,这些文件的更新时间超过4个月

后台-我的根目录/db文件位于未受干扰的D驱动器上。我昨天感染了一种严重的病毒,所以我检查了我所有的工作区内容,并恢复到我操作系统的12月份驱动器。现在,我已经成功地启动了12月份版本的操作系统(已经安装了相同版本的P4V和P4A),我的P4V只能在2015年12月15日之前查看和访问文件,之后什么也看不到。我从中恢复的驱动器映像日期为2016年12月19日。但是,我可以在D驱动器上的DB的物理位置上实际检查我的所有12月后P4签入。都在那里

这里有一些非常有趣的信息——出于好奇,我从昨天恢复到了我的病毒操作系统。打开P4V,它可以查看和访问我的所有文件,直到我昨天签入的最后一个提交的文件

其他重要因素 -我的p4使用的仓库、流和工作区在我恢复的Dec恢复操作系统和昨天的病毒负载操作系统之间是相同的。我的P4设置中没有任何更改

系统信息:

  • 视窗10

  • P4V和P4A-NTX64/2014.3/1007540(适用于我从12月恢复的windows映像和昨天的病毒窗口)

P4是我的致命弱点。谢谢你的帮助。如果你像三年级学生一样向我解释事情,我不会生气

干杯,
保罗首先,我在最初的问题中使用了不正确的术语。我把我的仓库放在D盘上,其他所有东西都放在C盘的默认位置

我错在哪里了:我相信只要把我的仓库文件备份到一个安全的地方,我就会得到保护。还有比这更重要的事情:|

出了什么问题:当我的电脑崩溃时,我恢复到了5个月前12月份的Windows安装版本,这意味着(显然)我在12月份安装了P4,其中的数据库文件只知道我在12月份之前签入的文件。我确实在12月后签入了1000个文件,所有文件都还活着,完好无损,但P4根本没有意识到这一点。P4只是窥视仓库以了解其内容的最新情况,这一假设(我曾有过)是不正确和危险的

对那些可能受益的人来说:对于那些自己动手的人来说,如果你想在事情变坏后能够进行全面恢复,你应该备份以下两件事:

  • 数据库文件。默认情况下,它们位于Perforce应用程序的“服务器”目录中。对我来说,我的C:\Program files\Performance\Server中有67个数据库文件。它们都以db.*作为前缀,P4使用这些文件来“了解”事物的当前状态,例如,您的列表、签出文件、所有工作区及其设置、仓库及其设置等。哦,还有您的仓库中有哪些文件!不幸的是,在备份数据库文件时,您不能仅复制/粘贴它们,而必须使用命令行命令正确生成另外两种文件类型(日志、检查点),专门用于恢复目的。在恢复操作中,您将从这些文件生成新的数据库文件
  • 仓库目录。站点指定在工作区中工作时文件存储到的目录树,以及从中签出的目录树。存储在这里的文件将不是其本机格式,非二进制文件的内容将在此基础上进行调整。站点目录树可以手动复制/粘贴到备份位置
可以找到正确的备份/恢复信息。就像很多事情一样,一旦你理解了它,它就变得简单了,但是读这篇文章有点满嘴都是。这将有助于我在阅读材料中看到稍微充实的示例命令,所以我在这里包括了一些。这些是最简单的命令行命令(加上其他手动命令),将恢复一个检查点,而不是检查点+日志(再次查看链接以更好地理解)。此外,我建议在安全的一次性环境(或一次性资产)中进行备份/恢复,以便在真正进行备份/恢复之前掌握备份/恢复的窍门

----------备份------------

尽管链接中包含了所有的内容,但在我这方面,只需要最少3个命令行命令(加上其他非命令的东西)就可以完成正确的P4备份,1个cmd(以及其他东西)就可以恢复。同样,这只是一个部分充实的示例,用于说明备份/恢复的命令提示符部分是什么样子。它不仅仅是简单地运行这些命令,让您到达您想要的地方

(注意:在Windows上,您可能需要以管理员身份启动Windows命令提示符)

>p4设置P4USER=superuser\u名称
>p4-q验证/。。。
>p4d-r“C:\Program Files\Performce\Server”-jc\
----------恢复------------

>p4d-f-r“C:\Program Files\Perforce\Server”-jr\.ckp.1
在我的例子中,由于不使用-f标志时出错,我不得不使用它

干杯


保罗:首先,我在最初的问题中使用了不正确的术语。我把我的仓库放在D盘上,其他所有东西都放在C盘的默认位置

我错在哪里了:我相信只要把我的仓库文件备份到一个安全的地方,我就会得到保护。还有比这更重要的事情:|

出了什么问题:当我的电脑崩溃时,我恢复到了5个月前12月份的Windows安装版本,这意味着(显然)我在12月份安装了P4,其中的数据库文件只知道我在12月份之前签入的文件。我确实检查了1000份文件
>p4 set P4USER=superuser_name
>p4 -q verify //...
>p4d -r "C:\Program Files\Perforce\Server" -jc <yourBackupDirectory>\<prefixOfYourChoosing>
>p4d -f -r "C:\Program Files\Perforce\Server" -jr <yourBackupDirectory>\<prefixYouChose>.ckp.1