Skip to content

Commit 4052fd4

Browse files
alexbruywonder-sk
authored andcommitted
if "to" version is not set assume latest project version when creating
report
1 parent 5eee1f5 commit 4052fd4

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

mergin/report.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -207,22 +207,23 @@ def create_report(mc, directory, since, to, out_file):
207207
mc (MerginClient): MerginClient instance.
208208
directory (str): local project directory (must already exist).
209209
since (str): starting project version tag, for example 'v3'.
210-
to (str): ending project version tag, for example 'v6'.
210+
to (str): ending project version tag, for example 'v6'. If empty string is passed the latest version will be used.
211211
out_file (str): output file to save csv in
212212
213213
Returns:
214214
List of warnings/issues for versions which could not be processed (e.g. broken history with missing diff)
215215
"""
216216
mp = MerginProject(directory)
217217
project = mp.metadata["name"]
218-
mp.log.info(f"--- Creating changesets report for {project} from {since} to {to} versions ----")
219-
versions_map = {v["name"]: v for v in mc.project_versions(project, since, to)}
218+
mp.log.info(f"--- Creating changesets report for {project} from {since} to {to if to else 'latest'} versions ----")
219+
versions = mc.project_versions(project, since, to if to else None)
220+
versions_map = {v["name"]: v for v in versions}
220221
headers = ["file", "table", "author", "date", "time", "version", "operation", "length", "area", "count"]
221222
records = []
222223
warnings = []
223224
info = mc.project_info(project, since=since)
224225
num_since = int_version(since)
225-
num_to = int_version(to)
226+
num_to = int_version(to) if to else int_version(versions[-1]["name"])
226227
# filter only .gpkg files
227228
files = [f for f in info["files"] if mp.is_versioned_file(f["path"])]
228229
for f in files:

mergin/test/test_client.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1671,6 +1671,10 @@ def test_report(mc):
16711671
# files not edited are not in reports
16721672
assert "inserted_1_A.gpkg" not in content
16731673

1674+
# create report between versions 2 and latest version (which is version 5)
1675+
warnings = create_report(mc, directory, since, "", report_file)
1676+
assert warnings
1677+
16741678
# do report for v1 with added files and v5 with overwritten file
16751679
warnings = create_report(mc, directory, "v1", "v5", report_file)
16761680
assert warnings

0 commit comments

Comments
 (0)