summaryrefslogtreecommitdiffstats
path: root/project.py
diff options
context:
space:
mode:
Diffstat (limited to 'project.py')
-rw-r--r--project.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/project.py b/project.py
index e88afcca..7a61b1c8 100644
--- a/project.py
+++ b/project.py
@@ -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.