【问题标题】:Using RCS for revision control of a python based project使用 RCS 对基于 python 的项目进行修订控制
【发布时间】:2020-05-23 22:34:01
【问题描述】:

我想使用 RCS 对一些 python 文件进行修订控制。在检查 ci 脚本后,会在脚本中添加一个标题。因为那我得到一个语法错误。如何在 ci 后面加上 # 注释标题?

例如- 这是我的脚本在 ci 之后的样子

head    1.1;
access;
symbols;
locks; strict;
comment @# @;


1.1
date    2020.02.07.18.34.54;    author chiraga; state Exp;
branches;
next    ;


desc
@le
@


1.1
log
@Initial revision
@
text
@#!/pkg/qct/software/python/3.5.0/bin/python

【问题讨论】:

  • 您不应该像运行代码一样运行 RCS 文件。不要管它;仅使用rcs 工具检查进出它;签出的内容将逐字节地与原始签入的内容相同。
  • ...也就是说,在这十年(甚至在过去三年)中使用 RCS 并不是一个好主意。有“古”,然后有“古董”……人们甚至不再使用 CVS,而 CVS 被设计为 RCS 的替代品!您为什么会为新项目选择它?
  • 通常需要检查脚本然后运行它吗?如果我想保持脚本签入,除非我想编辑它?
  • 是的,它应该在你运行它之前检查任何东西。
  • 我还有哪些不那么古老的选择?

标签: python rcs


【解决方案1】:

首先,RCS is a perfectly good option if you have single files you want to control。它比 git 简单,并且具有更易于理解的命名“修订”的方法 - 与 git commit SHA-1 校验和相比,1.1 和 1.2 版本更容易理解。在我的实验室中,我们继续将它用于文本/troff/groff 文件、shell 脚本、perl 脚本、Makefile 和 rmarkdown 文件,它们是独立的——尽管我们将 git 用于大多数复杂的项目。我们有超过 30 年的 shell 和 perl 脚本,RCS 仍然可以使用。 RCS 不适用于构成系统、包、项目等的一部分的文件。为此使用 git。

要回答您的问题,您需要了解 RCS 的工作原理。

1 - 在您完成脚本的初始签入后,您将拥有 1 或 2 个文件:

filename.py,v(您的文件的 RCS“数据库”)和可能 filename.py(您的原始代码)。

如果您使用 ci -l filename.py 那会给你两个文件,但如果你只是跑 ci filename.py RCS 会将您的 python 脚本检查到 RCS 文件中(带有尾随 ,v)并删除您的原始脚本。

2 - 要获取可用的 python 脚本,您需要检查它。如果您想检查它以进行处理,请运行:

co -l filename.py

-l 意思是“将文件专门锁定给我” - 这是您在编辑时想要的。

在这个阶段,您应该能够编辑和运行脚本 filename.py - 注意,您不会也不应该尝试运行 filename.py,v 文件 - 也就是说记录您的更改的数据库。

每次重要编辑后,您都需要检查更改 - 如果您只是在处理文件,那么 ci -l filename.py 是最简单的,因为它会检查您的更改并保留源文件供您编辑。

一旦您有了最终测试的脚本,您通常会签入最后一组更改,然后将源文件复制到您要部署它的任何位置 - 可能是 /usr/local/bin

我建议你放置一个

$Revision$

文件的 cmets 部分中的某个位置的字符串,这样您就可以知道您部署了哪个版本。签入文件后,这将如下所示:

$Revision: 1.2 $

并且每次都会改变。

周围有很多 RCS 教程,但快速版本是 here.

【讨论】:

    猜你喜欢
    • 2016-12-15
    • 1970-01-01
    • 1970-01-01
    • 2010-12-04
    • 2023-02-11
    • 2013-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多