OLD | NEW |
1 # Copyright (C) 2009 Google Inc. All rights reserved. | 1 # Copyright (C) 2009 Google Inc. All rights reserved. |
2 # | 2 # |
3 # Redistribution and use in source and binary forms, with or without | 3 # Redistribution and use in source and binary forms, with or without |
4 # modification, are permitted provided that the following conditions are | 4 # modification, are permitted provided that the following conditions are |
5 # met: | 5 # met: |
6 # | 6 # |
7 # * Redistributions of source code must retain the above copyright | 7 # * Redistributions of source code must retain the above copyright |
8 # notice, this list of conditions and the following disclaimer. | 8 # notice, this list of conditions and the following disclaimer. |
9 # * Redistributions in binary form must reproduce the above | 9 # * Redistributions in binary form must reproduce the above |
10 # copyright notice, this list of conditions and the following disclaimer | 10 # copyright notice, this list of conditions and the following disclaimer |
(...skipping 16 matching lines...) Expand all Loading... |
27 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 27 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
28 | 28 |
29 """WebKit's Python module for interacting with patches.""" | 29 """WebKit's Python module for interacting with patches.""" |
30 | 30 |
31 import logging | 31 import logging |
32 import re | 32 import re |
33 | 33 |
34 _log = logging.getLogger(__name__) | 34 _log = logging.getLogger(__name__) |
35 | 35 |
36 conversion_patterns = ( | 36 conversion_patterns = ( |
37 (re.compile("^diff --git \w/(.+) \w/(?P<FilePath>.+)"), lambda matched: "Ind
ex: " + matched.group('FilePath') + "\n"), | 37 (re.compile(r"^diff --git \w/(.+) \w/(?P<FilePath>.+)"), lambda matched: "In
dex: " + matched.group('FilePath') + "\n"), |
38 (re.compile("^new file.*"), lambda matched: "\n"), | 38 (re.compile(r"^new file.*"), lambda matched: "\n"), |
39 (re.compile("^index (([0-9a-f]{7}\.\.[0-9a-f]{7})|([0-9a-f]{40}\.\.[0-9a-f]{
40})) [0-9]{6}"), | 39 (re.compile(r"^index (([0-9a-f]{7}\.\.[0-9a-f]{7})|([0-9a-f]{40}\.\.[0-9a-f]
{40})) [0-9]{6}"), |
40 lambda matched: ("=" * 67) + "\n"), | 40 lambda matched: ("=" * 67) + "\n"), |
41 (re.compile("^--- \w/(?P<FilePath>.+)"), lambda matched: "--- " + matched.gr
oup('FilePath') + "\n"), | 41 (re.compile(r"^--- \w/(?P<FilePath>.+)"), lambda matched: "--- " + matched.g
roup('FilePath') + "\n"), |
42 (re.compile("^\+\+\+ \w/(?P<FilePath>.+)"), lambda matched: "+++ " + matched
.group('FilePath') + "\n"), | 42 (re.compile(r"^\+\+\+ \w/(?P<FilePath>.+)"), lambda matched: "+++ " + matche
d.group('FilePath') + "\n"), |
43 ) | 43 ) |
44 | 44 |
45 index_pattern = re.compile(r"^Index: (?P<FilePath>.+)") | 45 index_pattern = re.compile(r"^Index: (?P<FilePath>.+)") |
46 lines_changed_pattern = re.compile(r"^@@ -(?P<OldStartLine>\d+)(,\d+)? \+(?P<New
StartLine>\d+)(,\d+)? @@") | 46 lines_changed_pattern = re.compile(r"^@@ -(?P<OldStartLine>\d+)(,\d+)? \+(?P<New
StartLine>\d+)(,\d+)? @@") |
47 diff_git_pattern = re.compile(r"^diff --git \w/") | 47 diff_git_pattern = re.compile(r"^diff --git \w/") |
48 | 48 |
49 | 49 |
50 def git_diff_to_svn_diff(line): | 50 def git_diff_to_svn_diff(line): |
51 """Converts a git formatted diff line to a svn formatted line. | 51 """Converts a git formatted diff line to a svn formatted line. |
52 | 52 |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 elif line.startswith(' '): | 172 elif line.startswith(' '): |
173 current_file.add_unchanged_line(old_diff_line, new_diff_line
, line[1:]) | 173 current_file.add_unchanged_line(old_diff_line, new_diff_line
, line[1:]) |
174 old_diff_line += 1 | 174 old_diff_line += 1 |
175 new_diff_line += 1 | 175 new_diff_line += 1 |
176 elif line == '\\ No newline at end of file': | 176 elif line == '\\ No newline at end of file': |
177 # Nothing to do. We may still have some added lines. | 177 # Nothing to do. We may still have some added lines. |
178 pass | 178 pass |
179 else: | 179 else: |
180 _log.error('Unexpected diff format when parsing a chunk: %r'
, line) | 180 _log.error('Unexpected diff format when parsing a chunk: %r'
, line) |
181 return files | 181 return files |
OLD | NEW |