repo sync problems – Android Eclair

if you have troubles with “repo sync” Android Eclair release (something like “remote end hung up unexpectedly“) – here is a solution!

The problem is that during heavy load repo cannot connect to the server and fails. And you have to start sync from the beginning again and again.

  1. go to the folder where you made “repo init” some days ago
  2. open .repo/repo/subcmds/sync.py
  3. correct _Fetch function (program will try to sync even without network after this change:-)) – add “while True:” at line 6, “break” at line 9, remove “sys.exit(1)” at line 11. 
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    def _Fetch(self, projects):
        fetched = set()
        pm = Progress('Fetching projects', len(projects))
    for project in projects:
          pm.update()
    while True:
            if project.Sync_NetworkHalf():
              fetched.add(project.gitdir)
    break
    else:
              print >>sys.stderr, 'error: Cannot fetch %s' % project.name
        pm.end()
    return fetched

p.s. be aware – indented matter!

Enjoy.

=========================ugly cutline===============================

another metho (which I used):

#!/bin/bash
echo “======start repo sync======”
repo sync
while [ $? = 1 ]; do
echo “======sync failed, re-sync again======”
sleep 3
repo sync
done

—————————–丑陋的分割线———————————–

上文为当时所找的网上资料,尝试效果啊并不是很好。本人的最终解决方法参见此文repo init/sync 经常断线连不上问题-解决

本文来自 托泥猪

原文地址:https://www.cnblogs.com/googlegis/p/2978806.html