* Support Subversion checkouts.

[?]
Nov 25, 2008, 6:13 PM
ZVTSOVHNQNQCRF3N44RKDQSL3UM7HSLTAXICMWEE6EIA6SWJXZCQC

Dependencies

Change contents

  • replacement in src/Hydra/lib/Hydra/Schema/Buildinputs.pm at line 39
    [4.782][3.0:142]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 17:11:25
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:/SS7rITRzALAmC9rNn70cQ
    [4.782]
    [4.924]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Mwn4Pp+vduPrAU9s089pAg
  • replacement in src/Hydra/lib/Hydra/Schema/Buildproducts.pm at line 36
    [4.4922][3.143:285]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 17:11:25
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:j3niyjyAmX10xY1maNh4gA
    [4.4922]
    [4.5064]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:kzQauEWWXur6WilY/1LcfA
  • replacement in src/Hydra/lib/Hydra/Schema/Buildresultinfo.pm at line 32
    [4.2382][3.364:506]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 17:11:25
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:/KtAIFiCb8EkAMd6OdHSXA
    [4.2382]
    [4.2524]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:85sz3phT3arumqXladRtMQ
  • replacement in src/Hydra/lib/Hydra/Schema/Builds.pm at line 73
    [4.6194][3.507:649]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 17:11:25
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Ig6LUSp4zaPhrxuzC8gL4Q
    [4.6194]
    [4.3377]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:1fnKUzCj0eAt4HWx0UB3SA
  • replacement in src/Hydra/lib/Hydra/Schema/Buildschedulinginfo.pm at line 26
    [4.4473][3.650:792]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 17:11:25
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:QuIbtSr8Q9JwhAcePu3Kuw
    [4.4473]
    [4.4615]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:+a/kUdHtdjxdAOBSWdUsVA
  • replacement in src/Hydra/lib/Hydra/Schema/Buildsteps.pm at line 38
    [4.2816][3.793:935]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 17:11:25
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:sLsyDl8Nu63DWaYDIYBTkg
    [4.2816]
    [4.2958]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:FYosIfp2O9OAolXdzalK+Q
  • file addition: Cachedpathinputs.pm (----------)
    [2.207]
    package Hydra::Schema::Cachedpathinputs;
    use strict;
    use warnings;
    use base 'DBIx::Class';
    __PACKAGE__->load_components("Core");
    __PACKAGE__->table("CachedPathInputs");
    __PACKAGE__->add_columns(
    "srcpath",
    { data_type => "text", is_nullable => 0, size => undef },
    "timestamp",
    { data_type => "integer", is_nullable => 0, size => undef },
    "lastseen",
    { data_type => "integer", is_nullable => 0, size => undef },
    "sha256hash",
    { data_type => "text", is_nullable => 0, size => undef },
    "storepath",
    { data_type => "text", is_nullable => 0, size => undef },
    );
    __PACKAGE__->set_primary_key("srcpath", "sha256hash");
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:KhMAz8E3CDxG2D+zleQEFw
    # You can replace this text with custom content, and it will be preserved on regeneration
    1;
  • file addition: Cachedsubversioninputs.pm (----------)
    [2.207]
    package Hydra::Schema::Cachedsubversioninputs;
    use strict;
    use warnings;
    use base 'DBIx::Class';
    __PACKAGE__->load_components("Core");
    __PACKAGE__->table("CachedSubversionInputs");
    __PACKAGE__->add_columns(
    "uri",
    { data_type => "text", is_nullable => 0, size => undef },
    "revision",
    { data_type => "integer", is_nullable => 0, size => undef },
    "sha256hash",
    { data_type => "text", is_nullable => 0, size => undef },
    "storepath",
    { data_type => "text", is_nullable => 0, size => undef },
    );
    __PACKAGE__->set_primary_key("uri", "revision");
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:S62F6Z2wPT/+NoIApQcBmQ
    # You can replace this text with custom content, and it will be preserved on regeneration
    1;
  • replacement in src/Hydra/lib/Hydra/Schema/Jobsetinputalts.pm at line 34
    [4.1831][3.936:1078]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 17:11:25
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:nL04tddxVrJnpaDHMBWkEQ
    [4.1831]
    [4.1973]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:6N8dRzQi9IYgP5F2rbDtWg
  • replacement in src/Hydra/lib/Hydra/Schema/Jobsetinputs.pm at line 46
    [4.1681][3.1079:1221]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 17:11:25
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:vPNmAznaZ6z3M8eYOwnENg
    [4.1681]
    [4.1823]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:QeB1Zh2L3q81y5j+fLcazw
  • replacement in src/Hydra/lib/Hydra/Schema/Jobsets.pm at line 51
    [4.2992][3.1222:1364]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 17:11:25
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:juL3q644z+R8S4ynbp6MMw
    [4.2992]
    [4.3134]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:6aZCPgci+SLJuoGHcR3boA
  • replacement in src/Hydra/lib/Hydra/Schema/Projects.pm at line 33
    [4.3685][3.1365:1507]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 17:11:25
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:e+sS5o6q9SX12ik9beTuFQ
    [4.3685]
    [4.3827]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:meEhwhiWsywgQlrkwOz48A
  • replacement in src/Hydra/lib/Hydra/Schema.pm at line 11
    [4.6498][3.1508:1650]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 17:11:25
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:4eWDgovhuQLEGBA42J9kKA
    [4.6498]
    [4.6640]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:woBkuPRoV3DnJmHdcZ2ZIg
  • edit in src/Hydra/programs/Scheduler.pl at line 107
    [4.7071]
    [4.7071]
    elsif ($type eq "svn") {
    my $uri = $alt->value;
    my $sha256;
    my $storePath;
    # First figure out the last-modified revision of the URI.
    my @cmd = (["svn", "ls", "-v", "--depth", "empty", $uri],
    "|", ["sed", 's/^ *\([0-9]*\).*/\1/']);
    my $stdout; my $stderr;
    die "cannot get head revision of Subversion repository at `$uri':\n$stderr"
    unless IPC::Run::run(@cmd, \$stdout, \$stderr);
    my $revision = $stdout; chomp $revision;
    die unless $revision =~ /^\d+$/;
    (my $cachedInput) = $db->resultset('Cachedsubversioninputs')->search(
    {uri => $uri, revision => $revision});
    if (defined $cachedInput && isValidPath($cachedInput->storepath)) {
    $storePath = $cachedInput->storepath;
    $sha256 = $cachedInput->sha256hash;
    } else {
    # Then download this revision into the store.
    print "checking out Subversion input ", $input->name, " from $uri revision $revision\n";
    $ENV{"NIX_HASH_ALGO"} = "sha256";
    $ENV{"PRINT_PATH"} = "1";
    (my $res, $stdout, $stderr) = captureStdoutStderr(
    "nix-prefetch-svn", $uri, $revision);
    die "cannot check out Subversion repository `$uri':\n$stderr" unless $res;
  • edit in src/Hydra/programs/Scheduler.pl at line 139
    [4.7072]
    [4.5439]
    ($sha256, $storePath) = split ' ', $stdout;
    $db->txn_do(sub {
    $db->resultset('Cachedsubversioninputs')->create(
    { uri => $uri
    , revision => $revision
    , sha256hash => $sha256
    , storepath => $storePath
    });
    });
    }
    $$inputInfo{$input->name} =
    { type => $type
    , uri => $uri
    , storePath => $storePath
    , sha256hash => $sha256
    , revision => $revision
    };
    }
  • replacement in src/Hydra/programs/Scheduler.pl at line 166
    [4.7083][4.7083:7152]()
    die "input `" . $input->type . "' has unknown type `$type'";
    [4.7083]
    [4.7152]
    die "input `" . $input->name . "' has unknown type `$type'";
  • replacement in src/Hydra/programs/Scheduler.pl at line 401
    [4.4665][4.4665:4711]()
    setProjectError($jobset, $@);
    [4.4665]
    [4.4711]
    setJobsetError($jobset, $@);
  • edit in src/hydra.sql at line 244
    [4.5645]
    create table CachedSubversionInputs (
    uri text not null,
    revision integer not null,
    sha256hash text not null,
    storePath text not null,
    primary key (uri, revision)
    );