mirror of
https://github.com/zulip/zulip.git
synced 2025-10-24 16:43:57 +00:00
total-contributions: Fix bug that replaced a repo's whole history with nothing.
When using a start date before the first commit to a repo, we should include the repo's entire history (up to the end date) in our totals. Instead, we were using a range like "..{upper_version}", which in Git revision-range syntax means the start of the range is HEAD -- so the range was empty. Fix that by leaving out the ".." when we want no left endpoint.
This commit is contained in:
@@ -27,9 +27,9 @@ def add_log(committer_dict: Dict[str, int], input: List[str]) -> None:
|
|||||||
committer_dict[committer_name] += commit_count
|
committer_dict[committer_name] += commit_count
|
||||||
|
|
||||||
|
|
||||||
def retrieve_log(repo: str, lower_version: str, upper_version: str) -> List[str]:
|
def retrieve_log(repo: str, revisions: str) -> List[str]:
|
||||||
return subprocess.check_output(
|
return subprocess.check_output(
|
||||||
["git", "shortlog", "-s", lower_version + ".." + upper_version],
|
["git", "shortlog", "-s", revisions],
|
||||||
cwd=find_path(repo),
|
cwd=find_path(repo),
|
||||||
text=True,
|
text=True,
|
||||||
).splitlines()
|
).splitlines()
|
||||||
@@ -47,15 +47,21 @@ def process_repo(
|
|||||||
lower_version: str,
|
lower_version: str,
|
||||||
upper_version: str,
|
upper_version: str,
|
||||||
) -> None:
|
) -> None:
|
||||||
|
if not lower_version:
|
||||||
|
revisions = upper_version
|
||||||
|
revisions_display = f"(start)..{upper_version[0:12]}"
|
||||||
|
else:
|
||||||
|
revisions = f"{lower_version}..{upper_version}"
|
||||||
|
revisions_display = f"{lower_version[0:12]}..{upper_version[0:12]}"
|
||||||
commit_count = len(
|
commit_count = len(
|
||||||
subprocess.check_output(
|
subprocess.check_output(
|
||||||
["git", "log", "--pretty=oneline", f"{lower_version}..{upper_version}"],
|
["git", "log", "--pretty=oneline", revisions],
|
||||||
cwd=find_path(repo_short),
|
cwd=find_path(repo_short),
|
||||||
text=True,
|
text=True,
|
||||||
).splitlines()
|
).splitlines()
|
||||||
)
|
)
|
||||||
repo_log = retrieve_log(repo_short, lower_version, upper_version)
|
repo_log = retrieve_log(repo_short, revisions)
|
||||||
print(f"{commit_count} commits from {repo_full}: {lower_version[0:12]}..{upper_version[0:12]}")
|
print(f"{commit_count} commits from {repo_full}: {revisions_display}")
|
||||||
add_log(out_dict, repo_log)
|
add_log(out_dict, repo_log)
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user