对于 RCS,“git status”、“svn status”和“cvs status”相当于什么?

对于 RCS,“git status”、“svn status”和“cvs status”相当于什么?

是否有类似于git statussvn status、的 RCS 命令cvs status可以显示目录中每个文件的状态?例如,如果自上次签入以来文件已被修改,则此类命令应表示该文件已“已修改”。此外,它还应该显示文件是否被锁定(以及被谁锁定)。

答案1

rlog给出一个可以过滤的报告,例如,使用脚本来显示文件的哪个版本被锁定以及由谁锁定。

例如,在这个屏幕截图中,rlog显示我锁定了一个分支修订版:

使用 ded 的屏幕截图显示修改

它不会显示文件何时被修改,但可以推断出这一点,就像我在checkupded使用它的时间戳:

$ 检查 2\>&1 |更少
** 路径 = .
   1:./
   2: |-- 清单(未存档)
   3:|-- Makefile(未存档)
   4:|-- Tekparse.cin(未存档)
   5:|-- Tekparse.hin(未存档)
   6: |-- Trace-child.out (未存档)
   7: |-- Trace-parent.out (未存档)
   8:|-- VTparse.cin(未存档)
   9:|-- VTparse.hin(未存档)
  10:|--builtin_icons.h(未存档)
  11: |-- charproc.c (1.1858.1.3更新,被tom锁定)
  12:|-- config.log(未存档)
  13:|-- config.status(未存档)

尽管要确定它已被修改,您可以使用rcsdiff。尽管 rcs 支持分支(在文件上),但 rcsdiff 不会自动与锁定的修订版本进行比较。我为此使用一个脚本:

    $ rcsdiff -u charproc.c |diffstat; br-diff -u charproc.c |diffstat
    =================================================== =================
    RCS 文件:RCS/charproc.c,v
    检索修订版 1.1858
    diff -u -r1.1858 charproc.c
     charproc.c | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++----- ------------
     1 个文件已更改,68 个插入(+),26 个删除(-)
    =================================================== =================
    RCS 文件:RCS/charproc.c,v
    检索修订版 1.1858.1.3
    diff -u -r1.1858.1.3 charproc.c
     charproc.c | 20 +++++++++++++++++++++-
     1 个文件已更改、19 个插入(+)、1 个删除(-)

答案2

你可以使用rcsi显示目录中文件的状态。不过,rcsi已不再维护。

rcsi 截图

或者,如果您不介意使用 GUI,您可以使用TkRev(以前称为 TkCVS)。

TkRev 截图

相关内容