diff options
| -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. |
