Improve support for submodules in code_style.py

This commit improves support for submodules within code_style.py. A new
function get_submodule_hash retrieves the submodule hash at the time of
a commit allowing an appropriate diff to be seen.

Signed-off-by: Harry Ramsey <harry.ramsey@arm.com>
This commit is contained in:
Harry Ramsey 2024-09-18 14:03:26 +01:00
parent d7408a69fc
commit 5098d0474a

View File

@ -102,8 +102,10 @@ def get_src_files(since: Optional[str]) -> List[str]:
"--name-only", "--pretty=", "--"] + src_files
output = subprocess.check_output(cmd, universal_newlines=True)
committed_changed_files = output.split()
# ... the framework submodule
cmd = ["git", "-C", "framework", "log", since + "..HEAD",
framework_since = get_submodule_hash(since, "framework")
cmd = ["git", "-C", "framework", "log", framework_since + "..HEAD",
"--name-only", "--pretty=", "--"] + framework_src_files
output = subprocess.check_output(cmd, universal_newlines=True,
env=framework_env)
@ -135,6 +137,12 @@ def get_src_files(since: Optional[str]) -> List[str]:
is_file_autogenerated(filename))]
return src_files
def get_submodule_hash(commit: str, submodule: str) -> str:
"""Get the commit hash of a submodule at a given commit in the Git repository."""
cmd = ["git", "ls-tree", commit, submodule]
output = subprocess.check_output(cmd, universal_newlines=True)
return output.split()[2]
def get_uncrustify_version() -> str:
"""
Get the version string from Uncrustify