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