代码之家  ›  专栏  ›  技术社区  ›  John Sibly

是否有人知道cvs命令行选项以获取上次签入的详细信息?

  •  5
  • John Sibly  · 技术社区  · 17 年前

    我正在Windows上使用cvs(使用Wincvs前端),并且希望在构建失败时,将上次签入的详细信息添加到来自我们的自动构建过程的电子邮件中,以便更容易修复。

    我需要知道已经更改的文件、更改它们的用户以及注释。

    我一直在尝试制定命令行选项,但似乎从未得到准确的结果(不是从一次签入中获得太多的结果,而是从两周前的某个随机签入的详细信息)

    9 回复  |  直到 17 年前
        1
  •  1
  •   Rob Wells    17 年前

    真的。

    我忘了这有多难。我以前做的是两个阶段的过程。

    首先,跑步

    cvs history -c -a -D "7 days ago" |
        gawk '{ print "$1 == \"" $6 "\" && $2 == \"" $8 "/" $7 "\" { print \"" $2 " " $3 " " $6 " " $5 " " $8 "/" $7 "\"; next }" }' > /tmp/$$.awk
    

    收集有关前7天所有签入的信息,并生成一个脚本,该脚本将用于创建已发送电子邮件的一部分。

    然后我在包含断开文件的目录中拖拽cvs/entries文件以获取更多信息。

    一起咀嚼这两个允许我指认罪魁祸首,并发送电子邮件给他们通知他们他们破坏了建设。

    很抱歉,这个答案没有我希望的那么完整。

        2
  •  2
  •   Jason Terk    17 年前

    cvs不像其他版本控制系统那样对变更集进行分组;每个文件都有自己独立的版本号和历史记录。这是简历中的一个缺陷,它促使人们转向新的风险投资公司。

    也就是说,有很多方法可以实现你的目标。最简单的方法可能是添加一个提交后挂钩,以向文件发送电子邮件或日志。然后,至少,您可以通过查看发送电子邮件的时间和更改者,将一组提交组合在一起。

        3
  •  1
  •   Zathrus    17 年前

    CVS不提供此功能。但是,您可以通过购买 FishEye 或者可能通过使用 CVSTrac (注:我没有尝试过cvs-trac)。

    或者您可以迁移到SVN,它通过原子提交提供了这个功能。您可以签入一组文件,并将其计为单个提交。在cvs中,无论您做什么,每个文件都是单独的提交。

        4
  •  1
  •   Kevin Gale    17 年前

    我们通过一个Perl脚本完成了这项工作,该脚本将转储changelog,您可以在第二个链接上获得一个Perl for Windows的免费版本。

    Cvs2Cl script

    Active Perl

        5
  •  1
  •   Instance Hunter    17 年前

    我在cvsroot中使用loginfo并将该信息写入文件

    http://ximbiot.com/cvs/manual/cvs-1.11.23/cvs_18.html#SEC186

        6
  •  0
  •   flxkid    17 年前

    “简历历史-A-L”能让你接近吗?为所有用户显示每个项目的上一个事件…

        7
  •  0
  •   Oliver Giesen    17 年前

    支持向量机 commit IDs 它可以用来代替日志、签出或更新命令中的标记。提交的每一组文件(提交在cvsnt中是原子的)都会收到自己唯一的ID。您只需首先通过cvs日志确定最后一个签入文件的commitid(您可以通过-d“1小时前”或类似方式限制输出),然后查询其他哪些文件具有该ID。

        8
  •  0
  •   Olaf Kock    17 年前

    Eclipse内置了变更集。您可以通过提交来浏览最后的更改(至少是传入的更改,即更新)。它通过按作者、提交消息和类似的时间戳对提交进行分组来实现这一点。

    这也适用于“比较/其他分支或版本”,您可以在其中选择分支、标记和日期。查看同步视图图标以获得带有“更改集”的弹出菜单,并亲自查看。

    编辑:这需要至少作为一个查看器更改为Eclipse,但根据需要比较和分组的频率,这可能并不太糟糕。如果你不想更多的使用Eclipse,只对cvs使用。它甚至可以通过RCP和所有插件获得一个合适大小的图形化CVS客户机,但这肯定是超出范围的…

        9
  •  0
  •   Jeffrey Fredrick    17 年前

    这不是解决的问题吗?我会想到 CI Matrix 同时支持cvs和email通知的功能可以为您做到这一点。

    推荐文章