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