• 
      

    Add recursive landing support

    Review Request #7330 — Created May 22, 2015 and submitted

    Information

    RBTools
    master
    92aa9a9...

    Reviewers

    The rbt land command can now land review requests recursively; that
    is, it can now land all the unlanded review requests in the same
    repository that the review request depends on. It also does this in
    the correct order so that they should apply successfully.

    This is accomplished by building a dependency graph of the review
    request and generating a topological sorting of this graph. The
    reversed topological sorting yields a correct order for landing the
    dependant review requests. This is because the relationship that
    determines what to land first is blocking. A reversed topological
    sorting of the dependency graph is a valid topological sorting of the
    blocking graph (as the blocking graph is the transpose graph of the
    dependency graph).

    Graph utilities have been added in rbtools.utils.graphs for
    traversing a graph in depth-first order, generating a topological
    sort, and determining if a path exists between two vertices in a
    graph.

    Succesfully landed https://reviews.reviewboard.org/r/7323 and all of
    its dependencies recursively.

    Description From Last Updated

    I think the typical abbreviation of "topological" is "topo", not "top".

    daviddavid
    reviewbot
    1. Tool: Pyflakes
      Processed Files:
          rbtools/commands/land.py
          rbtools/api/resource.py
          rbtools/utils/graphs.py
      
      
      
      Tool: PEP8 Style Checker
      Processed Files:
          rbtools/commands/land.py
          rbtools/api/resource.py
          rbtools/utils/graphs.py
      
      
    2. 
        
    david
    1. 
        
    2. rbtools/utils/graphs.py (Diff revision 1)
       
       
      Show all issues

      I think the typical abbreviation of "topological" is "topo", not "top".

    3. 
        
    brennie
    reviewbot
    1. Tool: PEP8 Style Checker
      Processed Files:
          rbtools/commands/land.py
          rbtools/api/resource.py
          rbtools/utils/graphs.py
      
      
      
      Tool: Pyflakes
      Processed Files:
          rbtools/commands/land.py
          rbtools/api/resource.py
          rbtools/utils/graphs.py
      
      
    2. 
        
    david
    1. Did you forget to set the parent revision when posting? It looks like this latest revision also contains the refactor changes.

      1. I did indeed, oops!

    2. 
        
    brennie
    reviewbot
    1. Tool: Pyflakes
      Processed Files:
          rbtools/commands/land.py
          rbtools/api/resource.py
          rbtools/utils/graphs.py
      
      
      
      Tool: PEP8 Style Checker
      Processed Files:
          rbtools/commands/land.py
          rbtools/api/resource.py
          rbtools/utils/graphs.py
      
      
    2. 
        
    david
    1. Ship It!
    2. 
        
    brennie
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to master (92c5e8e)