如何不发布历史源代码

主要观点:

  • 不应将 MS-DOS 4.0 的源代码放入 git 中,git 会破坏时间戳等重要信息,导致源代码无法正常构建。
  • 旧的源代码文件是二进制文件,不应转换为 UTF-8 等格式,否则可能导致源代码行过长等问题。
  • 已发布的 MS-DOS 4.0 源代码可能对应 8 月的 4.01 静默更新,而非 6 月的原始 IBM DOS 4.00,且包含“Source BAK”相关信息。

关键信息:

  • 源代码发布地址:GitHub
  • 相关文件示例:src\SELECT\USA.INF
  • 工具信息:源代码包含所有所需构建工具,易于构建
  • 时间戳问题:git 不保留时间戳,影响源代码的确定性
  • 旧源代码特点:旧源代码文件是二进制文件,不能随意转换格式
  • 具体问题案例:如 getmsg.asm 中因编码转换导致源代码行过长,[src\SELECT\USA.INF]文件中 git 使用导致注释行过长和原始源代码被破坏
  • 版本相关:IBM 先发布 PC DOS 4.0,后有 8 月的 4.01 静默更新,微软随后将 DOS 报告为 4.01,发布的源代码可能对应 4.01 更新
  • “Source BAK”:是微软发给特定客户的,包含所有所需工具,易于构建

重要细节:

  • 文中多次提及不同文件的日期和版本信息,如 06/17/1988、08/03/1988、10/06/1988 等,以及不同文件的内容和相关注释。
  • 强调了 git 不适合处理历史源代码,以及历史源代码应以原始文件存档形式发布,保留所有时间戳和字节信息。
阅读 48
0 条评论