diff options
Diffstat (limited to 'project.py')
-rw-r--r-- | project.py | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -470,6 +470,7 @@ class Project(object): | |||
470 | return False | 470 | return False |
471 | if not self._RemoteFetch(): | 471 | if not self._RemoteFetch(): |
472 | return False | 472 | return False |
473 | self._RepairAndroidImportErrors() | ||
473 | self._InitMRef() | 474 | self._InitMRef() |
474 | return True | 475 | return True |
475 | 476 | ||
@@ -477,6 +478,30 @@ class Project(object): | |||
477 | for file in self.copyfiles: | 478 | for file in self.copyfiles: |
478 | file._Copy() | 479 | file._Copy() |
479 | 480 | ||
481 | def _RepairAndroidImportErrors(self): | ||
482 | if self.name in ['platform/external/iptables', | ||
483 | 'platform/external/libpcap', | ||
484 | 'platform/external/tcpdump', | ||
485 | 'platform/external/webkit', | ||
486 | 'platform/system/wlan/ti']: | ||
487 | # I hate myself for doing this... | ||
488 | # | ||
489 | # In the initial Android 1.0 release these projects were | ||
490 | # shipped, some users got them, and then the history had | ||
491 | # to be rewritten to correct problems with their imports. | ||
492 | # The 'android-1.0' tag may still be pointing at the old | ||
493 | # history, so we need to drop the tag and fetch it again. | ||
494 | # | ||
495 | try: | ||
496 | remote = self.GetRemote(self.remote.name) | ||
497 | relname = remote.ToLocal(R_HEADS + 'release-1.0') | ||
498 | tagname = R_TAGS + 'android-1.0' | ||
499 | if self._revlist(not_rev(relname), tagname): | ||
500 | cmd = ['fetch', remote.name, '+%s:%s' % (tagname, tagname)] | ||
501 | GitCommand(self, cmd, bare = True).Wait() | ||
502 | except GitError: | ||
503 | pass | ||
504 | |||
480 | def Sync_LocalHalf(self): | 505 | def Sync_LocalHalf(self): |
481 | """Perform only the local IO portion of the sync process. | 506 | """Perform only the local IO portion of the sync process. |
482 | Network access is not required. | 507 | Network access is not required. |