git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 17/20] git-p4: compare to singletons with "is" and "is not"

From
Eric Sunshine <sunshine@sunshineco.com>
Date
Jan 12, 2022, 19:54 UTC
Message-ID
<CAPig+cSHwN9N1K1Fi2DbZhgRdi=iqBkYB==rMKsrq6vqPQJQ4Q@mail.gmail.com>
In-Reply-To
<20220112134635.177877-18-jholdsworth@nvidia.com>
On Wed, Jan 12, 2022 at 8:47 AM Joel Holdsworth <jholdsworth@nvidia.com> wrote:
Show 16 quoted lines
> PEP8 recommends that comparisons with singletons such as None should be
> done with "is" and "is not", and never equality operators.
>
> This guideline is described here:
> https://www.python.org/dev/peps/pep-0008/#programming-recommendations
>
> Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
> ---
> diff --git a/git-p4.py b/git-p4.py
> @@ -930,7 +930,7 @@ def p4Where(depotPath):
>              if data[:space] == depotPath:
>                  output = entry
>                  break
> -    if output == None:
> +    if not output:
>          return ""

This changes semantics, doesn't it? It will now return "" for None, False, and "". Is this change intentional? To match the intent of the original, I would have expected it to be written:

    if output is None:
        return ""

but, having glanced at the larger context, I suppose the new semantics may be okay(?).

Show 6 quoted lines
>  def parseRevision(ref):
> @@ -4497,7 +4497,7 @@ def main():
>      if cmd.needsGit:
> -        if cmd.gitdir == None:
> +        if not cmd.gitdir:
>              cmd.gitdir = os.path.abspath(".git")

Same question/observation as above. In order to save reviewers some time, perhaps the commit message could say something about why the semantic change is safe and/or desirable.

Previous: Joel HoldsworthNext: Joel Holdsworth
Message 23 of 27 in “git-p4: Various code tidy-ups”
  1. 00/20 git-p4: Various code tidy-upsJoel Holdsworth, Jan 12, 2022
  2. 01/20 git-p4: add blank lines between functions and class definitionsJoel Holdsworth, Jan 12, 2022
  3. 02/20 git-p4: remove unneeded semicolons from statementsJoel Holdsworth, Jan 12, 2022
  4. 03/20 git-p4: indent with 4-spacesJoel Holdsworth, Jan 12, 2022
  5. 04/20 git-p4: improve consistency of docstring formattingJoel Holdsworth, Jan 12, 2022
  6. Eric SunshineJan 12, 2022
  7. 05/20 git-p4: convert descriptive class and function comments into docstringsJoel Holdsworth, Jan 12, 2022
  8. Eric SunshineJan 12, 2022
  9. 06/20 git-p4: remove commented codeJoel Holdsworth, Jan 12, 2022
  10. Eric SunshineJan 12, 2022
  11. 09/20 git-p4: remove spaces around default argumentsJoel Holdsworth, Jan 12, 2022
  12. 07/20 git-p4: sort and de-duplcate pylint disable listJoel Holdsworth, Jan 12, 2022
  13. 08/20 git-p4: remove padding from lists, tuples and function argumentsJoel Holdsworth, Jan 12, 2022
  14. 10/20 git-p4: place a single space after every commaJoel Holdsworth, Jan 12, 2022
  15. Eric SunshineJan 12, 2022
  16. 16/20 git-p4: tidied visual indented lines of conditionalsJoel Holdsworth, Jan 12, 2022
  17. Eric SunshineJan 12, 2022
  18. 11/20 git-p4: remove extraneous spaces before function argumentsJoel Holdsworth, Jan 12, 2022
  19. 12/20 git-p4: remove redundant backslash-continuations inside bracketsJoel Holdsworth, Jan 12, 2022
  20. 13/20 git-p4: remove spaces between dictionary keys and colonsJoel Holdsworth, Jan 12, 2022
  21. 14/20 git-p4: ensure every comment has a single #Joel Holdsworth, Jan 12, 2022
  22. 17/20 git-p4: compare to singletons with "is" and "is not"Joel Holdsworth, Jan 12, 2022
  23. Eric SunshineJan 12, 2022
  24. 15/20 git-p4: ensure there is a single space around all operatorsJoel Holdsworth, Jan 12, 2022
  25. 18/20 git-p4: only seperate code blocks by a single empty lineJoel Holdsworth, Jan 12, 2022
  26. 19/20 git-p4: move inline comments to line aboveJoel Holdsworth, Jan 12, 2022
  27. 20/20 git-p4: seperate multiple statements onto seperate linesJoel Holdsworth, Jan 12, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.