I submitted my first PR to RocksDB as an external contributor and have advice on the process.
- Read the Contribution Guide
- Run make format on your diffs. This depends on clang-format and you might need to install it.
- Edit HISTORY.md if there are user-facing changes
- Optionally run make check to confirm tests pass. Some tests failed because my small servers have 16G of RAM, the tests use /dev/shm and needed more than the 8G that /dev/shm gets on my servers.
- Confirm that RocksDB LITE builds still work: LITE=1 make db_bench
- Some of the CI tests are flaky now and have bogus failures (see here). To get CI tests to repeat I edit and push small changes to HISTORY.md. The team is fixing the intermittent test failures. Alas, one of the intermittent problems was from internal gcc failures on ARM -- something I can't reproduce on my x86 hardware. The good news is that after three attempts everything passes.
- Google for advice on how to do this in git. I am not a git guru but the advice I find is great