Skip to content

Update readme and tox.ini for recent tooling changes #1868

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Mar 13, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Very slightly improve readme presentation
- Add a missing period.

- Indicate sh rather than bash as as the language for syntax
  highlighting of shell commands that don't need bash.

I had held off on making that second change in previous revisions
because it would have involved either introducing an inconsistency
or editing the section giving the deprecated signature-checking
instructions. That section was removed in 2671167 (#1823).

(This also wraps a paragraph where the immediately surrounding text
was wrapped, but that should not affect rendered text, and broader
consistency improvements to Markdown wrapping style are not done.)
  • Loading branch information
EliahKagan committed Mar 13, 2024
commit 395b70ae2fdf01590f157e94d96e7ddac7893ba9
30 changes: 15 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ probably the skills to scratch that itch of mine: implement `git` in a way that
If you like the idea and want to learn more, please head over to [gitoxide](https://github.com/Byron/gitoxide), an
implementation of 'git' in [Rust](https://www.rust-lang.org).

*(Please note that `gitoxide` is not currently available for use in Python, and that Rust is required)*
*(Please note that `gitoxide` is not currently available for use in Python, and that Rust is required.)*

## GitPython

Expand All @@ -39,9 +39,9 @@ The project is open to contributions of all kinds, as well as new maintainers.

### REQUIREMENTS

GitPython needs the `git` executable to be installed on the system and available in your `PATH` for most operations.
If it is not in your `PATH`, you can help GitPython find it by setting
the `GIT_PYTHON_GIT_EXECUTABLE=<path/to/git>` environment variable.
GitPython needs the `git` executable to be installed on the system and available in your
`PATH` for most operations. If it is not in your `PATH`, you can help GitPython find it
by setting the `GIT_PYTHON_GIT_EXECUTABLE=<path/to/git>` environment variable.

- Git (1.7.x or newer)
- Python >= 3.7
Expand All @@ -57,7 +57,7 @@ GitPython and its required package dependencies can be installed in any of the f

To obtain and install a copy [from PyPI](https://pypi.org/project/GitPython/), run:

```bash
```sh
pip install GitPython
```

Expand All @@ -67,15 +67,15 @@ pip install GitPython

If you have downloaded the source code, run this from inside the unpacked `GitPython` directory:

```bash
```sh
pip install .
```

#### By cloning the source code repository

To clone the [the GitHub repository](https://github.com/gitpython-developers/GitPython) from source to work on the code, you can do it like so:

```bash
```sh
git clone https://github.com/gitpython-developers/GitPython
cd GitPython
./init-tests-after-clone.sh
Expand All @@ -85,15 +85,15 @@ On Windows, `./init-tests-after-clone.sh` can be run in a Git Bash shell.

If you are cloning [your own fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks), then replace the above `git clone` command with one that gives the URL of your fork. Or use this [`gh`](https://cli.github.com/) command (assuming you have `gh` and your fork is called `GitPython`):

```bash
```sh
gh repo clone GitPython
```

Having cloned the repo, create and activate your [virtual environment](https://docs.python.org/3/tutorial/venv.html).

Then make an [editable install](https://pip.pypa.io/en/stable/topics/local-project-installs/#editable-installs):

```bash
```sh
pip install -e ".[test]"
```

Expand All @@ -105,7 +105,7 @@ In rare cases, you may want to work on GitPython and one or both of its [gitdb](

If you want to do that *and* you want the versions in GitPython's git submodules to be used, then pass `-e git/ext/gitdb` and/or `-e git/ext/gitdb/gitdb/ext/smmap` to `pip install`. This can be done in any order, and in separate `pip install` commands or the same one, so long as `-e` appears before *each* path. For example, you can install GitPython, gitdb, and smmap editably in the currently active virtual environment this way:

```bash
```sh
pip install -e ".[test]" -e git/ext/gitdb -e git/ext/gitdb/gitdb/ext/smmap
```

Expand Down Expand Up @@ -141,33 +141,33 @@ you will encounter test failures.

Ensure testing libraries are installed. This is taken care of already if you installed with:

```bash
```sh
pip install -e ".[test]"
```

Otherwise, you can run:

```bash
```sh
pip install -r test-requirements.txt
```

#### Test commands

To test, run:

```bash
```sh
pytest
```

To lint, and apply automatic code formatting, run:

```bash
```sh
pre-commit run --all-files
```

To typecheck, run:

```bash
```sh
mypy -p git
```

Expand Down