• 
      

    Clean up config handling in rbtools and fix search path.

    Review Request #7001 — Created March 2, 2015 and submitted

    Information

    RBTools
    release-0.7.x
    4e2943b...

    Reviewers

    One pretty major change between the way post-review handled configs and the way
    rbt handled configs is that in post-review, $HOME/.reviewboardrc was considered
    last, whereas in rbt, it was considered first. I've changed our new
    load_config implementation so that any .reviewboardrc files in your current
    directory (or a parent of your current directory) take priority over the one in
    the home directory.

    As I did this, I noticed that the way config was passed around was pretty
    crazy. Once upon a time the clients had a list of each config file, and then a
    separate entry for the user_config from the home directory. After our big
    clients/commands refactors, the configs list had only one item, and it was
    the same as the user_config. We also still had the old load_config_files
    implementation, which was still used in some unit tests.

    I've cleaned all this up so that we instantiate SCMClients with a single config
    dictionary, which is populated according to the above search order. There's no
    more separate configs vs. user_config, and everything is nice and clean.

    Testing done:
    - Ran unit tests.
    - Ran rbt list-repo-types (for the extra load_scmtools() call)
    - Posted this change.

    • Ran unit tests.
    • Ran rbt list-repo-types (for the extra load_scmtools() call)
    • Posted this change.
    reviewbot
    1. Tool: Pyflakes
      Processed Files:
          rbtools/clients/tfs.py
          rbtools/commands/__init__.py
          rbtools/clients/tests.py
          rbtools/clients/__init__.py
          rbtools/utils/filesystem.py
          rbtools/clients/git.py
          rbtools/commands/list_repo_types.py
      
      
      
      Tool: PEP8 Style Checker
      Processed Files:
          rbtools/clients/tfs.py
          rbtools/commands/__init__.py
          rbtools/clients/tests.py
          rbtools/clients/__init__.py
          rbtools/utils/filesystem.py
          rbtools/clients/git.py
          rbtools/commands/list_repo_types.py
      
      
    2. 
        
    chipx86
    1. Ship It!
    2. 
        
    david
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-0.7.x (7e7d68f)