feat: default branch as config field
This commit is contained in:
parent
643ce96ac5
commit
d094d7a974
|
@ -25,6 +25,7 @@ class Settings(BaseSettings):
|
|||
# git
|
||||
git_host: str = "ssh://git@focs.ji.sjtu.edu.cn:2222"
|
||||
repos_dir: str = "./repos"
|
||||
default_branch: str = "master"
|
||||
|
||||
# mattermost
|
||||
mattermost_domain_name: str = "focs.ji.sjtu.edu.cn"
|
||||
|
|
|
@ -114,7 +114,7 @@ class Teapot:
|
|||
def clone_all_repos(self) -> None:
|
||||
for i, repo_name in enumerate(self.gitea.get_all_repo_names()):
|
||||
logger.info(f"{i}, {self.gitea.org_name}/{repo_name} cloning...")
|
||||
self.git.repo_clean_and_checkout(repo_name, "master")
|
||||
self.git.repo_clean_and_checkout(repo_name, settings.default_branch)
|
||||
|
||||
def create_issue_for_repos(
|
||||
self,
|
||||
|
|
|
@ -35,7 +35,10 @@ class Git:
|
|||
logger.info(f"repos dir: {self.repos_dir}")
|
||||
|
||||
def clone_repo(
|
||||
self, repo_name: str, branch: str = "master", auto_retry: bool = True
|
||||
self,
|
||||
repo_name: str,
|
||||
branch: str = settings.default_branch,
|
||||
auto_retry: bool = True,
|
||||
) -> Optional[Repo]:
|
||||
repo = None
|
||||
repo_dir = os.path.join(self.repos_dir, repo_name)
|
||||
|
@ -78,7 +81,7 @@ class Git:
|
|||
*,
|
||||
auto_retry: bool = True,
|
||||
clean_git_lock: bool = False,
|
||||
reset_target: str = "origin/master",
|
||||
reset_target: str = f"origin/{settings.default_branch}",
|
||||
) -> str:
|
||||
repo_dir = os.path.join(self.repos_dir, repo_name)
|
||||
repo = self.get_repo(repo_name)
|
||||
|
@ -115,11 +118,17 @@ class Git:
|
|||
sleep(retry_interval)
|
||||
if retry_interval < 64:
|
||||
retry_interval *= 2
|
||||
elif "Remote branch master not found in upstream origin" in e.stderr:
|
||||
elif (
|
||||
f"Remote branch {settings.default_branch} not found in upstream origin"
|
||||
in e.stderr
|
||||
):
|
||||
retry_interval = 0
|
||||
logger.error(f"{repo_name} origin/master not found")
|
||||
logger.error(
|
||||
f"{repo_name} origin/{settings.default_branch} not found"
|
||||
)
|
||||
else:
|
||||
raise
|
||||
retry_interval = 0
|
||||
logger.exception(e)
|
||||
return repo_dir
|
||||
|
||||
def add_commit(
|
||||
|
|
|
@ -126,7 +126,7 @@ class Gitea:
|
|||
repo_names.append(repo_name)
|
||||
body = {
|
||||
"auto_init": False,
|
||||
"default_branch": "master",
|
||||
"default_branch": settings.default_branch,
|
||||
"name": repo_name,
|
||||
"private": True,
|
||||
"template": False,
|
||||
|
@ -198,7 +198,7 @@ class Gitea:
|
|||
self.org_name,
|
||||
body={
|
||||
"auto_init": False,
|
||||
"default_branch": "master",
|
||||
"default_branch": settings.default_branch,
|
||||
"name": repo_name,
|
||||
"private": True,
|
||||
"template": False,
|
||||
|
@ -236,7 +236,7 @@ class Gitea:
|
|||
continue
|
||||
try:
|
||||
self.repository_api.repo_delete_branch_protection(
|
||||
self.org_name, repo_name, "master"
|
||||
self.org_name, repo_name, settings.default_branch
|
||||
)
|
||||
except ApiException as e:
|
||||
if e.status != 404:
|
||||
|
@ -249,7 +249,7 @@ class Gitea:
|
|||
"block_on_official_review_requests": True,
|
||||
"block_on_outdated_branch": True,
|
||||
"block_on_rejected_reviews": True,
|
||||
"branch_name": "master",
|
||||
"branch_name": settings.default_branch,
|
||||
"dismiss_stale_approvals": True,
|
||||
"enable_approvals_whitelist": False,
|
||||
"enable_merge_whitelist": False,
|
||||
|
|
Loading…
Reference in New Issue
Block a user