MCPcopy Create free account
hub / github.com/PyQt5/PyQtClient / run

Method run

Utils/GitThread.py:239–276  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

237 callbacks=ProgressCallback())
238
239 def run(self):
240 try:
241 path = pygit2.discover_repository(Constants.DirProjects)
242 if not path:
243 # 本地项目不存在
244 if os.path.exists(Constants.DirProjects):
245 # 如果文件夹存在则删除
246 AppLog.info('remove dir: {}'.format(Constants.DirProjects))
247 self.remove()
248 AppLog.info('clone into dir: {}'.format(Constants.DirProjects))
249 self.clone()
250 else:
251 repo = pygit2.Repository(path)
252 if repo.is_empty: # 如果项目为空
253 if os.path.exists(Constants.DirProjects):
254 # 如果文件夹存在则删除
255 AppLog.info('remove dir: {}'.format(
256 Constants.DirProjects))
257 self.remove()
258 AppLog.info('clone into dir: {}'.format(
259 Constants.DirProjects))
260 self.clone()
261 else:
262 # 重置并pull
263 AppLog.info('reset dir: {}'.format(Constants.DirProjects))
264 repo.reset(repo.head.target, pygit2.GIT_RESET_HARD)
265 Signals.progressUpdated.emit(5, 100)
266 AppLog.info('pull into dir: {}'.format(
267 Constants.DirProjects))
268 self.pull(repo)
269 Signals.progressStoped.emit()
270 except Exception as e:
271 AppLog.exception(e)
272
273 AppLog.info('clone thread end')
274 Signals.progressStoped.emit()
275 Signals.cloneFinished.emit('')
276 CloneThread.quit()
277
278
279class UpgradeThread(QObject):

Callers

nothing calls this directly

Calls 4

removeMethod · 0.95
cloneMethod · 0.95
pullMethod · 0.95
quitMethod · 0.45

Tested by

no test coverage detected