-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: 5.0 Required
-
Component/s: None
-
None
-
Fully Compatible
-
Repl 2020-11-16
Write a Python script, buildscripts/idl/list_idl_files_for_api_version.py, that will find all IDL files in the current commit as well as from all release tags starting at r4.9.0 up to the most recent release tag on the branch. The script assumes that the mongo repository is already cloned and the current revision checked out via the git.get_project command.
list_idl_files_for_api_version.py will first copy all IDL files in the src/mongo/db directory to a separate directory. It will then get a list of all tags and filter for release tags starting at r4.9.0 (or whichever release first includes API V1 IDL commands) and after via regex. This list of tags will be used to determine which branches the IDL files will be compared against. The script will iterate over all relevant release tags and copy all IDL files from the branch to a separate directory. (For speed, the script may avoid checking out the whole repo, and instead use git ls-tree --name-only -r $VERSION | grep -E '.*\.idl' to list IDL files and git show to retrieve them.)