diff mbox series

[v2] checkkconfigsymbols.py: Forbid passing 'HEAD' to --commit

Message ID 20210901145212.478066-1-arielmarcovitch@gmail.com (mailing list archive)
State New, archived
Headers show
Series [v2] checkkconfigsymbols.py: Forbid passing 'HEAD' to --commit | expand

Commit Message

Ariel Marcovitch Sept. 1, 2021, 2:52 p.m. UTC
As opposed to the --diff option, --commit can get ref names instead of
commit hashes.

When using the --commit option, the script resets the working directory
to the commit before the given ref, by adding '~' to the end of the ref.

However, the 'HEAD' ref is relative, and so when the working directory
is reset to 'HEAD~', 'HEAD' points to what was 'HEAD~'. Then when the
script resets to 'HEAD' it actually stays in the same commit. In this
case, the script won't report any cases because there is no diff between
the cases of the two refs.

Prevent the user from using HEAD refs.

A better solution might be to resolve the refs before doing the
reset, but for now just disallow such refs.

Signed-off-by: Ariel Marcovitch <arielmarcovitch@gmail.com>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---
 scripts/checkkconfigsymbols.py | 3 +++
 1 file changed, 3 insertions(+)


base-commit: 087e856cfb76e9eef9a3a6e000854794f3c36e24

Comments

Masahiro Yamada Sept. 10, 2021, 2:13 a.m. UTC | #1
On Wed, Sep 1, 2021 at 11:52 PM Ariel Marcovitch
<arielmarcovitch@gmail.com> wrote:
>
> As opposed to the --diff option, --commit can get ref names instead of
> commit hashes.
>
> When using the --commit option, the script resets the working directory
> to the commit before the given ref, by adding '~' to the end of the ref.
>
> However, the 'HEAD' ref is relative, and so when the working directory
> is reset to 'HEAD~', 'HEAD' points to what was 'HEAD~'. Then when the
> script resets to 'HEAD' it actually stays in the same commit. In this
> case, the script won't report any cases because there is no diff between
> the cases of the two refs.
>
> Prevent the user from using HEAD refs.
>
> A better solution might be to resolve the refs before doing the
> reset, but for now just disallow such refs.
>
> Signed-off-by: Ariel Marcovitch <arielmarcovitch@gmail.com>
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> ---
>  scripts/checkkconfigsymbols.py | 3 +++
>  1 file changed, 3 insertions(+)


Applied to linux-kbuild. Thanks.

> diff --git a/scripts/checkkconfigsymbols.py b/scripts/checkkconfigsymbols.py
> index b9b0f15e5880..c57c990c3244 100755
> --- a/scripts/checkkconfigsymbols.py
> +++ b/scripts/checkkconfigsymbols.py
> @@ -102,6 +102,9 @@ def parse_options():
>                       "continue.")
>
>      if args.commit:
> +        if args.commit.startswith('HEAD'):
> +            sys.exit("The --commit option can't use the HEAD ref")
> +
>          args.find = False
>
>      if args.ignore:
>
> base-commit: 087e856cfb76e9eef9a3a6e000854794f3c36e24
> --
> 2.25.1
>
diff mbox series

Patch

diff --git a/scripts/checkkconfigsymbols.py b/scripts/checkkconfigsymbols.py
index b9b0f15e5880..c57c990c3244 100755
--- a/scripts/checkkconfigsymbols.py
+++ b/scripts/checkkconfigsymbols.py
@@ -102,6 +102,9 @@  def parse_options():
                      "continue.")
 
     if args.commit:
+        if args.commit.startswith('HEAD'):
+            sys.exit("The --commit option can't use the HEAD ref")
+
         args.find = False
 
     if args.ignore: