在Accurev中强制更新工作空间

3
有没有强制更新 Accurev 工作区的命令,可以直接用备份文件替换本地文件,而不关心冲突文件、修改后的文件等等?我真的很想念 cvs 命令 cvs update -C -d。
5个回答

7

根据问题描述,我遇到了类似的问题。通常我使用以下命令:

accurev update -9
accurev pop -O -R .
accurev update

2
在 populate 命令中使用 -O 标志会强制重新下载所有文件,无论其状态是否已更改。这对于非常大的代码库来说是一场性能灾难。 - Eric

3

不需要,您需要运行几个操作。您可以创建一个脚本来强制更新您的工作区。

基本上,您将生成所有修改、保留、重叠、成员文件的列表,然后清除这些文件,然后更新您的工作区。

请查看CLI手册中的“stat”部分。


1
谢谢你的回答!我真的很惊讶AccuRev中没有这样的命令。 - Jeff Fang
那么清除那些文件吗?你省略了一些重要的步骤。AccRev没有清除命令。 - Andrew Koper
Accurev 没有清除命令吗?http://www.accurev.com/download/ac_current_release/AccuRev_WebHelp/wwhelp/wwhimpl/js/html/wwhelp.htm#href=AccuRev_User_CLI/cli_ref_purge.html - steve

1
我遇到了类似的问题;首先备份现有工作区,然后删除本地工作区文件夹中的所有文件。点击Accurev上的更新按钮,所有文件将重新加载到工作区。

我在创建新的工作区之前忘记设置ACCUREV_USE_MOD_TIME=1,因此所有文件的修改时间都在工作区填充时期间。最简单的解决方法是按照这个答案建议的那样做吗?工作区中没有修改。它包含超过7k个文件。 - enigment

1
你可以从文件系统中删除所有本地文件,然后执行以下操作:
accurev pop -R <path to local workspace directory>

这只会删除你工作区中的所有文件,而不是更新你的工作区。 - jstanley
另外,如果您有任何保留的文件并将其删除,当您再次填充这些文件时,它们仍然会被保留。 - jstanley
这个问题是想要将整个工作区还原到后台 - 如果您没有任何保留的文件,那么这是实现该目标的快速方法。 - gnuchu
是的,这是一种快速的方法。但在我的情况下,上面没有提到的是我有许多外部文件分布在许多本地工作空间目录中。如果我删除所有本地文件,那么外部文件也将被删除,需要很长时间来重新构建。 - Jeff Fang

0

如果您只想撤消工作区中所做的所有更改:

accurev stat -R -m -fl . | xargs -n 1 accurev purge

您可以使用类似的命令 rm / accurev pop 强制从后端重新获取。您还可以变化标志,-m 表示修改,-k 表示保留,-a 表示全部。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接