forked from importers/git-importer
Add force push for the devel branch
As devel branches can change in case of factory reverts we need to force push. Factory branch shouldn't be affected, so not force pushing there
This commit is contained in:
10
lib/git.py
10
lib/git.py
@@ -215,13 +215,17 @@ class Git:
|
||||
url = f"gitea@gitea.opensuse.org:{org_name}/{repo_name}.git"
|
||||
self.repo.remotes.create("origin", url)
|
||||
|
||||
def push(self):
|
||||
def push(self, force=False):
|
||||
remo = self.repo.remotes["origin"]
|
||||
|
||||
keypair = pygit2.KeypairFromAgent("gitea")
|
||||
callbacks = pygit2.RemoteCallbacks(credentials=keypair)
|
||||
|
||||
refspecs = ["refs/heads/factory"]
|
||||
if "refs/heads/devel" in self.repo.references:
|
||||
refspecs.append("refs/heads/devel")
|
||||
develspec = "refs/heads/devel"
|
||||
if develspec in self.repo.references:
|
||||
if force:
|
||||
refspecs.append(f"+{develspec}:{develspec}")
|
||||
else:
|
||||
refspecs.append("{develspec}:{develspec}")
|
||||
remo.push(refspecs, callbacks=callbacks)
|
||||
|
@@ -86,7 +86,7 @@ class GitExporter:
|
||||
logging.debug(f"Committing {flat}")
|
||||
self.commit_flat(flat, branch_state)
|
||||
|
||||
self.git.push()
|
||||
self.git.push(force=True)
|
||||
|
||||
def run_gc(self):
|
||||
self.gc_cnt = self.gc_interval
|
||||
|
Reference in New Issue
Block a user