mirror of
https://gerrit.googlesource.com/git-repo
synced 2024-12-21 07:16:21 +00:00
Repair any mis-directed android-1.0 annotated tags
The initial open source release of the Android 1.0 platform had some problems with its Perforce->Git imports. Google was forced to rewrite some history to redirect users onto more stable upstream sources and correct errors in the imports. Not everyone has the correct android-1.0 tags, as some users did manage to fetch the platform early, before the mirror sites crashed and the history was rewritten. This change is a band-aid to ensure any stale android-1.0 tags are get updated to the corrected version. It should be backed out at some point in the near future, when we can be fairly certain that everyone has the correct android-1.0 tags. Signed-off-by: Shawn O. Pearce <sop@google.com>
This commit is contained in:
parent
5cc6679fb8
commit
329c31da7d
25
project.py
25
project.py
@ -470,6 +470,7 @@ class Project(object):
|
|||||||
return False
|
return False
|
||||||
if not self._RemoteFetch():
|
if not self._RemoteFetch():
|
||||||
return False
|
return False
|
||||||
|
self._RepairAndroidImportErrors()
|
||||||
self._InitMRef()
|
self._InitMRef()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@ -477,6 +478,30 @@ class Project(object):
|
|||||||
for file in self.copyfiles:
|
for file in self.copyfiles:
|
||||||
file._Copy()
|
file._Copy()
|
||||||
|
|
||||||
|
def _RepairAndroidImportErrors(self):
|
||||||
|
if self.name in ['platform/external/iptables',
|
||||||
|
'platform/external/libpcap',
|
||||||
|
'platform/external/tcpdump',
|
||||||
|
'platform/external/webkit',
|
||||||
|
'platform/system/wlan/ti']:
|
||||||
|
# I hate myself for doing this...
|
||||||
|
#
|
||||||
|
# In the initial Android 1.0 release these projects were
|
||||||
|
# shipped, some users got them, and then the history had
|
||||||
|
# to be rewritten to correct problems with their imports.
|
||||||
|
# The 'android-1.0' tag may still be pointing at the old
|
||||||
|
# history, so we need to drop the tag and fetch it again.
|
||||||
|
#
|
||||||
|
try:
|
||||||
|
remote = self.GetRemote(self.remote.name)
|
||||||
|
relname = remote.ToLocal(R_HEADS + 'release-1.0')
|
||||||
|
tagname = R_TAGS + 'android-1.0'
|
||||||
|
if self._revlist(not_rev(relname), tagname):
|
||||||
|
cmd = ['fetch', remote.name, '+%s:%s' % (tagname, tagname)]
|
||||||
|
GitCommand(self, cmd, bare = True).Wait()
|
||||||
|
except GitError:
|
||||||
|
pass
|
||||||
|
|
||||||
def Sync_LocalHalf(self):
|
def Sync_LocalHalf(self):
|
||||||
"""Perform only the local IO portion of the sync process.
|
"""Perform only the local IO portion of the sync process.
|
||||||
Network access is not required.
|
Network access is not required.
|
||||||
|
Loading…
Reference in New Issue
Block a user