多年来,我们一直在使用CVS(使用TortoiseCVS接口)进行源代码控制和广泛的文档控制(包括Word,Excel,Framemaker,测试数据,模拟结果等二进制文件).与典型的版本控制系统不同,99%的时间我们想要防止并发编辑 - 当用户开始编辑文件时,文件的预编辑版本变得只读给其他人.
许多将使用它的人不是程序员,甚至不是计算机专家,所以我们也在寻找一个系统,让人们只需将文档添加到存储库,检出并编辑文档(除非其他人正在编辑它),并以最小的麻烦重新检查它.
我们已经用CVS + TortoiseCVS很好地工作了,但是我们现在正在考虑Subversion和Mercurial(如果他们更合适的话,可以向其他人开放)以获得更好的版本跟踪,所以我想知道哪一个支持锁定文件最透明.例如,我们想为默认启用独占锁定,并且我们要尽可能它很难有人不小心启动编辑别人已经签出的文件.例如,当某人签出文件进行编辑时,即使他们最近没有更新过他们的沙箱,也会先检查主数据库.也许它甚至不会让用户签出文件,如果它不在网络上并且无法与母舰签到.
我正在复制一个相当古老的代码项目,从我定期使用CVS开始,作为我已经在使用git工作的新项目中的一个组件.我仍然可以访问CVS存档旧项目的模块是的,所以我只是要使用git-cvsimport得到提交历史,并从那里走.但是,这只是在当前的一个内部创建一个新的git存储库.完全有可能我需要这样做一个多步骤的过程,我去CVS - >新的git存储库,然后使用其他东西将它带入现有的git存储库.
在newproj/newsubdir中运行它($ CVSROOT已在我的shell配置中正确设置):
git cvsimport -k -o master -u -s \- -A ~/Documents/cvs-authors.txt oldproj
Run Code Online (Sandbox Code Playgroud)
让我一个全新的存储库取名为NewProj/newsubdir/git的/所有正确提交的(注释,时间戳,历史),并与HEAD,我想它.
我想要的是历史CVS提交就好像它们总是在newproj/newsubdir/oldproj-file1,newproj/newsubdir/oldproj-file2等等.根据我的经验,git有做这种事情的魔力,但我找不到明显适合我的情况.
我们是一个由4名开发人员组成的小团队,需要一个良好的版本控制系统供内部使用.其中2名开发人员在家中远程工作,2名主要在办公室工作.
我们是德尔福开发人员,所以想要一些具有Delphi代码的可靠记录的东西.它还必须能够跟踪数据库结构和其他相关文件之类的内容.
我已经看过SVN和CVS,但是我无法在WinXP上找到一个加载项或易于使用的客户端与Delphi 7一起使用.
有什么建议?
我有一个包含CVS存储库中包含的许多标签的文件.有没有办法只使用这些标签检出所有文件及其相关目录而不检查整个存储库?
我没有存储库中的目录列表,因此我无法运行,cvs co -r baz_1_0_0_0 foo/bar/baz因为我不知道baz实际位于何处.
我正在运行CVS 1.11所以我没有rls可用的命令.
我已经使用过Subversion(从前十年开始插入年份),但现在我在使用CVS的公司.对于从旧版本控制系统到新版本的人来说,有大量的操作指南,教程,备忘单等,但对于我们中的少数人来说,采用"错误"的方式有什么用呢?
我正在为svn,git或其他流行系统寻找适合当前经验丰富的开发人员的秘籍表,技巧,陷阱.不需要用于版本控制新手的东西,或者文章颂扬CVS的优点,而不是在"64K RAM足够多"的日子里使用的东西.
我使用Mercurial来控制我的源代码.但有些人更喜欢其他版本控制系统(如git,Bazaar,SVN,CVS).
我想知道,是否可以同时在多个系统下存储存储库,以便人们可以使用他们想要的任何存储库?
我正在将一大堆CVS和RCS存储库转换为Subversion.我偶尔遇到一个损坏的v文件.我已经弄清楚如何手动修复这些,但它变得乏味,我的最新项目有很多损坏的文件,比我手动修复更多.
所以我想要一个工具来解析RCS文件并修复它们.这可能意味着一些旧版本将不完整.例如,我已经看到缺少版本1.1的情况,因此添加一个空的修订版,其中包含一条注释表明它已丢失.
我已经做了很多搜索试图找到这样一个工具,但没有发现任何东西.我正要开始编写自己的工具,但我想先试试这里.
我知道我可以获得代码快照并导入它们,如果必须的话我会诉诸于此(只是为了阻止这些建议:)
++感谢
我正在看一个doxygen代码示例并看到以下内容.
/**
@file test.h
@brief Define helper functions
$Id: test.h,v 1.10 2012/10/10 10:10:10 author Exp $
*/
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释$ Id:在这里做什么?
谢谢
我在两台机器上执行了相同的cvs命令,它只在其中一台机器上运行.命令是:
cvs -d %CVSROOT% ls "module"
Run Code Online (Sandbox Code Playgroud)
*在第一台机器中,它直接返回模块下的文件.*我添加了-R参数以使调用递归,这次我收到错误:
cvs [ls aborted]:远程服务器不支持rls.请求的选项不可用.
在第二台机器中我甚至在没有添加-R命令的情况下直接出错:cvs [ls aborted]:服务器不支持ls
两台机器都连接到相同的服务器和相同的模块以及相同的CVS根和相同的CVSNT版本.
我刚刚将 Mac 升级到 Catalina,但 cvs 似乎无法正常工作。我尝试的几乎每个命令都给了我一个关于错误的变体:
cvs [init aborted]: cannot get working directory: No such file or directory
Run Code Online (Sandbox Code Playgroud)
这不仅适用于现有存储库,而且如果我尝试设置新存储库或新 cvsroot(如上所述)。
我已经尝试通过 Homebrew 重新安装 cvs,但问题仍然存在。
有没有其他人遇到过这种情况,有没有人有解决方法的建议?(显然我可以将这些东西转移到 git 或类似的东西,但它主要是遗留项目,我不太热衷于去努力)