标签: cvs

版本控制PHP Web项目

我们有一个我们想要版本控制的PHP项目.现在,我们有三个人正在研究项目的开发版本,该版本驻留在我们所有Eclipse IDE都链接到的外部文件夹中,因此没有版本控制.

什么是正确的方法和版本控制的最佳方式?

我们有一个SVN设置,但我们只需要找到一个检查进出的好方法,这样我们就可以在开发服务器上进行测试.有任何想法吗?

php svn cvs version-control

33
推荐指数
2
解决办法
7843
查看次数

如何恢复到CVS中的先前提交

由于遗留原因,我在项目中使用CVS.最近我做了一些改变,破坏了我们的代码,我需要将它们还原.什么是CVS的模拟git revert -r <old_revision>

查看过去的问题,例如如何还原大变更,CVS提交不会对已更改的文件进行分组.是使用日期还原的唯一方法吗?

此外,查看过去更改的最佳方式是什么?CVS日志输出太多信息,其中大部分都是不必要的.我想看到提交消息和更改的文件.

legacy cvs

33
推荐指数
4
解决办法
4万
查看次数

上下文感知合并?

是否存在用于编程语言的差异/合并工具,它以语法识别的方式工作(如XML Diff Tool),不仅仅是逐行比较(并且可选地忽略空格).

我对实际遵循语言语法和分隔符的程序感兴趣,建议在不破坏语法正确性的情况下进行更改,或者在多行中分隔语句.示例行为是:

*找到一个if(){引入额外嵌套级别的自动捆绑闭合支撑}下面的几行.)

*保持匹配语法元素在一起,避免像删除块往往创建的愚蠢:

 int function_A()
 { 
     int ret;
     ret = something;
     ret += something_else;
Run Code Online (Sandbox Code Playgroud)

      return ret;
  }

  int function_B()
  { 
     if(valid)
     {
         int ret;
         ret = something;
         ret += something_else;
Run Code Online (Sandbox Code Playgroud)

          return ret;
      }
Run Code Online (Sandbox Code Playgroud)

       else return -1;
  }
Run Code Online (Sandbox Code Playgroud)

就个人而言,我很想找到能够处理C++语法的软件,但了解其他语言的解决方案也会很有趣.

cvs diff merge semantic-analysis

32
推荐指数
6
解决办法
5336
查看次数

如何恢复CVS的重大变化?

我的一位同事完全搞砸了我们主CVS存储库中目录的内容.我需要将整个模块恢复到去年年底的状态.请问CVS命令是什么?

他添加并删除了数百个文件,因此简单的"复制旧签出和提交文件"是不够的.

我有RTFM和STFW,我试过这个:

cvs co modulename  # Note no -P option
cvs up -jHEAD -jMAIN:2008-12-30 modulename
Run Code Online (Sandbox Code Playgroud)

但这不起作用 - 他创建的新文件被删除,但旧的文件和目录不会被复活.(我没有承诺).

我可以为此编写一个shell脚本,但是这个功能肯定已经在CVS了吗?

更新:一些澄清:

  • 我可以在特定日期获得模块的本地结账.问题是如何将其重新纳入CVS.

  • 我确实有备份,但使用像CVS这样的修订控制系统的要点是它应该很容易获得任何历史状态.下次发生这样的事情时,我可能没有足够的幸运能够备份(例如备份是每天,所以我可能会失去一天的工作).

  • 我知道CVS已经老了,我们应该转向更新的东西.但是在拥有大量基于CVS的工具(结账和构建脚本,夜间构建服务器等)的大型团队中,此类迁移的时间成本相当可观.(评估,更新脚本,测试,迁移,培训,丢​​失开发人员时间,并行维护两个系统,因为旧分支仍然需要CVS).因此,这必须由管理层规划和安排.

更新#2:我将在此开始赏金. 要获得赏金资格,您必须解释如何使用普通的CVS命令恢复,而不是使用hacky shell脚本.

更新#3:服务器是CVS 1.12.13.通过pserver访问.我可以在Linux PC上使用相同版本的CVS,或在Windows上使用CVSNT 2.0.51d客户端.

cvs version-control revert

28
推荐指数
1
解决办法
2万
查看次数

GitHub与BitBucket?

我想使用SCM,但我不知道哪个更好.管理我的代码有什么好处?

git cvs mercurial github bitbucket

27
推荐指数
1
解决办法
3万
查看次数

转换git存储库文件编码

我有一个包含文件的大型CVS存储库,ISO-8859-1并希望将其转换为git.

当然我可以配置git ISO-8859-1用于编码,但我想有它utf8.

现在有了这样的工具,iconv或者recode我可以转换工作树中文件的编码.我可以用这样的消息来提交converted encoding.

我现在的问题是,是否有可能转换完整的历史记录?从cvs转换为git或之后.我的想法是编写一个脚本来读取git存储库中的每个提交并将其转换utf8为新的git存储库并将其提交.

这是可能的(我不确定哈希码以及如何遍历提交,分支和标签).或者是否有一个工具可以处理这样的事情?

git cvs utf-8 cvs2svn character-encoding

26
推荐指数
1
解决办法
2万
查看次数

为什么不建议删除CVS中的分支?

在什么情况下这或不安全?我有一个分支有四个更改(没有文件添加或删除).删除是否安全?

编辑:想要删除它的原因是它被错误命名并将导致混淆.

cvs

25
推荐指数
2
解决办法
2万
查看次数

我们如何验证推送的提交消息?

来自CVS,我们有一个策略,提交消息应该用bug号标记(简单后缀"...... [9999]").CVS脚本在提交期间检查此项,如果消息不符合则拒绝提交.

git hook commit-msg在开发人员端执行此操作,但我们发现自动系统检查并提醒我们这一点很有帮助.

在git push期间,不运行commit-msg.推送期间是否有另一个钩子可以检查提交消息?

我们如何在git推送期间验证提交消息?

git cvs push commit

25
推荐指数
2
解决办法
2万
查看次数

有没有办法从命令行获取简短的CVS状态?

执行a时cvs update,您可以获得存储库状态的很好的摘要,例如:

M src/file1.txt
M src/file2.txt
C src/file3.txt
A src/file4.txt
? src/file5.txt
Run Code Online (Sandbox Code Playgroud)

有没有办法在没有实际更新的情况下获得这个?我知道有cvs status,但这是冗长的方式:

===================================================================
File: file6.txt        Status: Up-to-date

Working revision:    1.2
Repository revision: 1.2     /var/cvs/cvsroot/file6.txt,v
Sticky Tag:          (none)
Sticky Date:         (none)
Sticky Options:      (none)
Run Code Online (Sandbox Code Playgroud)

我当然可以制作一个脚本来完成从后者到前者的转换,但似乎浪费时间,因为cvs显然可以产生前者.

cvs

24
推荐指数
1
解决办法
1万
查看次数

什么是Windows最好的CVS客户端?

我们目前正在使用WinCVS,但它很慢并且没有合并对话框.我正在寻找像Eclipse的Team Synchronize这样的东西(所以人们可以看到他们在更新之前会得到什么).

你有什么建议?使用WinMerge的TortoiseCVS

注意:OSS首选:)

windows cvs wincvs

24
推荐指数
4
解决办法
7万
查看次数