diff options
author | Shawn O. Pearce <sop@google.com> | 2011-10-11 14:05:21 -0700 |
---|---|---|
committer | Shawn O. Pearce <sop@google.com> | 2011-10-11 14:06:11 -0700 |
commit | df5ee52050a5b8ea4e0bb69c007dac556c18ec03 (patch) | |
tree | 760f85dcd1039e3ba6110d39cc041c664730e7cb | |
parent | fab96c68e3acfb5403ffe65577563f3cb39e2530 (diff) | |
download | git-repo-df5ee52050a5b8ea4e0bb69c007dac556c18ec03.tar.gz |
Fix Python 2.4 support
Change-Id: I89521ae52fa564f0d849cc51e71fee65b3c47bab
Signed-off-by: Shawn O. Pearce <sop@google.com>
-rwxr-xr-x | main.py | 9 | ||||
-rw-r--r-- | project.py | 7 | ||||
-rw-r--r-- | subcmds/sync.py | 12 |
3 files changed, 18 insertions, 10 deletions
@@ -276,10 +276,17 @@ class _UserAgentHandler(urllib2.BaseHandler): | |||
276 | class _BasicAuthHandler(urllib2.HTTPBasicAuthHandler): | 276 | class _BasicAuthHandler(urllib2.HTTPBasicAuthHandler): |
277 | def http_error_auth_reqed(self, authreq, host, req, headers): | 277 | def http_error_auth_reqed(self, authreq, host, req, headers): |
278 | try: | 278 | try: |
279 | old_add_header = req.add_header | ||
280 | def _add_header(name, val): | ||
281 | val = val.replace('\n', '') | ||
282 | old_add_header(name, val) | ||
283 | req.add_header = _add_header | ||
279 | return urllib2.AbstractBasicAuthHandler.http_error_auth_reqed( | 284 | return urllib2.AbstractBasicAuthHandler.http_error_auth_reqed( |
280 | self, authreq, host, req, headers) | 285 | self, authreq, host, req, headers) |
281 | except: | 286 | except: |
282 | self.reset_retry_count() | 287 | reset = getattr(self, 'reset_retry_count', None) |
288 | if reset is not None: | ||
289 | reset() | ||
283 | raise | 290 | raise |
284 | 291 | ||
285 | def init_http(): | 292 | def init_http(): |
@@ -29,6 +29,11 @@ try: | |||
29 | except ImportError: | 29 | except ImportError: |
30 | import dummy_threading as _threading | 30 | import dummy_threading as _threading |
31 | 31 | ||
32 | try: | ||
33 | from os import SEEK_END | ||
34 | except ImportError: | ||
35 | SEEK_END = 2 | ||
36 | |||
32 | from color import Coloring | 37 | from color import Coloring |
33 | from git_command import GitCommand | 38 | from git_command import GitCommand |
34 | from git_config import GitConfig, IsId, GetSchemeFromUrl | 39 | from git_config import GitConfig, IsId, GetSchemeFromUrl |
@@ -1462,7 +1467,7 @@ class Project(object): | |||
1462 | done = False | 1467 | done = False |
1463 | dest = open(tmpPath, 'a+b') | 1468 | dest = open(tmpPath, 'a+b') |
1464 | try: | 1469 | try: |
1465 | dest.seek(0, os.SEEK_END) | 1470 | dest.seek(0, SEEK_END) |
1466 | pos = dest.tell() | 1471 | pos = dest.tell() |
1467 | 1472 | ||
1468 | _urllib_lock.acquire() | 1473 | _urllib_lock.acquire() |
diff --git a/subcmds/sync.py b/subcmds/sync.py index 244a560b..a3d06922 100644 --- a/subcmds/sync.py +++ b/subcmds/sync.py | |||
@@ -195,15 +195,11 @@ later is required to fix a server side protocol bug. | |||
195 | 195 | ||
196 | fetched.add(project.gitdir) | 196 | fetched.add(project.gitdir) |
197 | pm.update() | 197 | pm.update() |
198 | except BaseException, e: | 198 | except _FetchError: |
199 | # Notify the _Fetch() function about all errors. | ||
200 | err_event.set() | 199 | err_event.set() |
201 | 200 | except: | |
202 | # If we got our own _FetchError, we don't want a stack trace. | 201 | err_event.set() |
203 | # However, if we got something else (something in Sync_NetworkHalf?), | 202 | raise |
204 | # we'd like one (so re-raise after we've set err_event). | ||
205 | if not isinstance(e, _FetchError): | ||
206 | raise | ||
207 | finally: | 203 | finally: |
208 | if did_lock: | 204 | if did_lock: |
209 | lock.release() | 205 | lock.release() |