OLD | NEW |
1 # Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2006-2009 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 os | 7 import os |
8 import re | 8 import re |
9 import subprocess | 9 import subprocess |
10 import sys | 10 import sys |
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
356 Args: | 356 Args: |
357 file: The file to check | 357 file: The file to check |
358 property_name: The name of the SVN property, e.g. "svn:mime-type" | 358 property_name: The name of the SVN property, e.g. "svn:mime-type" |
359 | 359 |
360 Returns: | 360 Returns: |
361 The value of the property, which will be the empty string if the property | 361 The value of the property, which will be the empty string if the property |
362 is not set on the file. If the file is not under version control, the | 362 is not set on the file. If the file is not under version control, the |
363 empty string is also returned. | 363 empty string is also returned. |
364 """ | 364 """ |
365 output = SVN.Run(["propget", property_name, file], None) | 365 output = SVN.Run(["propget", property_name, file], None) |
366 if (output.startswith("svn: ") and | 366 if (output and |
| 367 output.startswith("svn: ") and |
367 output.endswith("is not under version control")): | 368 output.endswith("is not under version control")): |
368 return "" | 369 return "" |
369 else: | 370 else: |
370 return output | 371 return output |
371 | 372 |
372 @staticmethod | 373 @staticmethod |
373 def DiffItem(filename): | 374 def DiffItem(filename): |
374 """Diff a single file""" | 375 """Diff a single file""" |
375 # Use svn info output instead of os.path.isdir because the latter fails | 376 # Use svn info output instead of os.path.isdir because the latter fails |
376 # when the file is deleted. | 377 # when the file is deleted. |
(...skipping 29 matching lines...) Expand all Loading... |
406 filename = filename.replace('\\', '/') | 407 filename = filename.replace('\\', '/') |
407 data = "Index: %s\n" % filename | 408 data = "Index: %s\n" % filename |
408 data += ("=============================================================" | 409 data += ("=============================================================" |
409 "======\n") | 410 "======\n") |
410 # Note: Should we use /dev/null instead? | 411 # Note: Should we use /dev/null instead? |
411 data += "--- %s\n" % filename | 412 data += "--- %s\n" % filename |
412 data += "+++ %s\n" % filename | 413 data += "+++ %s\n" % filename |
413 data += "@@ -0,0 +1,%d @@\n" % nb_lines | 414 data += "@@ -0,0 +1,%d @@\n" % nb_lines |
414 data += ''.join(file_content) | 415 data += ''.join(file_content) |
415 return data | 416 return data |
OLD | NEW |