summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.pre-commit-config.yaml2
-rw-r--r--CHANGELOG.md7
-rw-r--r--pre_commit/languages/r.py20
-rw-r--r--setup.cfg2
4 files changed, 18 insertions, 13 deletions
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 2859e31..bcfde90 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -21,7 +21,7 @@ repos:
hooks:
- id: autopep8
- repo: https://github.com/pre-commit/pre-commit
- rev: v2.11.0
+ rev: v2.11.1
hooks:
- id: validate_manifest
- repo: https://github.com/asottile/pyupgrade
diff --git a/CHANGELOG.md b/CHANGELOG.md
index eea5863..5da7866 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+2.11.1 - 2021-03-09
+===================
+
+### Fixes
+- Fix r hooks when hook repo is a package
+ - #1831 PR by @lorenzwalthert.
+
2.11.0 - 2021-03-07
===================
diff --git a/pre_commit/languages/r.py b/pre_commit/languages/r.py
index 1d42fea..83e6000 100644
--- a/pre_commit/languages/r.py
+++ b/pre_commit/languages/r.py
@@ -88,13 +88,11 @@ def install_environment(
env_dir = _get_env_dir(prefix, version)
with clean_path_on_failure(env_dir):
os.makedirs(env_dir, exist_ok=True)
- path_desc_source = prefix.path('DESCRIPTION')
- if os.path.exists(path_desc_source):
- shutil.copy(path_desc_source, env_dir)
shutil.copy(prefix.path('renv.lock'), env_dir)
cmd_output_b(
'Rscript', '--vanilla', '-e',
- """\
+ f"""\
+ prefix_dir <- {prefix.prefix_dir!r}
missing_pkgs <- setdiff(
"renv", unname(installed.packages()[, "Package"])
)
@@ -109,15 +107,15 @@ def install_environment(
'renv::activate("', file.path(getwd()), '"); '
)
writeLines(activate_statement, 'activate.R')
- is_package <- tryCatch(
- suppressWarnings(
- unname(read.dcf('DESCRIPTION')[,'Type'] == "Package")
- ),
+ is_package <- tryCatch({{
+ content_desc <- read.dcf(file.path(prefix_dir, 'DESCRIPTION'))
+ suppressWarnings(unname(content_desc[,'Type']) == "Package")
+ }},
error = function(...) FALSE
)
- if (is_package) {
- renv::install(normalizePath('.'))
- }
+ if (is_package) {{
+ renv::install(prefix_dir)
+ }}
""",
cwd=env_dir,
)
diff --git a/setup.cfg b/setup.cfg
index 5a4ee6e..a14e95d 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,6 +1,6 @@
[metadata]
name = pre_commit
-version = 2.11.0
+version = 2.11.1
description = A framework for managing and maintaining multi-language pre-commit hooks.
long_description = file: README.md
long_description_content_type = text/markdown