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)