fix: checkout to single repo
This commit is contained in:
parent
9ce50c6964
commit
3de4dccb79
|
@ -1,4 +1,6 @@
|
||||||
from joint_teapot.__main__ import app
|
from joint_teapot.__main__ import app
|
||||||
|
from joint_teapot.teapot import Teapot as Teapot
|
||||||
|
from joint_teapot.utils.logger import logger as logger
|
||||||
|
|
||||||
|
|
||||||
def main() -> None:
|
def main() -> None:
|
||||||
|
|
|
@ -76,9 +76,11 @@ def check_exist_issue_by_title(repo_names: List[str], title: str) -> None:
|
||||||
def checkout_to_repos_by_release_name(
|
def checkout_to_repos_by_release_name(
|
||||||
repo_names: List[str], release_name: str, due: datetime = Argument("3000-01-01")
|
repo_names: List[str], release_name: str, due: datetime = Argument("3000-01-01")
|
||||||
) -> None:
|
) -> None:
|
||||||
failed_repos = tea.pot.checkout_to_repos_by_release_name(
|
failed_repos = []
|
||||||
repo_names, release_name, due
|
for repo_name in repo_names:
|
||||||
)
|
succeed = tea.pot.checkout_to_repo_by_release_name(repo_name, release_name, due)
|
||||||
|
if not succeed:
|
||||||
|
failed_repos.append(repo_name)
|
||||||
echo(f"failed repos: {failed_repos}")
|
echo(f"failed repos: {failed_repos}")
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -111,24 +111,19 @@ class Teapot:
|
||||||
res.append(repo_name)
|
res.append(repo_name)
|
||||||
return res
|
return res
|
||||||
|
|
||||||
def checkout_to_repos_by_release_name(
|
def checkout_to_repo_by_release_name(
|
||||||
self,
|
self, repo_name: str, release_name: str, due: datetime = datetime(3000, 1, 1)
|
||||||
repo_names: List[str],
|
) -> bool:
|
||||||
release_name: str,
|
repo_releases = self.gitea.get_repo_releases(repo_name)
|
||||||
due: datetime = datetime(3000, 1, 1),
|
release = first(repo_releases, lambda item: item.name == release_name)
|
||||||
) -> List[str]:
|
if release is None or release.created_at.replace(tzinfo=None) >= due:
|
||||||
failed_repos = []
|
return False
|
||||||
for repo_name in repo_names:
|
self.git.repo_clean_and_checkout(repo_name, f"tags/{release.tag_name}")
|
||||||
repo_releases = self.gitea.get_repo_releases(repo_name)
|
logger.info(
|
||||||
release = first(repo_releases, lambda item: item.name == release_name)
|
f"{self.gitea.org_name}/{repo_name} checkout to "
|
||||||
if release is None or release.created_at.replace(tzinfo=None) >= due:
|
f"tags/{release.tag_name} succeed"
|
||||||
failed_repos.append(repo_name)
|
)
|
||||||
continue
|
return True
|
||||||
self.git.repo_clean_and_checkout(repo_name, f"tags/{release.tag_name}")
|
|
||||||
logger.info(
|
|
||||||
f"{self.gitea.org_name}/{repo_name} checkout to tags/{release.tag_name} succeed"
|
|
||||||
)
|
|
||||||
return failed_repos
|
|
||||||
|
|
||||||
def get_repos_status(self, commit_lt: int, issue_lt: int) -> None:
|
def get_repos_status(self, commit_lt: int, issue_lt: int) -> None:
|
||||||
for repo_name, commit_count, issue_count in self.gitea.get_repos_status():
|
for repo_name, commit_count, issue_count in self.gitea.get_repos_status():
|
||||||
|
|
Loading…
Reference in New Issue
Block a user