Skip to content

Commit 579c194

Browse files
committed
explain what syncing is, add example, and modify spacing
1 parent ec50aff commit 579c194

File tree

1 file changed

+19
-11
lines changed

1 file changed

+19
-11
lines changed

CONTRIBUTING.md

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -433,26 +433,34 @@ new feature in PyMongo that has spec tests already implemented, or if
433433
you are attempting to validate new spec tests in PyMongo.
434434

435435
### Automated Specification Test Resyncing
436-
`/.evergreen/scripts/resync-all-specs.sh` is a script that will
437-
automatically run once a week. This script calls a python script
438-
`.evergreen/scripts/resync-all-specs.py` that actually does all
439-
the resyncing. Then, any desired un-syncing will be accomplished
440-
with the help of patch files through a `git apply -R`. If
441-
appropriate, the bash script then calls
442-
`.evergreen/scripts/create-pr.sh` that actually publishes a PR.
436+
There is a script (`/.evergreen/scripts/resync-all-specs.sh`) that will
437+
automatically run once a week to resync all the specs with the [specifications
438+
repo](https://github.com/mongodb/specifications).
439+
If there are changes, a PR will be generated by mongodb-drivers-pr-bot.
440+
If any errors occurred, the PR description will display the name of the spec along
441+
with stderr from the `bash resync-spec.sh <spec>` command.
443442

444443
There are three patch files that contain known test differences between
445444
PyMongo's tests and the specification:
446-
`.evergreen/patch/diff.patch`: tests where
447-
PyMongo intentionally behaves differently than the specification. This file should rarely be modified, as most of these represent fundamental differences in design or behavior.
448-
`.evergreen/patch/new.patch`: tests for new features that have not yet been implemented in PyMongo. Tests must be removed from this file as part of the PR that implements their feature.
449-
`.evergreen/patch/update.patch`: tests that have been updated in a way that causes them to fail until their associated driver change is implemented. Tests must be removed from this file as part of the PR that implements the fix or behavioral change.
445+
`.evergreen/patch/diff.patch`: tests where PyMongo intentionally behaves differently than the specification.
446+
This file should rarely be modified, as most of these represent fundamental differences in design or behavior.
447+
`.evergreen/patch/new.patch`: tests for new features that have not yet been implemented in PyMongo.
448+
Tests must be removed from this file as part of the PR that implements their feature.
449+
`.evergreen/patch/update.patch`: tests that have been updated in a way that causes them to fail until their
450+
associated driver change is implemented. Tests must be removed from this file as part of the PR that implements
451+
the fix or behavioral change.
450452

451453
#### Adding to a patch file
452454
Assuming the changes are committed somewhere, to add to any of the
453455
patch files, run `git diff` to show the desired changes and paste the
454456
results into the patch file.
455457

458+
For example, there are new test files on the most recent commit of the current branch that are failing.
459+
To add those changes to `new.patch`, I would do the following:
460+
```bash
461+
git diff HEAD~1 path/to/new/file >> .evergreen/patch/new.patch
462+
```
463+
456464
## Making a Release
457465

458466
Follow the [Python Driver Release Process Wiki](https://wiki.corp.mongodb.com/display/DRIVERS/Python+Driver+Release+Process).

0 commit comments

Comments
 (0)