`git filter-repo` commands output nothing on Windows

Viewed 5456

I installed git-filter-repo via scoop, tried multiple git filter-repo commands e.g. git filter-repo -h, they all logged nothing, no warning or error, just nothing.

Tried rebooting, reinstalling, and installing it on another Windows 10 computer, all reproduced it.

git-filter-repo: v2.33.0
git: v2.33.0.windows.2
python: v3.9.7
scoop:

Current Scoop version:
09200504 (HEAD -> master, origin/master, origin/HEAD) reset: skip when app instance is running (#4359)

'main' bucket:
b71f4a842 (HEAD -> master, origin/master, origin/HEAD) nunit-extension-vs-project-loader: Update to version 3.9.0

How to solve this issue?

2 Answers

When I installed git-filter-repo on Windows earlier this year, the following steps worked for me:

  1. Download and install Python for Windows. Confirm python was added to your path and that you can run either the command python or python3 from your Git command line. (I recommend Git Bash.) In my case, my executable name is python.
  2. Clone the git-filter-repo repo from GitHub.
  3. Run the command git --exec-path to see your Git exe directory.
  4. From the git-filter-repo repo's root directory, copy the file git-filter-repo (about 160KB) into your Git exe directory.
  5. In your command line where you use Git, type the command git filter-repo. If it works, you should get the message "No arguments specified."
  6. If you get no message or an error message similar to "/usr/bin/env: ‘python3’: No such file or directory", then edit the file git-filter-repo that you copied into your Git exe directory in step #4, and change the first line from "python3" to "python". If "python" still doesn't work, you can try changing it to just "py". This is the python launcher which can auto-detect the highest version installed on your machine. More info here.

Now be amazed at how fast and awesome git-filter-repo is.

In my case I followed this answer for windows 11 and here is my experience.

  1. I installed python from the windows store or from this link https://www.python.org/downloads enter image description here

  2. I run pip3 install git-filter-repo or python3 -m pip install --user git-filter-repo only for current user.

I got this message:

Requirement already satisfied: git-filter-repo in c:\users\username\appdata\local\packages\pythonsoftwarefoundation.python.3.10_qbz5n2kfra8p0\localcache\local-packages\python310\site-packages

  1. Now copy that folder but replace site-packages with scripts c:\users\username\appdata\local\packages\pythonsoftwarefoundation.python.3.10_qbz5n2kfra8p0\localcache\local-packages\python310\scripts

You will find git-filter-repo.exe inside the scripts folder.

  1. Run git --exec-path

You will get

C:/Program Files/Git/mingw64/libexec/git-core
  1. Copy git-filter-repo.exe to a folder in step 4 (C:/Program Files/Git/mingw64/libexec/git-core).

Now you should be able to run git filter-repo

Related