|
3 | 3 | The following is a short step-by-step rundown of what one typically would do to contribute. |
4 | 4 |
|
5 | 5 | - [Fork this project](https://github.com/gitpython-developers/GitPython/fork) on GitHub. |
6 | | -- For setting up the environment to run the self tests, please run `init-tests-after-clone.sh`. |
| 6 | +- Install the `test` extra and select a backend before running `pytest`. Test |
| 7 | + repositories are generated automatically; no source Git history is required. |
7 | 8 | - Please try to **write a test that fails unless the contribution is present.** |
8 | 9 | - Try to avoid massive commits and prefer to take small steps, with one commit for each. |
9 | 10 | - Feel free to add yourself to AUTHORS file. |
@@ -64,8 +65,10 @@ Put initial repository and filesystem states in `tests/fixtures/*.sh` and use |
64 | 65 | `test.lib.fixtures` to run them through `gix.testtools`. Read-only tests share |
65 | 66 | cached output; mutating tests use writable copies. Use `execute=True` only when |
66 | 67 | the fixture cannot be copied, and explain the reason at its call site. Keep |
67 | | -operations under test in Python. Immutable parser byte samples remain in |
68 | | -`test/fixtures`; generated caches and archives are ignored. |
| 68 | +operations under test in Python. Generate histories from scratch and refer to |
| 69 | +named fixture revisions; do not clone the source checkout, fetch project history, |
| 70 | +or depend on its refs, object IDs, index, or working-tree state. Immutable parser |
| 71 | +byte samples remain in `test/fixtures`; generated caches and archives are ignored. |
69 | 72 |
|
70 | 73 | Use `test.cleanup.cleanup_directory` for cleanup outside the shared fixture |
71 | 74 | owners. Close repository handles before removing their files. Cleanup is |
|
0 commit comments