]> git.madduck.net Git - etc/vim.git/commitdiff

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Ignore inaccessible user config (#2158)
authorJelle Zijlstra <jelle.zijlstra@gmail.com>
Tue, 27 Apr 2021 21:16:35 +0000 (14:16 -0700)
committerGitHub <noreply@github.com>
Tue, 27 Apr 2021 21:16:35 +0000 (14:16 -0700)
Fixes #2157

CHANGES.md
src/black/__init__.py

index a30668d33b22399c9a1bc4d60ede7f3276916ec8..cae61f25b4e794b1ecb3f22cadc4a514b1f24045 100644 (file)
@@ -4,6 +4,8 @@
 
 #### _Black_
 
+- Fix crash if the user configuration directory is inaccessible. (#2158)
+
 - Clarify that _Black_ may change the AST, especially when cleaning up docstrings.
   (#2159)
 
index 015ca415f1cd6a45bba83dc5f0e406d49e239de4..1c69cc41cdce4f234efddcd55b1b0ec3c8781080 100644 (file)
@@ -311,8 +311,17 @@ def find_pyproject_toml(path_search_start: Tuple[str, ...]) -> Optional[str]:
     if path_pyproject_toml.is_file():
         return str(path_pyproject_toml)
 
-    path_user_pyproject_toml = find_user_pyproject_toml()
-    return str(path_user_pyproject_toml) if path_user_pyproject_toml.is_file() else None
+    try:
+        path_user_pyproject_toml = find_user_pyproject_toml()
+        return (
+            str(path_user_pyproject_toml)
+            if path_user_pyproject_toml.is_file()
+            else None
+        )
+    except PermissionError as e:
+        # We do not have access to the user-level config directory, so ignore it.
+        err(f"Ignoring user configuration directory due to {e!r}")
+        return None
 
 
 def parse_pyproject_toml(path_config: str) -> Dict[str, Any]: