2010-08-16 51 views
7

我想对一些旧代码进行一些分析,并且需要能够在特定日期弹出流。我不想创建快照或工作区,我只需要六个月前的所有源代码。有没有简单的方法来做到这一点?如何按日期流行accurev流?

在我的研究中的这一点上,我想我可能需要使用hist命令获取特定日期的最新交易,创建回执,然后更新该交易号。但是,当我这样做时,我得到了更新命令上的“给定更新事务超出范围”错误。

回答

8

用时间规则创建一个子流。然后从中弹出。你可以从GUI中完成。这是CLI。

$ mkdir code && cd code 
$ accurev mkstream -s <Child> -b <Parent> -t "<Time>" # format: YYYY/MM/DD HH:MM:SS 
$ accurev pop -R -v <Child> -L . . 

如果一般的名字,你可以重新设置父级/重用其他地方做你的基于时间的持久性有机污染物。所以对于最偏激的人来说,你只需要一个流(例如,你不需要每个基于hist的流行音乐的时间流)。

$ accurev chstream -s <Child> -b <NewParent> -t "<NewTime>" 

HTH - 戴夫

+0

@davidpthomas:谢谢,但我不认为这对我有效。我有50多个仓库需要处理,并且不希望在每个仓库中都创建一个新的仓库。 – 2010-08-16 19:11:16

+0

经过大量研究后,我发现这是实现这一目标的唯一方法,所以我屈服并创建了所有这些流(或者说,有一个创建它们的脚本)。 – 2010-08-25 11:38:09

10

顺便提一下,AccuRev 4.9将功能添加到“pop -t”并指定一个时间点来填充c ode“as of”。这应该解决你在找什么前进......

+0

谢谢,这正是我需要的。但是,我们在4.6.2(今晚迁移到4.8.0),所以我不能使用它。 – 2010-09-08 21:21:32

4

你可以在命令行中执行此操作,而无需如下

accurev pop -R -v stream_name -L c:\MyDirectory -t "2012/11/01 00:00:00" \.\ 

这将检索从流中的所有文件,以创建流stream_name,因为他们是在2012年11月1日,将它们放入c:\MyDirectory

-t参数也可以采取一个交易号,所以你可以指定-t 12345。最终参数\.\意味着根 - 你可以指定在Accurev任何路径,如\.\MyProject\src