Visitar URL original
init-templatedir installing hooks to wrong directory · Issue #1720 · pre-commit/pre-commit · GitHub
Skip to content

init-templatedir installing hooks to wrong directory #1720

Description

@chronoB

I was trying to use the init-templatedir functionality of pre-commit and ran into a weird problem:

Using Windows 10, pre-commit 2.9.2, git version 2.29.2.windows.1

I followed the example on the pre-commit.com website and used:

git config --global init.templateDir ~/.git-template
pre-commit init-templatedir ~/.git-template

grafik

It wants me to be in a git repository (I thought you prevented this with da80cc6).
So i switched to a git repository and rerun

pre-commit init-templatedir ~/.git-template

grafik

the hooks aren't installed in the stated directory.
Based on the warnings it looks like pre-commit isn't resolving the ~ correctly, or did I miss sth.?

git config --get init.templateDir 

returns ~/.git-template

grafik

Activity

  1. asottile commented on Nov 28, 2020

    @asottile
    Member

    Ahah, so the first part of this is that the cygwin check relies on being in a git repo and it is only run on windows -- that's why it only was failing on windows and why I didn't notice the regression there

    As for the other components here, ~ is a special shell expansion on posix -- on windows you'll use %HOMEPATH%\.git-template instead (this probably is worth a documentation update -- the docs live at https://github.com/pre-commit/pre-commit.com if you'd like to contribute to them!).

    If we try with %HOMEPATH% I get this output:

    (venv) C:\Users\Anthony\workspace\wat>pre-commit init-templatedir %HOMEPATH%\.git-template
    pre-commit installed at \Users\Anthony\.git-template\hooks\pre-commit
    [WARNING] `init.templateDir` not set to the target directory
    [WARNING] maybe `git config --global init.templateDir C:\Users\Anthony\.git-template`?
    
    (venv) C:\Users\Anthony\workspace\wat>git config --global init.templateDir %HOMEPATH%\.git-template
    
    (venv) C:\Users\Anthony\workspace\wat>pre-commit init-templatedir %HOMEPATH%\.git-template
    pre-commit installed at \Users\Anthony\.git-template\hooks\pre-commit
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions