Skip to content

Commit

Permalink
Remove 0-added,0-removed modified entries from JSON output.
Browse files Browse the repository at this point in the history
  • Loading branch information
cr1901 committed Aug 16, 2024
1 parent ad50284 commit 6e9857b
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion src/borg/archiver.py
Original file line number Diff line number Diff line change
Expand Up @@ -1122,7 +1122,16 @@ def do_diff(self, args, repository, manifest, key, archive):
"""Diff contents of two archives"""

def print_json_output(diff, path):
print(json.dumps({"path": path, "changes": [j for j, str in diff]}, sort_keys=True, cls=BorgJsonEncoder))
def actual_change(j):
if j["type"] == "modified":
# It's useful to show 0 added and 0 removed for text output
# but for JSON this is essentially noise. Additionally, the
# JSON key is "changes", and this is not actually a change.
return not (j["added"] == 0 and j["removed"] == 0)
else:
return True

print(json.dumps({"path": path, "changes": [j for j, str in diff if actual_change(j)]}, sort_keys=True, cls=BorgJsonEncoder))

def print_text_output(diff, path):
print("{:<19} {}".format(' '.join([str for j, str in diff]), path))
Expand Down

0 comments on commit 6e9857b

Please sign in to comment.