cq_deps: Process deps of unsubmitted parents

Process dependencies of unsubmitted parent CLs. If CL A has parent B and
B is unsubmitted and depends on C in another repository, cq_deps will
list C as a dependency of A.

There are a couple corner cases. If A depends an B and B depends on C
which is an unsubmitted parent of A, then C is not listed as a
dependency of A—that dependency is already implicit when patching in A.

Another corner case is that in the same case as above (A depends on B
depends on C which is an unsubmitted parent of A) except A is based on
an out-of-date version of C. In this case tryjobs for B and C will
check out code successfully but tryjobs for A will fail because it's not
based on a current version of its parent.

Change-Id: I21e4ad9ee44f8a0354c026db6daa2f8e66c118bf
Bug: 233
Reviewed-on: https://pigweed-review.googlesource.com/c/infra/recipes/+/22182
Commit-Queue: Rob Mohr <mohrr@google.com>
Reviewed-by: Marc-Antoine Ruel <maruel@google.com>
44 files changed
tree: 29e4f0ee3b32848b42686a1a95d79848daec08e1
  1. infra/
  2. recipe_modules/
  3. recipes/
  4. .gitignore
  5. .style.yapf
  6. recipes.py