本文整理汇总了Python中git.repository.LocalRepository._executeGitCommandAssertSuccess方法的典型用法代码示例。如果您正苦于以下问题:Python LocalRepository._executeGitCommandAssertSuccess方法的具体用法?Python LocalRepository._executeGitCommandAssertSuccess怎么用?Python LocalRepository._executeGitCommandAssertSuccess使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类git.repository.LocalRepository
的用法示例。
在下文中一共展示了LocalRepository._executeGitCommandAssertSuccess方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: GitUpdater
# 需要导入模块: from git.repository import LocalRepository [as 别名]
# 或者: from git.repository.LocalRepository import _executeGitCommandAssertSuccess [as 别名]
class GitUpdater(BaseUpdater):
old_repo = 'RuudBurger/CouchPotatoServer'
new_repo = 'CouchPotato/CouchPotatoServer'
def __init__(self, git_command):
self.repo = LocalRepository(Env.get('app_dir'), command = git_command)
remote_name = 'origin'
remote = self.repo.getRemoteByName(remote_name)
if self.old_repo in remote.url:
log.info('Changing repo to new github organization: %s -> %s', (self.old_repo, self.new_repo))
new_url = remote.url.replace(self.old_repo, self.new_repo)
self.repo._executeGitCommandAssertSuccess("remote set-url %s %s" % (remote_name, new_url))
def doUpdate(self):
try:
log.info('Updating to latest version')
self.repo.pull()
return True
except:
log.error('Failed updating via GIT: %s', traceback.format_exc())
self.update_failed = True
return False
def getVersion(self):
if not self.version:
hash = None
date = None
branch = self.branch
try:
output = self.repo.getHead() # Yes, please
log.debug('Git version output: %s', output.hash)
hash = output.hash[:8]
date = output.getDate()
branch = self.repo.getCurrentBranch().name
except Exception as e:
log.error('Failed using GIT updater, running from source, you need to have GIT installed. %s', e)
self.version = {
'repr': 'git:(%s:%s % s) %s (%s)' % (self.repo_user, self.repo_name, branch, hash or 'unknown_hash', datetime.fromtimestamp(date) if date else 'unknown_date'),
'hash': hash,
'date': date,
'type': 'git',
'branch': branch
}
return self.version
def check(self):
if self.update_version:
return True
log.info('Checking for new version on github for %s', self.repo_name)
if not Env.get('dev'):
self.repo.fetch()
current_branch = self.repo.getCurrentBranch().name
for branch in self.repo.getRemoteByName('origin').getBranches():
if current_branch == branch.name:
local = self.repo.getHead()
remote = branch.getHead()
log.debug('Versions, local:%s, remote:%s', (local.hash[:8], remote.hash[:8]))
if local.getDate() < remote.getDate():
self.update_version = {
'hash': remote.hash[:8],
'date': remote.getDate(),
}
return True
self.last_check = time.time()
return False