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

Side by Side Diff: scm.py

Issue 6899052: Fix when entry is None. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Created 9 years, 8 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 | Annotate | Revision Log
« 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 # Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """SCM-specific utility classes.""" 5 """SCM-specific utility classes."""
6 6
7 import cStringIO 7 import cStringIO
8 import glob 8 import glob
9 import logging 9 import logging
10 import os 10 import os
(...skipping 500 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 def CaptureInfo(cwd): 511 def CaptureInfo(cwd):
512 """Returns a dictionary from the svn info output for the given file. 512 """Returns a dictionary from the svn info output for the given file.
513 513
514 Throws an exception if svn info fails.""" 514 Throws an exception if svn info fails."""
515 result = {} 515 result = {}
516 output = SVN.Capture(['info', '--xml', cwd]) 516 output = SVN.Capture(['info', '--xml', cwd])
517 info = ElementTree.XML(output) 517 info = ElementTree.XML(output)
518 if info is None: 518 if info is None:
519 return result 519 return result
520 entry = info.find('entry') 520 entry = info.find('entry')
521 if entry is None:
522 return result
521 523
522 # Use .text when the item is not optional. 524 # Use .text when the item is not optional.
523 result['Path'] = entry.attrib['path'] 525 result['Path'] = entry.attrib['path']
524 result['Revision'] = int(entry.attrib['revision']) 526 result['Revision'] = int(entry.attrib['revision'])
525 result['Node Kind'] = entry.attrib['kind'] 527 result['Node Kind'] = entry.attrib['kind']
526 # Differs across versions. 528 # Differs across versions.
527 if result['Node Kind'] == 'dir': 529 if result['Node Kind'] == 'dir':
528 result['Node Kind'] = 'directory' 530 result['Node Kind'] = 'directory'
529 result['URL'] = entry.find('url').text 531 result['URL'] = entry.find('url').text
530 repository = entry.find('repository') 532 repository = entry.find('repository')
(...skipping 450 matching lines...) Expand 10 before | Expand all | Expand 10 after
981 if (file_status[0][0] in ('D', 'A', '!') or 983 if (file_status[0][0] in ('D', 'A', '!') or
982 not file_status[0][1:].isspace()): 984 not file_status[0][1:].isspace()):
983 # Added, deleted file requires manual intervention and require calling 985 # Added, deleted file requires manual intervention and require calling
984 # revert, like for properties. 986 # revert, like for properties.
985 try: 987 try:
986 SVN.Capture(['revert', file_status[1]], cwd=repo_root) 988 SVN.Capture(['revert', file_status[1]], cwd=repo_root)
987 except gclient_utils.CheckCallError: 989 except gclient_utils.CheckCallError:
988 if not os.path.exists(file_path): 990 if not os.path.exists(file_path):
989 continue 991 continue
990 raise 992 raise
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