def fetchProjectBase(self, manager, name): url = os.path.join(self.mUrl, name) for count in range(2): if self.mErrorCount > 0: return -1 if (manager.isInitialized() or manager.doInitBase(url)) and (manager.doSync(url) or manager.doDcommit(url)): self.addProgress() return 1 if not self.doExecute(["svn", "info", url], of = "/dev/null"): return -1 self.prRedInfo("Retry count = %d" % count) manager.removeSelf() self.mLockProject.acquire() tmpPathname = self.getTempProjectPath() self.mLockProject.release() if tmpPathname != None: if self.mVerbose: self.prRedInfo(url, " => ", tmpPathname) managerTemp = GitSvnManager(tmpPathname, self.mVerbose) if managerTemp.doInitBase(url) and managerTemp.doSync(url) and self.doExecute(["mv", managerTemp.getRootPath(), manager.getRootPath()]): self.addProgress() return 1 managerTemp.removeSelf() self.prRedInfo("Checkout ", manager.getRootPath(), " Failed") self.mLockProject.acquire() self.mErrorCount = self.mErrorCount + 1 file_append_line(self.mFileFailed, "%s => %s" % (manager.getRootPath(), url)) self.mLockProject.release() return -1