#!/bin/bash
repo sync -j4
while [ $? = 1 ];do
echo "Sync failed, repeat again:"
repo sync -j4
done
和意料的一样,会报错,第一个过不了的就是权限不够,
Traceback (most recent call last):
File "/home/gavin/Work/RK/Edge/WORKING_DIRECTORY/.repo/repo/main.py", line 47, in
import event_log
File "/home/gavin/Work/RK/Edge/WORKING_DIRECTORY/.repo/repo/event_log.py", line 166, in
_EVENT_ID = multiprocessing.Value('i', 1)
File "/snap/git-repo/18/usr/lib/python2.7/multiprocessing/__init__.py", line 253, in Value
return Value(typecode_or_type, *args, **kwds)
File "/snap/git-repo/18/usr/lib/python2.7/multiprocessing/sharedctypes.py", line 108, in Value
lock = RLock()
File "/snap/git-repo/18/usr/lib/python2.7/multiprocessing/__init__.py", line 183, in RLock
return RLock()
File "/snap/git-repo/18/usr/lib/python2.7/multiprocessing/synchronize.py", line 172, in __init__
SemLock.__init__(self, RECURSIVE_MUTEX, 1, 1)
File "/snap/git-repo/18/usr/lib/python2.7/multiprocessing/synchronize.py", line 75, in __init__
sl = self._semlock = _multiprocessing.SemLock(kind, value, maxvalue)
OSError: [Errno 13] Permission denied
这里直接提升用户组权限。
echo "gavin ALL=(ALL) ALL">>/etc/sudoers.d/gavin
chomd 0440 /etc/sudoers.d/gavin
执行过程中提示缺少的东西,补上就可以了。
git-lfs filter-process --skip: 1: git-lfs filter-process --skip: git-lfs: not found
fatal: The remote end hung up unexpectedly
error: Cannot checkout android_tools_dexter: GitError: cannot initialize work tree for android_tools_dexter
Traceback (most recent call last):
File "/home/gavin/Work/RK/Edge/WORKING_DIRECTORY/.repo/repo/main.py", line 572, in
_Main(sys.argv[1:])
File "/home/gavin/Work/RK/Edge/WORKING_DIRECTORY/.repo/repo/main.py", line 547, in _Main
result = run()
File "/home/gavin/Work/RK/Edge/WORKING_DIRECTORY/.repo/repo/main.py", line 540, in
run = lambda: repo._Run(name, gopts, argv) or 0
File "/home/gavin/Work/RK/Edge/WORKING_DIRECTORY/.repo/repo/main.py", line 201, in _Run
result = cmd.Execute(copts, cargs)
File "/home/gavin/Work/RK/Edge/WORKING_DIRECTORY/.repo/repo/subcmds/sync.py", line 997, in Execute
self._Checkout(all_projects, opt)
File "/home/gavin/Work/RK/Edge/WORKING_DIRECTORY/.repo/repo/subcmds/sync.py", line 554, in _Checkout
self._CheckoutWorker(**kwargs)
File "/home/gavin/Work/RK/Edge/WORKING_DIRECTORY/.repo/repo/subcmds/sync.py", line 439, in _CheckoutWorker
return self._CheckoutOne(opt, project, *args, **kwargs)
File "/home/gavin/Work/RK/Edge/WORKING_DIRECTORY/.repo/repo/subcmds/sync.py", line 474, in _CheckoutOne
project.Sync_LocalHalf(syncbuf, force_sync=opt.force_sync)
File "/home/gavin/Work/RK/Edge/WORKING_DIRECTORY/.repo/repo/project.py", line 1492, in Sync_LocalHalf
self._InitWorkTree(force_sync=force_sync, submodules=submodules)
File "/home/gavin/Work/RK/Edge/WORKING_DIRECTORY/.repo/repo/project.py", line 2719, in _InitWorkTree
raise GitError("cannot initialize work tree for " + self.name)
error.GitError: cannot initialize work tree for android_tools_dexter
Sync failed, repeat again:
fatal: unable to access '/': gnutls_handshake() failed: The TLS connection was non-properly terminated.