From 3350a108c34eb4b86e346e77f2d87fc73e361629 Mon Sep 17 00:00:00 2001 From: Angus Gratton Date: Wed, 7 Oct 2020 09:36:40 +1100 Subject: [PATCH] build system: Also get IDF version from annotated tags only Builds on previous commit. Note: Getting the project version still pases --tags so still works with plain tags, to keep compatibility for existing projects --- docs/en/versions.rst | 2 +- docs/gen-version-specific-includes.py | 2 +- docs/issue_template.md | 2 +- docs/zh_CN/versions.rst | 2 +- make/project.mk | 2 +- tools/idf_tools.py | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/en/versions.rst b/docs/en/versions.rst index 694630af0..12238c205 100644 --- a/docs/en/versions.rst +++ b/docs/en/versions.rst @@ -79,7 +79,7 @@ Checking the Current Version The local ESP-IDF version can be checked by using git:: cd $IDF_PATH - git describe --tags --dirty + git describe --dirty The ESP-IDF version is also compiled into the firmware and can be accessed (as a string) via the macro ``IDF_VER``. The default ESP-IDF bootloader will print the version on boot (the version information is not always updated in code, it only changes if that particular source file is recompiled). diff --git a/docs/gen-version-specific-includes.py b/docs/gen-version-specific-includes.py index 08b111d65..6bd377c4b 100755 --- a/docs/gen-version-specific-includes.py +++ b/docs/gen-version-specific-includes.py @@ -198,7 +198,7 @@ def get_version(): # Otherwise, use git to look for a tag try: - tag = subprocess.check_output(["git", "describe", "--tags", "--exact-match"]).strip() + tag = subprocess.check_output(["git", "describe", "--exact-match"]).strip() is_stable = re.match(r"v[0-9\.]+$", tag) is not None return (tag, "tag", is_stable) except subprocess.CalledProcessError: diff --git a/docs/issue_template.md b/docs/issue_template.md index 7bf65e781..adedb2602 100644 --- a/docs/issue_template.md +++ b/docs/issue_template.md @@ -27,7 +27,7 @@ If the issue cannot be solved after the steps before, please follow these instru - Development Kit: [ESP32-Wrover-Kit|ESP32-DevKitC|ESP32-PICO-Kit|ESP32-LyraT|ESP32-LyraTD-MSC|none] - Kit version (for WroverKit/PicoKit/DevKitC): [v1|v2|v3|v4] - Module or chip used: [ESP32-WROOM-32|ESP32-WROOM-32D|ESP32-WROOM-32U|ESP32-WROVER|ESP32-WROVER-I|ESP32-WROVER-B|ESP32-WROVER-IB|ESP32-SOLO-1|ESP32-PICO-D4|ESP32] -- IDF version (run ``git describe --tags`` to find it): +- IDF version (run ``git describe`` to find it): // v3.2-dev-1148-g96cd3b75c - Build System: [Make|CMake] - Compiler version (run ``xtensa-esp32-elf-gcc --version`` to find it): diff --git a/docs/zh_CN/versions.rst b/docs/zh_CN/versions.rst index 31ba158ea..7f96ea658 100644 --- a/docs/zh_CN/versions.rst +++ b/docs/zh_CN/versions.rst @@ -60,7 +60,7 @@ ESP-IDF 采用了 `语义版本管理方法 `_,即您可 查看 ESP-IDF 本地副本的版本,请使用 git 命令:: cd $IDF_PATH - git describe --tags --dirty + git describe --dirty 此外,由于 ESP-IDF 的版本也已编译至固件中,因此您也可以使用宏 ``IDF_VER`` 查看 ESP-IDF 的版本(以字符串的格式)。ESP-IDF 默认引导程序可以在设备启动时打印 ESP-IDF 的版本,但注意代码中的版本信息仅会在源代码重新编译时才会更新,因此打印出来的版本可能并不是最新的。 diff --git a/make/project.mk b/make/project.mk index fc00d18a9..9d478bc6d 100644 --- a/make/project.mk +++ b/make/project.mk @@ -327,7 +327,7 @@ endif # If we have `version.txt` then prefer that for extracting IDF version ifeq ("$(wildcard ${IDF_PATH}/version.txt)","") -IDF_VER_T := $(shell cd ${IDF_PATH} && git describe --always --tags --dirty) +IDF_VER_T := $(shell cd ${IDF_PATH} && git describe --always --dirty) else IDF_VER_T := $(shell cat ${IDF_PATH}/version.txt) endif diff --git a/tools/idf_tools.py b/tools/idf_tools.py index 914ecc048..524e47884 100755 --- a/tools/idf_tools.py +++ b/tools/idf_tools.py @@ -843,7 +843,7 @@ def get_python_env_path(): idf_version_str = version_file.read() else: try: - idf_version_str = subprocess.check_output(['git', 'describe', '--tags'], + idf_version_str = subprocess.check_output(['git', 'describe'], cwd=global_idf_path, env=os.environ).decode() except subprocess.CalledProcessError as e: warn('Git describe was unsuccessul: {}'.format(e))