【问题标题】:Use a different diff command with CVS?对 CVS 使用不同的 diff 命令?
【发布时间】:2009-03-10 18:59:10
【问题描述】:

是否可以在 CVS 中使用不同的差异程序?我想使用像 meld 这样的东西来为我提供存储库和我的更改的并排图形视图。我无法控制使用不同的 CMS。理想的是一些未记录的命令行参数,它可以像这样工作:

cvs diff -prog /usr/bin/meld foo.cc

这会给我一个我签出的 foo.cc 的修改版本与存储库版本的差异,但使用 diff 程序融合。

我意识到一个未记录的命令行参数不太可能,所以如果你必须一起破解它,这对我有用。

【问题讨论】:

    标签: diff cvs meld


    【解决方案1】:

    我使用 tkcvs 和 tkdiff(也不是最新版本)

    很酷的是 tkcvs 还支持颠覆。

    tkdiff 在命令行上工作并接受 cvs 标签...

    • tkdiff -rfoo_v5_0 -rfoo_v6_5 silly.c(比较两个与本地目录不同的版本)
    • tkdiff spring.h(将我的本地版本与存储库进行比较)
    • tkdiff -r1.6 happy.c(将我的本地版本与特定存储库版本进行比较)

    【讨论】:

    • 感谢您指出这一点。是否有任何可用的文档?
    【解决方案2】:

    如果您使用WinCVS,您可以在首选项中设置一个Diff 应用程序,例如WinMerge

    在 WinCVS 首选项中,选项卡 WinCVS,“外部差异程序”

    【讨论】:

    • 对 Windows 用户有用,但我使用的是 Linux。
    【解决方案3】:

    我终于找到了 Vim 的 cvsmenu plugin。它对我来说就像一种魅力。

    【讨论】:

      【解决方案4】:

      Meld 本身就支持这一点。请参阅meld.sourceforge.net 中的“工作副本”screenshot

      【讨论】:

      • 是的,但它的记录非常糟糕。我找不到我指定存储库所在的位置。我当前的方法是输入超出 $CVSROOT 的长路径,指向与我当前工作目录匹配的目录。
      • 融合 foo.cc $CVSROOT/dir1/dir2/dir3/foo.cc,v
      • 那么你如何自动化这个,所以你只需执行whatever foo.cc,它就知道在哪里寻找未修改的版本?
      猜你喜欢
      • 2015-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多