Finish copyClosure

[?]
Jun 9, 2015, 2:03 PM
6TY4LNHHAUSZNFDN34CHUWMZSQN5I3LNOOSV457M44FDGZB76X4AC

Dependencies

Change contents

  • edit in src/hydra-queue-runner/build-remote.cc at line 64
    [2.1541][2.1541:1593]()
    Paths sorted = topoSortPaths(*store, closure);
  • replacement in src/hydra-queue-runner/build-remote.cc at line 72
    [2.1954][2.1954:1984]()
    writeStrings(sorted, to);
    [2.1954]
    [2.1984]
    writeStrings(closure, to);
  • replacement in src/hydra-queue-runner/build-remote.cc at line 79
    [2.2138][2.2138:2295]()
    PathSet missing;
    std::set_difference(closure.begin(), closure.end(), present.begin(), present.end(),
    std::inserter(missing, missing.end()));
    [2.2138]
    [2.2295]
    if (present.size() == closure.size()) return;
    Paths sorted = topoSortPaths(*store, closure);
    Paths missing;
    for (auto i = sorted.rbegin(); i != sorted.rend(); ++i)
    if (present.find(*i) == present.end()) missing.push_back(*i);
  • replacement in src/hydra-queue-runner/build-remote.cc at line 88
    [2.2374][2.2374:2407]()
    if (missing.empty()) return;
    [2.2374]
    [2.2407]
    writeInt(cmdImportPaths, to);
    exportPaths(*store, missing, false, to);
    to.flush();
  • replacement in src/hydra-queue-runner/build-remote.cc at line 93
    [2.2408][2.2408:2439]()
    throw Error("NOT IMPL 1");
    [2.2408]
    [2.2439]
    if (readInt(from) != 1)
    throw Error("remote machine failed to import closure");