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

Side by Side Diff: rietveld.py

Issue 7754020: Fix support when 2 properties are modified. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Created 9 years, 3 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 | tests/rietveld_test.py » ('j') | tests/rietveld_test.py » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2011 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 """Defines class Rietveld to easily access a rietveld instance. 4 """Defines class Rietveld to easily access a rietveld instance.
5 5
6 Security implications: 6 Security implications:
7 7
8 The following hypothesis are made: 8 The following hypothesis are made:
9 - Rietveld enforces: 9 - Rietveld enforces:
10 - Nobody else than issue owner can upload a patch set 10 - Nobody else than issue owner can upload a patch set
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 rietveld_svn_props = rietveld_svn_props.splitlines() 180 rietveld_svn_props = rietveld_svn_props.splitlines()
181 svn_props = [] 181 svn_props = []
182 if not rietveld_svn_props: 182 if not rietveld_svn_props:
183 return svn_props 183 return svn_props
184 # 1. Ignore svn:mergeinfo. 184 # 1. Ignore svn:mergeinfo.
185 # 2. Accept svn:eol-style and svn:executable. 185 # 2. Accept svn:eol-style and svn:executable.
186 # 3. Refuse any other. 186 # 3. Refuse any other.
187 # \n 187 # \n
188 # Added: svn:ignore\n 188 # Added: svn:ignore\n
189 # + LF\n 189 # + LF\n
190
191 spacer = rietveld_svn_props.pop(0)
192 if spacer or not rietveld_svn_props:
193 # svn diff always put a spacer between the unified diff and property
194 # diff
195 raise patch.UnsupportedPatchFormat(
196 filename, 'Failed to parse svn properties.')
197
190 while rietveld_svn_props: 198 while rietveld_svn_props:
191 spacer = rietveld_svn_props.pop(0)
192 if spacer or not rietveld_svn_props:
193 # svn diff always put a spacer between the unified diff and property
194 # diff
195 raise patch.UnsupportedPatchFormat(
196 filename, 'Failed to parse svn properties.')
197
Dirk Pranke 2011/09/08 18:35:36 Can you explain what the bug was here and why this
M-A Ruel 2011/09/08 18:37:58 The new unit test checks exactly that; when there'
198 # Something like 'Added: svn:eol-style'. Note the action is localized. 199 # Something like 'Added: svn:eol-style'. Note the action is localized.
199 # *sigh*. 200 # *sigh*.
200 action = rietveld_svn_props.pop(0) 201 action = rietveld_svn_props.pop(0)
201 match = re.match(r'^(\w+): (.+)$', action) 202 match = re.match(r'^(\w+): (.+)$', action)
202 if not match or not rietveld_svn_props: 203 if not match or not rietveld_svn_props:
203 raise patch.UnsupportedPatchFormat( 204 raise patch.UnsupportedPatchFormat(
204 filename, 'Failed to parse svn properties.') 205 filename, 'Failed to parse svn properties.')
205 206
206 if match.group(2) == 'svn:mergeinfo': 207 if match.group(2) == 'svn:mergeinfo':
207 # Silently ignore the content. 208 # Silently ignore the content.
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 if retry >= (maxtries - 1): 273 if retry >= (maxtries - 1):
273 raise 274 raise
274 if not 'Name or service not known' in e.reason: 275 if not 'Name or service not known' in e.reason:
275 # Usually internal GAE flakiness. 276 # Usually internal GAE flakiness.
276 raise 277 raise
277 # If reaching this line, loop again. Uses a small backoff. 278 # If reaching this line, loop again. Uses a small backoff.
278 time.sleep(1+maxtries*2) 279 time.sleep(1+maxtries*2)
279 280
280 # DEPRECATED. 281 # DEPRECATED.
281 Send = get 282 Send = get
OLDNEW
« no previous file with comments | « no previous file | tests/rietveld_test.py » ('j') | tests/rietveld_test.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698