- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我们有大量在不同平台上使用 CVS 的程序员。
我们有开发人员使用带 TortoiseCVS 的 Windows(它使用 cvsNT)
我们有开发者使用 ubuntu 8.04
我们的开发人员有两个盒子 Ubuntu 和 windows。
不同平台上的不同开发人员使用范围广泛的不同编辑器。
我们在行结尾方面遇到了很大的问题。这表现为文件中行尾数的持续增长。
据我所知,TortoiseCVS 使用 cvsNT,它假定存储库中的 UNIX 行结尾。当您 checkout 时,它会将 UNIX 行尾转换为 Windows 行尾,而当您提交时,它会将 Windows 行尾转换回 UNIX 行尾。
在 ubuntu 中,cvs 客户端不进行任何转换,因为存储库应该是 UNIX 行尾,而 linux 也使用 UNIX 行尾。
如果 Windows 上的每个人都使用基于 cvsNT 的客户端,这一切都可以正常工作。没有人会更换他们的操作系统。
遗憾的是,使用 Ubuntu 和 Windows 机器的人经常切换,并可能在不同的操作系统上 checkout 、编辑或提交。
结果他们最终使用具有 Windows 行结尾的 linux CVS 客户端提交了一个文件。
当在 Windows 上使用 cvsNT 客户端检查时,CRLF 被转换为 CCRRLF,显示为两行。这种情况发生的次数越多,文件中出现的新行就越多。
有没有办法让 Linux 上的 CVS 在提交时将任何 Windows 行结尾转换为 UNIX 行结尾以防止这种情况发生。这样 CVS 服务器将只有 UNIX 行结尾。
也欢迎提出任何其他克服此问题的建议。
最佳答案
一种方法是要求开发团队强制执行行尾。
dos2unix 和 unix2dos 在 linux 和 unix 上都工作得很好。 Windows 上的 cywgin 将提供一个实现。
您可以有一个脚本来清理人们在签到之前运行的行尾。
我的主要建议是要么切换到另一个版本控制系统,要么关闭魔术换行。我从来没有为我提供神奇的换行转换,我的开发团队一直有一个标准的编码。它并没有完美地工作,但它工作得非常好。
您还可以编写一个简单的脚本,该脚本将在持续集成环境中运行,扫描会增加换行符的更新。然后您可以拒绝更改或清理问题。
祝你好运,雅各布
关于linux - CVS 行尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1360594/
我有义务在这个特定项目中使用 CVS,所以即使我真的想切换到其他东西,比如 Git,我也不能。 所以,我真正的问题是这样的:我们有一个约定,每次发布版本时,我们都会在 CVS 中创建一个新分支(我们也
我在 Windows XP 系统上,我从命令行执行此命令: cvs -d :pserver:CharlesAnderson@ServerName/RepositoryName login -p 生成
在线阅读文档和教程后,我正在努力掌握 CVS 中的分支。让我举一个例子来说明我的开发流程有时是如何工作的: 我将对某些内容进行一些更改(假设修复一些不会令人惊讶地变成更大项目/事件的错误)。现在,我不
任何人都可以帮助我使用用于 CVS 存储库的默认端口号。 问候, PK 最佳答案 grep cvs /etc/services说 2401,TCP 和 UDP。当然,通过 SSH 使用它会改为使用端口
我不小心将一个文件作为二进制文件提交到 CVS(粘性选项 -kb),现在我想删除它。是否可以? 我找到了一种使用 cvs admin -kv 将选项更改为其他选项的方法,但是有没有办法将其完全删除?
使用 cvs remove 删除目录后和 cvs commit ,是否有一种简单的方法可以撤消更改 - 在我的工作副本和存储库中恢复目录?到目前为止,我只能找到一些建议,如果我还没有完成提交,或者它
有没有办法在 CVS 命令行上列出与标签关联的所有文件? 最佳答案 关于你能得到的最接近的是: cvs -q log -R -N -S -rTAGNAME 这适用于本地副本,它不会从服务器中提取。 编
我一直在寻找一种“正确”的方法来从 CVS 历史记录中完全删除一个文件,但找不到。我不在乎它是否仍然出现在日志中,或者与该文件相关的早期修订的特定 checkout 是否显示错误。重要的是所有其他文件
我正在尝试将更改提交到 CVS 存储库,但出现以下错误: RCS file: /opt/CZarmen/CVS_REPOSITORY/Z_user/lib/python/StudioCustom.py
当做 cvs update ,您会得到一个很好的存储库状态摘要,例如: M src/file1.txt M src/file2.txt C src/file3.txt A src/file4.txt
我已经从 CVS 分支中删除了一个 checkin 的文件,即: cvs remove -f file.txt cvs commit 如何恢复文件? 最佳答案 我相信: cvs add file.tx
我想知道如何轻松获取 CVS 模块中的最后更改。 最佳答案 我想也许你可以使用历史命令。尝试这样的事情: cvs history -c -D 2012-04-01 -a 上面的示例显示了自指定日期以来
我有一个名为“Gem36”的分支,但我想从现有分支创建另一个名为“RM_Gem36”的分支。我怎样才能在 CVS 中做到这一点? 是否有其他方法可以从现有分支创建新分支“RM_Gem36”而不检查“G
我们最近在测试版代码的主分支之外创建了一个分支。 现在我想检查过去一周分支中所有文件的更改情况。如何从 CVS 中获取该信息。 这个命令是什么? 最佳答案 从命令行: cvs log -r BRANC
我想我真的在寻求一种帮助来帮助那些忘记的人,Cruise Control 会将提交的详细信息发送给每个人,因此人们热衷于添加有意义的评论,但有时会忘记。 最佳答案 不过,您还需要有人监控人们添加的评论
有一个遗留的 CVS 存储库,其中包含大量目录、子目录和路径。还有大量分支和标签不一定覆盖所有路径和文件 - 通常是子集。我如何找出哪个分支/标签覆盖了哪些文件和路径? CVS 日志已提供每个文件的标
对于我正在使用 CVS 实现二分的脚本,我想弄清楚当前结帐的“时间戳”是什么。换句话说,如果我位于分支/标签上,我想知道提交到该分支/标签的最后一个时间戳。如果我在头上,我想知道头上的最后一个时间戳。
我已从 CVS 存储库中 check out 了一个文件并对其进行了更改。 cvs up 命令表示文件已修改M。 我需要删除我的更改。什么 cvs 命令可以为我做到这一点? 最佳答案 您使用 cvs
在什么情况下这会安全或不安全?我有一个分支有四个更改(没有文件添加或删除)。删除它可以安全吗? 编辑:想要删除它的原因是它命名错误并且会导致困惑。 最佳答案 人们登陆这里寻找“如何删除 cvs 中的分
是否有一个命令可以返回 CVS 存储库中包含的模块名称列表? 作为 CVS 的新手,我想应该有类似的东西 cvs -d /usr/local/cvs listmodules 我应该用什么替换 list
我是一名优秀的程序员,十分优秀!