gpt4 book ai didi

perl - 如何从 Perl 中的 Subversion 预提交 Hook 访问提交的文件?

转载 作者:行者123 更新时间:2023-12-04 17:13:52 24 4
gpt4 key购买 nike

我需要执行以下操作:

  • 在 Perl 中编写预提交 Hook
  • Hook 应该检查所有提交的文件是否存在某些文本,如果没有找到该文本则失败

  • 基本上,我需要一个读取提交文件的 Perl 钩子(Hook)示例。

    我真的在寻找一些代码最少的优雅解决方案。

    笔记:
    Hook 应使用 svnlook或其他更好的方式来查找文件。

    最佳答案

    预提交钩子(Hook):

    my $repos = shift;
    my $txn = shift;

    foreach my $line (`$svnlook changed -t $txn "$repos"`)
    {
    chomp($line);
    if ($line !~ /^([AUD_]).\s\s(.+)$/)
    {
    print STDERR "Can't parse [$line].\n";
    exit(1);
    }
    else
    {
    my $action = $1;
    my $file = $2;
    chomp($file);
    #If path has trailing slash, then it is a folder and we want to skip folders
    if($file =~ /\/$/)
    {
    next;
    }
    my $fileContent = `$svnlook cat -t $txn "$repos" "$file"`;
    if ($action =~ /[AU]/)
    {
    my @lines = split(/\n/, $fileContent );
    #Check for whatever you need in this file's content

    }
    }
    }

    关于perl - 如何从 Perl 中的 Subversion 预提交 Hook 访问提交的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1689052/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com