Skip to content

Commit

Permalink
INSTALL.md: add notes about common installation issues
Browse files Browse the repository at this point in the history
Signed-off-by: Elijah Newren <[email protected]>
  • Loading branch information
newren committed Oct 19, 2020
1 parent 9282a33 commit 74ea810
Showing 1 changed file with 39 additions and 8 deletions.
47 changes: 39 additions & 8 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,19 @@ no interest in doing so); https://repology.org tracks who packages
these versions.


# Notes for Windows Users

It seems that the default python on Windows is not fully functional,
and windows might not allow executing python scripts by default. See
[issue 124](https://github.com/newren/git-filter-repo/issues/124),
[issue 36](https://github.com/newren/git-filter-repo/issues/36), and
[this git mailing list
thread](https://lore.kernel.org/git/[email protected]/)
for details and workarounds. I believe that Windows users installing
git-filter-repo via Scoop will be okay, but those using a manual
installation or pip install may run into these issues.


# Manual Installation

filter-repo only consists of a few files that need to be installed:
Expand Down Expand Up @@ -70,14 +83,26 @@ filter-repo only consists of a few files that need to be installed:
instructions regardless of whether the html version of help is
installed.

So, installation might look something like
```
cp -a git-filter-repo $(git --exec-path)
cp -a git-filter-repo.1 $(git --man-path)/man1
cp -a git-filter-repo.html $(git --html-path)
ln -s $(git --exec-path)/git-filter-repo \
$(python -c "import site; print(site.getsitepackages()[-1])")/git_filter_repo.py
```
So, installation might look something like the following:

1. If you don't have the necessary documentation files (because you
are installing from a clone of filter-repo instead of from a
tarball) then you can first run:

`make snag_docs`

(which just copies the generated documentation files from the
`docs` branch)

2. Run the following

```
cp -a git-filter-repo $(git --exec-path)
cp -a git-filter-repo.1 $(git --man-path)/man1
cp -a git-filter-repo.html $(git --html-path)
ln -s $(git --exec-path)/git-filter-repo \
$(python -c "import site; print(site.getsitepackages()[-1])")/git_filter_repo.py
```

# Installation via [pip](https://pip.pypa.io/)

Expand All @@ -86,6 +111,12 @@ to run:

$ pip3 install git-filter-repo

However, the place where pip places that package might not be in your
$PATH (thus requiring you to manually update your $PATH afterwards),
and on windows the pip install might not take care of python-specific
issues for you (see "Notes for Windows Users", above). As such,
installation via package managers is recommended instead.


# Installation via Makefile

Expand Down

0 comments on commit 74ea810

Please sign in to comment.