Fix gclient hook for stubborn hooks.

R=szager@chromium.org
BUG=

Review URL: https://codereview.chromium.org/497333003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291574 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/gclient.py b/gclient.py
index a92cce0..fb97759 100755
--- a/gclient.py
+++ b/gclient.py
@@ -1316,10 +1316,12 @@
     # Return a new GClient instance based on the new content.
     new_content = ast2str(a)
     dot_gclient_fn = os.path.join(path, options.config_filename)
-    os.rename(dot_gclient_fn, dot_gclient_fn + '.old')
-    fh = open(dot_gclient_fn, 'w')
-    fh.write(new_content)
-    fh.close()
+    try:
+      os.rename(dot_gclient_fn, dot_gclient_fn + '.old')
+    except OSError:
+      pass
+    with open(dot_gclient_fn, 'w') as fh:
+      fh.write(new_content)
     client = GClient(path, options)
     client.SetConfig(new_content)
     return client