| Index: git_cl.py | 
| diff --git a/git_cl/git_cl.py b/git_cl.py | 
| old mode 100644 | 
| new mode 100755 | 
| similarity index 97% | 
| rename from git_cl/git_cl.py | 
| rename to git_cl.py | 
| index 665e2a0c5646d10c53801c80a8e5053b0f1b2983..6f2f56177d2dbeffdde1e7b7516c853c362b26e1 | 
| --- a/git_cl/git_cl.py | 
| +++ b/git_cl.py | 
| @@ -19,19 +19,23 @@ try: | 
| except ImportError: | 
| pass | 
|  | 
| -# TODO(dpranke): don't use relative import. | 
| -import upload  # pylint: disable=W0403 | 
| try: | 
| -  # TODO(dpranke): We wrap this in a try block for a limited form of | 
| -  # backwards-compatibility with older versions of git-cl that weren't | 
| -  # dependent on depot_tools. This version should still work outside of | 
| -  # depot_tools as long as --bypass-hooks is used. We should remove this | 
| -  # once this has baked for a while and things seem safe. | 
| -  depot_tools_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) | 
| -  sys.path.append(depot_tools_path) | 
| -  import breakpad  # pylint: disable=W0611 | 
| +  import simplejson as json  # pylint: disable=F0401 | 
| except ImportError: | 
| -  pass | 
| +  try: | 
| +    import json | 
| +  except ImportError: | 
| +    # Fall back to the packaged version. | 
| +    from third_party import simplejson as json | 
| + | 
| + | 
| +from third_party import upload | 
| +import breakpad  # pylint: disable=W0611 | 
| +import presubmit_support | 
| +import scm | 
| +import watchlists | 
| + | 
| + | 
|  | 
| DEFAULT_SERVER = 'http://codereview.appspot.com' | 
| POSTUPSTREAM_HOOK_PATTERN = '.git/hooks/post-cl-%s' | 
| @@ -771,10 +775,6 @@ def ConvertToInteger(inputval): | 
|  | 
| def RunHook(committing, upstream_branch, rietveld_server, tbr, may_prompt): | 
| """Calls sys.exit() if the hook fails; returns a HookResults otherwise.""" | 
| -  import presubmit_support | 
| -  import scm | 
| -  import watchlists | 
| - | 
| root = RunCommand(['git', 'rev-parse', '--show-cdup']).strip() | 
| if not root: | 
| root = '.' | 
| @@ -1311,18 +1311,6 @@ def GetTreeStatus(): | 
| def GetTreeStatusReason(): | 
| """Fetches the tree status from a json url and returns the message | 
| with the reason for the tree to be opened or closed.""" | 
| -  # Don't import it at file level since simplejson is not installed by default | 
| -  # on python 2.5 and it is only used for git-cl tree which isn't often used, | 
| -  # forcing everyone to install simplejson isn't efficient. | 
| -  try: | 
| -    import simplejson as json  # pylint: disable=F0401 | 
| -  except ImportError: | 
| -    try: | 
| -      import json | 
| -    except ImportError: | 
| -      print >> sys.stderr, 'Please install simplejson' | 
| -      sys.exit(1) | 
| - | 
| url = settings.GetTreeStatusUrl() | 
| json_url = urlparse.urljoin(url, '/current?format=json') | 
| connection = urllib2.urlopen(json_url) | 
|  |