Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(471)

Side by Side Diff: trychange.py

Issue 1702012: Hack to work around bad cygwin, TMP and svn interaction. (Closed)
Patch Set: Final version Created 10 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # Copyright (c) 2009 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2009 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 """Client-side script to send a try job to the try server. It communicates to 5 """Client-side script to send a try job to the try server. It communicates to
6 the try server by either writting to a svn repository or by directly connecting 6 the try server by either writting to a svn repository or by directly connecting
7 to the server by HTTP. 7 to the server by HTTP.
8 """ 8 """
9 9
10 import datetime 10 import datetime
(...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 temp_file.flush() 346 temp_file.flush()
347 347
348 # Diff file 348 # Diff file
349 current_time = str(datetime.datetime.now()).replace(':', '.') 349 current_time = str(datetime.datetime.now()).replace(':', '.')
350 file_name = (EscapeDot(options.user) + '.' + EscapeDot(options.name) + 350 file_name = (EscapeDot(options.user) + '.' + EscapeDot(options.name) +
351 '.%s.diff' % current_time) 351 '.%s.diff' % current_time)
352 full_path = os.path.join(temp_dir, file_name) 352 full_path = os.path.join(temp_dir, file_name)
353 gclient_utils.FileWrite(full_path, options.diff, 'wb') 353 gclient_utils.FileWrite(full_path, options.diff, 'wb')
354 354
355 # Committing it will trigger a try job. 355 # Committing it will trigger a try job.
356 command = ['svn', 'import', '-q', temp_dir, options.svn_repo, '--file', 356 if sys.platform == "cygwin":
357 # Small chromium-specific issue here:
358 # git-try uses /usr/bin/python on cygwin but svn.bat will be used
359 # instead of /usr/bin/svn by default. That causes bad things(tm) since
360 # Windows' svn.exe has no clue about cygwin paths. Hence force to use
361 # the cygwin version in this particular context.
362 exe = "/usr/bin/svn"
363 else:
364 exe = "svn"
365 command = [exe, 'import', '-q', temp_dir, options.svn_repo, '--file',
357 temp_file.name] 366 temp_file.name]
358 gclient_utils.CheckCall(command) 367 gclient_utils.CheckCall(command)
359 except gclient_utils.CheckCallError, e: 368 except gclient_utils.CheckCallError, e:
360 out = e.stdout 369 out = e.stdout
361 if e.stderr: 370 if e.stderr:
362 out += e.stderr 371 out += e.stderr
363 raise NoTryServerAccess(' '.join(e.command) + '\nOuput:\n' + out) 372 raise NoTryServerAccess(' '.join(e.command) + '\nOuput:\n' + out)
364 finally: 373 finally:
365 temp_file.close() 374 temp_file.close()
366 shutil.rmtree(temp_dir, True) 375 shutil.rmtree(temp_dir, True)
(...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 except (InvalidScript, NoTryServerAccess), e: 696 except (InvalidScript, NoTryServerAccess), e:
688 if swallow_exception: 697 if swallow_exception:
689 return 1 698 return 1
690 print e 699 print e
691 return 1 700 return 1
692 return 0 701 return 0
693 702
694 703
695 if __name__ == "__main__": 704 if __name__ == "__main__":
696 sys.exit(TryChange(None, [], False)) 705 sys.exit(TryChange(None, [], False))
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698