diff --git a/rbtools/clients/__init__.py b/rbtools/clients/__init__.py
index 13a2abea6229024e4305db97cba053a88fd2d3aa..7985973ec0286d8a656246282717d60d0fa97e02 100644
--- a/rbtools/clients/__init__.py
+++ b/rbtools/clients/__init__.py
@@ -13,6 +13,7 @@ class SCMClient(object):
     A base representation of an SCM tool for fetching repository information
     and generating diffs.
     """
+    name = None
 
     def __init__(self, user_config=None, configs=[], options=None):
         self.user_config = user_config
@@ -152,6 +153,7 @@ def scan_usable_client(options):
 
     # Try to find the SCM Client we're going to be working with.
     for tool in SCMCLIENTS:
+        logging.debug('Checking for a %s repository...' % tool.name)
         repository_info = tool.get_repository_info()
 
         if repository_info:
diff --git a/rbtools/clients/clearcase.py b/rbtools/clients/clearcase.py
index b71bfde5dbd2955c02529827981ab58ec9aef54e..d5acb9b0156b0df2e6e9bdfb675d22eb01211689 100644
--- a/rbtools/clients/clearcase.py
+++ b/rbtools/clients/clearcase.py
@@ -23,6 +23,7 @@ class ClearCaseClient(SCMClient):
     information and generates compatible diffs.
     This client assumes that cygwin is installed on windows.
     """
+    name = 'ClearCase'
     viewtype = None
 
     def __init__(self, **kwargs):
diff --git a/rbtools/clients/cvs.py b/rbtools/clients/cvs.py
index 97ecef9a63164be1a49073c65174e9eb243c80ee..bfbaa94ebd4c5c9536d8a03527ae110d5b3c5511 100644
--- a/rbtools/clients/cvs.py
+++ b/rbtools/clients/cvs.py
@@ -12,6 +12,8 @@ class CVSClient(SCMClient):
     A wrapper around the cvs tool that fetches repository
     information and generates compatible diffs.
     """
+    name = 'CVS'
+
     def __init__(self, **kwargs):
         super(CVSClient, self).__init__(**kwargs)
 
diff --git a/rbtools/clients/git.py b/rbtools/clients/git.py
index 01ae6157846b48a2491fe3963b45890450a7674c..50abf3719b0c7749dad731c8b074e7d112f4b52d 100644
--- a/rbtools/clients/git.py
+++ b/rbtools/clients/git.py
@@ -14,6 +14,8 @@ class GitClient(SCMClient):
     compatible diffs. This will attempt to generate a diff suitable for the
     remote repository, whether git, SVN or Perforce.
     """
+    name = 'Git'
+
     def __init__(self, **kwargs):
         super(GitClient, self).__init__(**kwargs)
         # Store the 'correct' way to invoke git, just plain old 'git' by
diff --git a/rbtools/clients/mercurial.py b/rbtools/clients/mercurial.py
index 0aff812012fc4806e9b6ab619a773815ce063ba6..a068adb03169ed0eefc0a64a9b92392277cedfdb 100644
--- a/rbtools/clients/mercurial.py
+++ b/rbtools/clients/mercurial.py
@@ -13,6 +13,7 @@ class MercurialClient(SCMClient):
     A wrapper around the hg Mercurial tool that fetches repository
     information and generates compatible diffs.
     """
+    name = 'Mercurial'
 
     def __init__(self, **kwargs):
         super(MercurialClient, self).__init__(**kwargs)
diff --git a/rbtools/clients/perforce.py b/rbtools/clients/perforce.py
index d1a643015cdb0e25c6f8add5e33a0abc01918e73..5f89cd92bd3f0e5986d0bc34e2a8fc47213e2919 100644
--- a/rbtools/clients/perforce.py
+++ b/rbtools/clients/perforce.py
@@ -18,6 +18,8 @@ class PerforceClient(SCMClient):
     A wrapper around the p4 Perforce tool that fetches repository information
     and generates compatible diffs.
     """
+    name = 'Perforce'
+
     DATE_RE = re.compile(r'(\w+)\s+(\w+)\s+(\d+)\s+(\d\d:\d\d:\d\d)\s+'
                           '(\d\d\d\d)')
 
diff --git a/rbtools/clients/plastic.py b/rbtools/clients/plastic.py
index c2192d78ce8004dce70719dacfe6530ea03658c1..d3a3de2cec74579ca4c5dde0142a2d8705b76eef 100644
--- a/rbtools/clients/plastic.py
+++ b/rbtools/clients/plastic.py
@@ -13,6 +13,8 @@ class PlasticClient(SCMClient):
     A wrapper around the cm Plastic tool that fetches repository
     information and generates compatible diffs
     """
+    name = 'Plastic'
+
     def __init__(self, **kwargs):
         super(PlasticClient, self).__init__(**kwargs)
 
diff --git a/rbtools/clients/svn.py b/rbtools/clients/svn.py
index 71840186f1564343de0805134c5aad17832e2bfe..8d7651e1ce89d85b339d2a7bf90fdf001dcc1819 100644
--- a/rbtools/clients/svn.py
+++ b/rbtools/clients/svn.py
@@ -11,14 +11,15 @@ from rbtools.utils.process import execute
 
 
 class SVNClient(SCMClient):
-    # Match the diff control lines generated by 'svn diff'.
-    DIFF_ORIG_FILE_LINE_RE = re.compile(r'^---\s+.*\s+\(.*\)')
-    DIFF_NEW_FILE_LINE_RE = re.compile(r'^\+\+\+\s+.*\s+\(.*\)')
-
     """
     A wrapper around the svn Subversion tool that fetches repository
     information and generates compatible diffs.
     """
+    name = 'Subversion'
+
+    # Match the diff control lines generated by 'svn diff'.
+    DIFF_ORIG_FILE_LINE_RE = re.compile(r'^---\s+.*\s+\(.*\)')
+    DIFF_NEW_FILE_LINE_RE = re.compile(r'^\+\+\+\s+.*\s+\(.*\)')
 
     def __init__(self, **kwargs):
         super(SVNClient, self).__init__(**kwargs)
diff --git a/rbtools/postreview.py b/rbtools/postreview.py
index f6dec17f6623f0924b5d60039a8cce8a4d1a830b..12c9a6404b204284cba53949f934921587108ccb 100755
--- a/rbtools/postreview.py
+++ b/rbtools/postreview.py
@@ -5,6 +5,7 @@ import getpass
 import logging
 import mimetools
 import os
+import platform
 import re
 import sys
 import urllib2
@@ -1211,9 +1212,15 @@ def main():
     args = parse_options(sys.argv[1:])
 
     debug('RBTools %s' % get_version_string())
+    debug('Python %s.%s.%s %s %s' % sys.version_info)
+    debug('Running on %s' % (platform.platform()))
     debug('Home = %s' % homepath)
+    debug('Current Directory = %s' % os.getcwd())
 
+    debug('Checking the repository type. Errors shown below are mostly harmless.')
     repository_info, tool = scan_usable_client(options)
+    debug('Finished checking the repository type.')
+
     tool.user_config = user_config
     tool.configs = configs
 
