CVS恢复旧版本的问题

willway 2004-03-31 11:59:07
问:最近在用CVS,比如有文件test.txt,它被修改了4次,每次都commit过,这样它现在是r1.4版本,现在我想恢复到r1.2版本,该怎么做呢?
------------------------------------------------------------------
有文章介绍如下:
正确的通过CVS恢复旧版本的方法:
如果用cvs update -r1.2 file.name
这个命令是给file.name加一个STICK TAG: "1.2" ,虽然你的本意只是想将它恢复到1.2版本
正确的恢复版本的方法是:cvs update -p -r1.2 file_name >file_name
如果不小心已经加成STICK TAG的话:用cvs update -A 解决
------------------------------------------------------------------

1。我用了cvs update -p -r1.2 test.txt命令,执行后会显示test.txt文件r1.2版本时的内容,但是并没有把现在我本地目录下的test.txt内容恢复,还是r1.4的内容

2。cvs update -p -r1.2 file_name >file_name 这条命令后面的“>file_name”是什么意思,我用cvs update -p -r1.2 test.txt >test.txt 会报错,说没有>test.txt文件,去掉">",也还是1。的情况

3。另外,比如我想把test.txt文件的r1.2版本放到其他目录下,test.txt的r1.3版本又放到另外一个目录,该怎么做呢?

初学CVS,希望能和大家多多讨论,各位请多多指教!!!
...全文
1210 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
smilylee 2004-04-14
  • 打赏
  • 举报
回复
我对“显示为红色的那种被删除的文件。这个时候我可以选择它-右键-Graph selection,出现该文件各个版本图形结构,可以选择一个版本retrieve revision as就可以恢复了。”
可是显示的却是无该文件或试文件已经被损害!!
请指点原因!!谢谢
willway 2004-04-13
  • 打赏
  • 举报
回复
这个问题准备结帖了,非常感谢各位的指导!

大家请帮忙看看这两个问题:
批量分配权限的问题
http://expert.csdn.net/Expert/topic/2953/2953515.xml?temp=.5772058
watchers发邮件的问题
http://expert.csdn.net/Expert/topic/2953/2953655.xml?temp=.1116907
willway 2004-04-12
  • 打赏
  • 举报
回复
To>>>hurricane(随意春芳歇):thanks! 我发现本地目录下CVS隐藏文件夹里的四个文件相关信息:entries,entries.extra放的是当前受CVS管理的文件信息(包括存放路径和当前状态),entries.old,entries.extra.old放的是受CVS管理的历史文件信息,删除后的文件会在后两个文件里,如果把删除后的文件的信息放回到前两个文件,CVS中就又会列出该文件了

To>>>harry_comm(东东):谢谢!
hurricane 2004-04-10
  • 打赏
  • 举报
回复
remove以后commit了的情况,这个时候我想恢复文件应该怎么做?

在本地建立一个同名的文件,然后add,然后update,然后commit
harry_comm 2004-04-09
  • 打赏
  • 举报
回复
回答你的问题:
1。我用了cvs update -p -r1.2 test.txt命令,执行后会显示test.txt文件r1.2版本时的内容,但是并没有把现在我本地目录下的test.txt内容恢复,还是r1.4的内容

这是正常情况。
“-p" 就是将文件内容送到标准输出而不是文件中。

2。cvs update -p -r1.2 file_name >file_name 这条命令后面的“>file_name”是什么意思,我用cvs update -p -r1.2 test.txt >test.txt 会报错,说没有>test.txt文件,去掉">",也还是1。的情况

请把出错信息详细的写一下,好吗? 在我的机器上是可以执行的。

3。另外,比如我想把test.txt文件的r1.2版本放到其他目录下,test.txt的r1.3版本又放到另外一个目录,该怎么做呢?

cvs update -p -r1.X file_name > /dir/file_name.

初学CVS,希望能和大家多多讨论,各位请多多指教!!!

willway 2004-04-09
  • 打赏
  • 举报
回复
to: hurricane(随意春芳歇)
我想知道的是文件remove以后commit了的情况,这个时候我想恢复文件应该怎么做?因为这个时候在WinCVS主窗口中不显示这个文件了,且本地也已经没有这个文件了。

remove文件在commit之前,虽然本地已删除了该文件,但在WinCVS主窗口中还会列出该文件的,只是显示为红色的那种被删除的文件。这个时候我可以选择它-右键-Graph selection,出现该文件各个版本图形结构,可以选择一个版本retrieve revision as就可以恢复了。

to:mrshiwei()
thank you !
willway 2004-04-08
  • 打赏
  • 举报
回复
to: hurricane(随意春芳歇) >>>
如果test.txt文件是被删除了的,提交了以后(这个时候CVS列表里不会有test.txt文件列出了),那这个时候我怎么去恢复啊,又不能选择文件去update了
mrshiwei 2004-04-08
  • 打赏
  • 举报
回复
to willway (小鬼【摸爬滚打为明天】) :
回答你第一个问题:
问:最近在用CVS,比如有文件test.txt,它被修改了4次,每次都commit过,这样它现在是r1.4版本,现在我想恢复到r1.2版本,该怎么做呢?
--------------------------------------------------------------------------------
答:
1、cvs update 将当前工作区的文件更新为最新版,即r1.4
2、cvs update -j 1.4 -j 1.2 file.name 这时候工作区中的file.name的内容变成了r1.2的
3、cvs commit 将修改提交,生成r1.5,内容同r1.2
以上经过测试
hurricane 2004-04-08
  • 打赏
  • 举报
回复
CVS列表里? 在我印象中列表里面只有模块名,看不到文件列表的

至于被删除的文件恢复有几种办法,看你是刚刚remove还是commit之后的情况
hurricane 2004-04-07
  • 打赏
  • 举报
回复
我不知道为什么说stick option的方法不行,事实上我是这么用的,没遇到问题
hurricane 2004-04-07
  • 打赏
  • 举报
回复
14,获取老版本文件
a,选择文件或文件夹。
b, 点击右键选择"update",在stick option中的”retrieve…..”中填写需要版本的版本号。
willway 2004-04-07
  • 打赏
  • 举报
回复
>>> chasehome(chase) :tag命令将代码打上标签是针对整个目录的?还是对单个文件?这样做具体的好处是什么?
chasehome 2004-04-01
  • 打赏
  • 举报
回复
建议用wincvs来完成,不用手工输入命令!
>test.txt 表示 :到文件test.txt中,即覆盖旧文件,应该是高级dos命令,
提示出错,应该是你的路径名称出错!
有时为了特定工程的需要在不同版本的代码下工作,建议用tag命令将代码整个
目录打上标签,将而不是将test.txt文件的不同版本提取出来并放在不同的目
录下
Chuanyan 2004-03-31
  • 打赏
  • 举报
回复
真是惭愧,一直都只用Wincvs Client,CVS的操作教材看了几遍,但是因为没实践,所以还是没记住,汗Ing……

1,265

社区成员

发帖
与我相关
我的任务
社区描述
软件工程/管理 管理版
社区管理员
  • 研发管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧