问题标签 [rcs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
svn - $id: 文件名,创建日期/时间 Exp $
我经常在 C/C++ 源代码中遇到以下语句:
您知道哪些软件会产生这些“签名”吗?
rcs - 非图形三向合并工具
我目前使用 RCS 的合并命令进行 3 路合并,但有一件事一直让我烦恼。如果我使用 -A 选项,在两个文件中所做的相同更改会显示为冲突:
<<<<<<< file1
file1 line 1
||||||| orig
orig line 1
=======
file2 line 1
>>>>>>> file2
orig line 2
<<<<<<< orig
=======
在两个更改中添加的行
>>>>> >> file2
原始第 3 行
如果我使用默认值 (-E),则不会显示这些相同的更改,但输出仅显示两个贡献者,而不是祖先,如下所示:
<<<<<<< file1
file1 line 1
=======
file2 line 1
>>>>>>> file2
orig line 2
line added in both changes
orig line 3
是否有一些程序基本上会执行与 RCS 合并相同的行为,但有某种方式可以显示所有三个冲突版本,同时自动合并相同的更改?
svn - 就地编辑、版本控制——您的解决方案是什么?
我正在使用 SVN 进行开发任务,但仍有许多文件使用 RCS 管理,因为在我的私有 SVN 存储库工作副本中编辑它们似乎不合理(因为它们通常只是配置文件,也最好就地测试)。在任何有文件置于 SVN 控制之下的地方拥有存储库的工作副本似乎也不合理,因此我只使用 RCS。
您管理理想情况下不应四处移动/就地编辑和测试的文件的方法是什么?
更准确地说:我想要相当于
- 有一个写保护的 file.txt
- 像“co -l file.txt”(RCS)这样的命令,使其可编辑
- 能够就地编辑并立即进行测试
- 像“ci -u file.txt”(RCS)这样的命令来记录更改,添加注释并再次使其只读
- 其他用户也应该能够在同一个地方执行此操作
- 但是,版本信息应该去一个安全的地方(大概是 svn rep),在不同的服务器上
linux - 在初始化/bash 脚本中同时执行多个程序
您好,我正在使用一个使用 rcS 脚本启动的模拟器,这是我的脚本
我想要的是同时运行所有测试,并且只有在所有先前的测试都完成后才执行退出命令。不仅当测试 4 完成时,这可能吗?谢谢你。
svn - 组织一个包含数千个元素的 Subversion 存储库
开始之前:我在许多论坛(包括 Stack Overflow - 是的,有很多关于组织 svn 的 SO 问题)、搜索 Google 和阅读文档(我拥有几本 Subversion 书籍)都花了很长时间。我还没有找到在 Subversion 中组织代码库的好方法。我们目前使用 RCS 作为我们的修订控制系统,所有内容都存储在 1 个 RCS 目录中 - 我知道这很丑 - 这就是为什么我正在努力实现更好的东西。我也经常使用 Subversion,所以我知道它的功能以及它是如何工作的。几个月来我一直在犹豫问这个问题,因为它不完全与编程相关,但由于我无法找到解决方案,还有什么更好的地方来问我的问题!
在我脑海中使事情复杂化的是颠覆术语“项目”。如果我想在 subversion 中管理一个 java 项目,这对我来说非常有意义:所有组合成一个 jar 文件的 java 文件都可以被认为是一个“项目”——它们都属于一起。但是,在我们的环境中,我看不到定义什么是“项目”的简单方法。我们有超过 4,000 个程序,而且它们几乎都是相互独立的。其中许多是 shell 脚本或 perl 脚本。我们的一些脚本使用通用的“实用程序”或“库”脚本,但在大多数情况下,所有代码对象都是独立的。
我们环境中的一个“项目”可能涉及程序 A、B 和 C,以及配置文件 AA。另一个项目可以使用程序 C、D 和 E,以及配置文件 BB。另一个项目可能只是更改配置文件 AA,或者可能是程序 B。没有办法对哪些程序或文件属于一个组进行分类。正因为如此——我不知道如何将我们的代码组织成颠覆。我可以将所有内容都放入主项目主干中,但检查工作副本意味着检查所有 4,000 多个元素。
给出一些上下文,这是针对数据仓库的。需要所有 4,000 多个代码元素才能使仓库发挥作用。也许某个业务需求需要更改在一些元素中访问的列,而另一个业务需求需要更改一些其他元素(可能与其他项目中的一些相同)。
也许 Subversion 不是最适合我们的,尽管我必须相信它可以工作。我们已经为我们的 Web 代码和 Java 程序提供了一个 Subversion 服务器,它工作得很好,因为有很容易定义的项目。我只是不知道如何组织我们的主要代码库。
希望其中一些有意义......提前感谢您的智慧!
version-control - 在 CVS(或 RCS)中加入两个历史版本?
我正在寻找一种方法来为一个文件加入两个修订历史。
我们的一个项目是通过 RCS 跟踪的。现在,这个项目存在于 CVS 中。它最初是作为一个新项目提交的。因此,CVS 历史不会显示通过 RCS 跟踪的旧版本。
例如,假设文件 foo.c 在 RCS 中修改了 10 次,然后在 CVS 中修改了 2 次。RCS 有 1.1 到 1.10 版本,CVS 有 1.1、1.2 和 1.3 版本。RCS 1.10 版和 CVS 1.1 版是相同的。
我正在尝试创建一个组合历史,以便 foo.c 显示 12 个版本,从 1.1 到 1.12。由于 CVS 以与 RCS 相同的文件格式存储修订,因此从现有的 RCS 文件开始,然后使用“ci”命令检查新的更改(保留时间戳、用户 ID 和提交消息)应该是一件简单的事情. 还需要保留任何 CVS 标签。然后,这个新的 RCS 文件将具有完整的历史记录,然后可以将其添加到 CVS 存储库中,替换旧版本。
假设此代码库中没有分支。只是直线发展。
这样的实用程序是否已经存在?
version-control - 如何删除 RCS 中的文件?
RCS 是否有类似svn/p4 delete的东西,它保留文件历史记录但将其标记为已删除?还是我只是删除 RCS 目录中的文件和匹配的 v 文件?使用 RCS 删除和/或移动文件的推荐方法是什么?
c++ - 如何确定哪些文件已从 rcs 中更改
我正在使用 rcs 存储库(啊,老我知道)使用 c++ 代码库,在重大代码更改期间,我修改了很多文件,有时我会忘记这些文件。所以我想要一个小脚本来列出与存储库中的文件不同的文件(我更改的文件)。对每个文件执行 rcsdiff 有点不切实际。假设所有文件都在同一个目录中。是否有一个小脚本或别名可以列出我修改过的所有文件?
谢谢
git - 将项目从 RCS 迁移到 git?
我有一个20 年的项目,我想从 RCS 迁移到 git,而不会丢失历史。所有网页都表明唯一的真正途径是通过 CVS。但是经过一个小时的谷歌搜索并尝试了不同的脚本,我还没有找到任何可以成功地将我的 RCS 项目树转换为 CVS 的东西。我希望 Stackoverflow 的好人知道什么是真正有效的,而不是那些声称有效而无效的东西。
(我使用本地 SO 搜索和 Google 搜索搜索了 Stackoverflow,但如果数据库中有有用的答案,我就错过了。)
更新:http://git.oblomov.eu/rcs-fast-export 上的工具rcs-fast-export
已于2009 年 4 月 14 日修复,这个版本似乎对我有用。此工具直接转换为 git,无需中间 CVS。谢谢朱塞佩和雅库布!!!
我仍然记得的不起作用的事情:
CVS 源目录中附带的
rcs-to-cvs
脚本contrib
2010 年 4 月 13 日之前版本中位于http://git.oblomov.eu/rcs-fast-export的
rcs-fast-export
工具rcs2cvs
在名为“CVS-RCS-HOW-TO Document for Linux”的文档中找到的脚本
algorithm - 高效区分大文件的算法
我必须存储两个文件 A 和 B,它们都非常大(比如 100GB)。但是 B 可能在很大程度上与 A 相似,因此我可以存储 A 和 diff(A, B)。这个问题有两个有趣的方面:
- 这些文件太大,我知道的任何差异库都无法分析,因为它们在内存中
- 我实际上并不需要差异 - 差异通常具有插入、编辑和删除,因为它是供人类阅读的。我可以得到更少的信息:我只需要“新的字节范围”和“从任意偏移量的旧文件复制字节”。
我目前不知道如何在这些条件下计算从 A 到 B 的增量。有谁知道这个算法?
同样,问题很简单:编写一个算法,考虑到两者非常相似的事实,可以用尽可能少的字节存储文件 A 和 B。
附加信息:虽然大部件可能相同,但它们可能具有不同的偏移量并且出现故障。最后一个事实是为什么传统的差异可能不会节省太多。