PRCS 是什么?它和 Lynx 文本浏览器有什么关系

PRCS 是 Project Revision Control System(项目版本控制系统)的缩写,是一套用于管理源代码文件历史版本的版本控制工具。它与 Lynx 文本浏览器的关系是开发工具与产品本身的关系:PRCS 曾被 Lynx 维护者用于管理 Lynx 的源代码版本,但普通用户下载、编译或运行 Lynx 时并不需要安装 PRCS。如果你只是使用 Lynx 浏览网页,可以完全忽略 PRCS;只有当你需要追溯 Lynx 的历史源码或理解其早期开发流程时,它才有意义。

PRCS 的基本定位

PRCS 属于版本控制系统(Version Control System,VCS)这一类工具,核心功能是:

  • 记录源代码文件的历史变更
  • 支持检出(checkout)某个历史版本
  • 支持提交(checkin)新的修改
  • 管理多个开发者对同一项目的协作

它出现于 CVS 流行、Git 尚未诞生的年代,设计目标是比当时的 CVS 更简单、更适合中小型项目。PRCS 由 Josh MacDonald 开发,后来在开源项目中有一段使用历史。

PRCS 在 Lynx 开发流程中的角色

Lynx 由 Thomas Dickey 长期维护。在 Lynx 的源码管理历史中,PRCS 曾被用作版本控制工具之一,用于保存和追踪 Lynx 源代码的修改记录。

这意味着:

  • 对维护者:PRCS 是提交代码、生成补丁、回溯历史版本的日常工作工具。
  • 对普通用户:PRCS 不出现在 Lynx 的运行依赖里,安装 Lynx 不需要它。
  • 对想研究历史源码的人:了解 PRCS 有助于理解早期 Lynx 源码包的版本标记方式。

PRCS 与 curses、ncurses 的区别

这几个名字经常一起出现在 Lynx 相关页面中,但用途完全不同,容易混淆:

名称 类别 作用 与 Lynx 的关系
PRCS 版本控制系统 管理源代码历史版本 开发期工具,非运行依赖
curses 终端屏幕控制库 提供光标移动、窗口、键盘输入等终端界面能力 Lynx 依赖它绘制文本界面
ncurses curses 的现代实现 兼容并扩展 curses 的库 Lynx 通常链接 ncurses 运行

简单说:curses/ncurses 决定 Lynx 能不能在终端里画出界面,PRCS 决定 Lynx 的源代码怎么被记录和回溯。 前者是运行时依赖,后者是开发时工具。

PRCS 与 Git、CVS 的差异

维度 PRCS CVS Git
架构 集中式 集中式 分布式
典型年代 1990 年代 1990 年代起长期使用 2005 年后成为主流
学习曲线 较简单 中等 较陡但功能强
分支能力 有限 较弱 强
当前使用度 基本停用 遗留项目仍在用 主流

PRCS 的定位是“比 CVS 更轻量的集中式版本控制”,但随 Git 等分布式工具普及,它已基本退出实际使用。今天几乎不会有人为新项目选择 PRCS。

普通用户需要安装 PRCS 吗

不需要。判断依据很简单:

  • 只想运行 Lynx:安装的是 Lynx 本身和它的运行依赖(如 ncurses),与 PRCS 无关。
  • 想从源码编译 Lynx:需要编译工具链和 ncurses 等库,仍然不需要 PRCS。
  • 想获取 Lynx 的历史版本源码:现代获取方式通常通过官方源码发布包或 Git 仓库,而不是 PRCS。
  • 想复现 Lynx 早期开发环境:这种情况下才可能接触 PRCS,属于极少数研究场景。

因此,把 PRCS 理解为 Lynx 项目历史上的一个开发辅助工具即可,它不影响你使用 Lynx 浏览网页。

lynx.invisible-island.net
Thomas Dickey is the maintainer/developer of the Lynx text-browser. This page gives some background and pointers to Lynx resources.