Commit 5d0fc9a7 authored by maruel@chromium.org's avatar maruel@chromium.org

Handle exceptions thrown when shelling out svn commit

So temporary files aren't left around.

R=dpranke@chromium.org
BUG=
TEST=


Review URL: http://codereview.chromium.org/8758004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@112358 0039d316-1c4b-4281-b951-d872f2087c98
parent a8e8163a
......@@ -1000,19 +1000,25 @@ def CMDcommit(change_info, args):
handle, commit_filename = tempfile.mkstemp(text=True)
os.write(handle, commit_message)
os.close(handle)
handle, targets_filename = tempfile.mkstemp(text=True)
os.write(handle, "\n".join(change_info.GetFileNames()))
os.close(handle)
commit_cmd += ['--file=' + commit_filename]
commit_cmd += ['--targets=' + targets_filename]
# Change the current working directory before calling commit.
previous_cwd = os.getcwd()
os.chdir(change_info.GetLocalRoot())
output = RunShell(commit_cmd, True)
os.remove(commit_filename)
os.remove(targets_filename)
try:
handle, targets_filename = tempfile.mkstemp(text=True)
os.write(handle, "\n".join(change_info.GetFileNames()))
os.close(handle)
try:
commit_cmd += ['--file=' + commit_filename]
commit_cmd += ['--targets=' + targets_filename]
# Change the current working directory before calling commit.
previous_cwd = os.getcwd()
os.chdir(change_info.GetLocalRoot())
output = ''
try:
output = RunShell(commit_cmd, True)
except subprocess2.CalledProcessError, e:
ErrorExit('Commit failed.\n%s' % e)
finally:
os.remove(commit_filename)
finally:
os.remove(targets_filename)
if output.find("Committed revision") != -1:
change_info.Delete()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment