From b0995adda02aae65b80c80cb340c32a8071dbe93 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 16 Nov 2021 13:59:58 +0100 Subject: [PATCH] [ADD] *: support for empty commits The Commit test object now allows a tree of `None` (or an empty dict, same diff) in which case it will create an empty commit (a commit which uses the same tree as its parent). --- conftest.py | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/conftest.py b/conftest.py index c09fe17b..57a240e1 100644 --- a/conftest.py +++ b/conftest.py @@ -650,17 +650,18 @@ class Repo: hashes = [] for commit in commits: - if commit.reset: - tree = None - r = self._session.post('https://api.github.com/repos/{}/git/trees'.format(self.name), json={ - 'tree': [ - {'path': k, 'mode': '100644', 'type': 'blob', 'content': v} - for k, v in commit.tree.items() - ], - 'base_tree': tree - }) - assert r.ok, r.text - tree = r.json()['sha'] + if commit.tree: + if commit.reset: + tree = None + r = self._session.post('https://api.github.com/repos/{}/git/trees'.format(self.name), json={ + 'tree': [ + {'path': k, 'mode': '100644', 'type': 'blob', 'content': v} + for k, v in commit.tree.items() + ], + 'base_tree': tree + }) + assert r.ok, r.text + tree = r.json()['sha'] data = { 'parents': parents,