[RFC PATCH] scripts/qemu-version.sh: Always describe tag version

Philippe Mathieu-Daudé posted 1 patch 3 years, 7 months ago
Test docker-quick@centos7 passed
Test docker-mingw@fedora passed
Test checkpatch passed
Test FreeBSD passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200924163509.142565-1-f4bug@amsat.org
scripts/qemu-version.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[RFC PATCH] scripts/qemu-version.sh: Always describe tag version
Posted by Philippe Mathieu-Daudé 3 years, 7 months ago
I'm not sure why sometime I get this error:

  $ make
  Generating qemu-version.h with a meson_exe.py custom command
  fatal: No tags can describe 'dc9f825f99eb5dc82f127e6c95fbe3a503e11346'.
  Try --always, or create some tags.

While to --always option is not clear in GIT-DESCRIBE(1):

   --always
       Show uniquely abbreviated commit object as fallback.

using it works and fix my builds:

  $ git describe --match 'v*' --dirty --always
  dc9f825f99e-dirty

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 scripts/qemu-version.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/qemu-version.sh b/scripts/qemu-version.sh
index 03128c56a2c..a7135511588 100755
--- a/scripts/qemu-version.sh
+++ b/scripts/qemu-version.sh
@@ -9,7 +9,7 @@ version="$3"
 if [ -z "$pkgversion" ]; then
     cd "$dir"
     if [ -e .git ]; then
-        pkgversion=$(git describe --match 'v*' --dirty | echo "")
+        pkgversion=$(git describe --match 'v*' --dirty --always | echo "")
     fi
 fi
 
-- 
2.26.2

Re: [RFC PATCH] scripts/qemu-version.sh: Always describe tag version
Posted by 罗勇刚 (Yonggang Luo) 3 years, 6 months ago
On windows executing
"pkgversion=$(git describe --match 'v*' --dirty --always | echo "")"
$ bash ./scripts/qemu-version.sh . '' ''
#define QEMU_PKGVERSION ""
#define QEMU_FULL_VERSION ""

The result are empty.

By removing echo ""
        pkgversion=$(git describe --match 'v*' --dirty --always)
the result are
```
$ bash ./scripts/qemu-version.sh . '' ''
#define QEMU_PKGVERSION "v5.1.0-1922-g94f35f943a-dirty"
#define QEMU_FULL_VERSION " (v5.1.0-1922-g94f35f943a-dirty)"
```

What are expected?


On Fri, Sep 25, 2020 at 12:50 AM Philippe Mathieu-Daudé <f4bug@amsat.org>
wrote:
>
> I'm not sure why sometime I get this error:
>
>   $ make
>   Generating qemu-version.h with a meson_exe.py custom command
>   fatal: No tags can describe 'dc9f825f99eb5dc82f127e6c95fbe3a503e11346'.
>   Try --always, or create some tags.
>
> While to --always option is not clear in GIT-DESCRIBE(1):
>
>    --always
>        Show uniquely abbreviated commit object as fallback.
>
> using it works and fix my builds:
>
>   $ git describe --match 'v*' --dirty --always
>   dc9f825f99e-dirty
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>  scripts/qemu-version.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/qemu-version.sh b/scripts/qemu-version.sh
> index 03128c56a2c..a7135511588 100755
> --- a/scripts/qemu-version.sh
> +++ b/scripts/qemu-version.sh
> @@ -9,7 +9,7 @@ version="$3"
>  if [ -z "$pkgversion" ]; then
>      cd "$dir"
>      if [ -e .git ]; then
> -        pkgversion=$(git describe --match 'v*' --dirty | echo "")
> +        pkgversion=$(git describe --match 'v*' --dirty --always | echo
"")
>      fi
>  fi
>
> --
> 2.26.2
>
>


--
         此致
礼
罗勇刚
Yours
    sincerely,
Yonggang Luo