From 5a8e48d4d35f755bf2bff8a88f9de9bc36592c1f Mon Sep 17 00:00:00 2001 From: "alichinese lixinyu44@huawei.com" Date: Tue, 31 Oct 2023 14:39:41 +0800 Subject: [PATCH] code: optimize some function * fix bug when get docker tag that is float will raise exception * fix bug when modify version will failed because the local git repo has not verison Signed-off-by: lixinyu --- src/oebuild/check_docker_tag.py | 6 +++--- src/oebuild/ogit.py | 16 +++++++++------- src/oebuild/version.py | 2 +- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/oebuild/check_docker_tag.py b/src/oebuild/check_docker_tag.py index 35c43c1..5ba23d4 100644 --- a/src/oebuild/check_docker_tag.py +++ b/src/oebuild/check_docker_tag.py @@ -65,18 +65,18 @@ the openeuler embedded docker tag can be selected list: if self.docker_tag not in self.tag_list: return None else: - return self.docker_tag + return str(self.docker_tag) yocto_dir = self.configure.source_yocto_dir() env_path = os.path.join(yocto_dir,".oebuild/env.yaml") if os.path.exists(env_path): env_parse = oebuild_util.read_yaml(pathlib.Path(env_path)) - return env_parse['docker_tag'] + return str(env_parse['docker_tag']) yocto_repo = Repo.init(yocto_dir) oebuild_config = self.configure.parse_oebuild_config() docker_config = oebuild_config.docker if yocto_repo.active_branch.name in docker_config.tag_map: - return docker_config.tag_map[yocto_repo.active_branch.name] + return str(docker_config.tag_map[yocto_repo.active_branch.name]) return None diff --git a/src/oebuild/ogit.py b/src/oebuild/ogit.py index 92f1466..32f6712 100644 --- a/src/oebuild/ogit.py +++ b/src/oebuild/ogit.py @@ -57,16 +57,15 @@ class OGit: ''' check out version ''' - repo = Repo.init(self._repo_dir) - try: - repo.git.checkout(version) - except GitCommandError: - logger.error("checkout faild") + self._fetch_upstream(version=version) - def clone_or_pull_repo(self,): + def clone_or_pull_repo(self): ''' clone or pull git repo ''' + self._fetch_upstream() + + def _fetch_upstream(self, version=None): repo = Repo.init(self._repo_dir) remote = None for item in repo.remotes: @@ -80,7 +79,10 @@ class OGit: logger.info("Fetching into %s ...", self._repo_dir) remote.fetch(progress=CustomRemote()) try: - repo.git.checkout(self._branch) + if version is None: + repo.git.checkout(self._branch) + else: + repo.git.checkout(version) except GitCommandError: logger.error("update faild") diff --git a/src/oebuild/version.py b/src/oebuild/version.py index b05f40a..88dcd26 100644 --- a/src/oebuild/version.py +++ b/src/oebuild/version.py @@ -10,4 +10,4 @@ MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details. ''' -__version__ = '0.0.31' +__version__ = '0.0.32' -- Gitee