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.
- go to the folder where you made “repo init” some days ago
- open .repo/repo/subcmds/sync.py
- 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 经常断线连不上问题-解决
本文来自 托泥猪