From 35caf115f8c0fadd1604c031825af68c34362818 Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Wed, 1 Jan 2020 20:21:42 -0800 Subject: [PATCH] clear 'frozen: ...' comment if autoupdate unfreezes --- pre_commit/commands/autoupdate.py | 4 +++- tests/commands/autoupdate_test.py | 7 ++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/pre_commit/commands/autoupdate.py b/pre_commit/commands/autoupdate.py index 5e804c14..05187b85 100644 --- a/pre_commit/commands/autoupdate.py +++ b/pre_commit/commands/autoupdate.py @@ -108,7 +108,9 @@ def _write_new_config(path, rev_infos): new_rev_s = ordered_dump({'rev': rev_info.rev}, **C.YAML_DUMP_KWARGS) new_rev = new_rev_s.split(':', 1)[1].strip() if rev_info.frozen is not None: - comment = ' # {}'.format(rev_info.frozen) + comment = ' # frozen: {}'.format(rev_info.frozen) + elif match.group(4).strip().startswith('# frozen:'): + comment = '' else: comment = match.group(4) lines[idx] = REV_LINE_FMT.format( diff --git a/tests/commands/autoupdate_test.py b/tests/commands/autoupdate_test.py index 9a725588..f8ea084e 100644 --- a/tests/commands/autoupdate_test.py +++ b/tests/commands/autoupdate_test.py @@ -312,9 +312,14 @@ def test_autoupdate_freeze(tagged, in_tmpdir, store): assert autoupdate(C.CONFIG_FILE, store, freeze=True, tags_only=False) == 0 with open(C.CONFIG_FILE) as f: - expected = 'rev: {} # v1.2.3'.format(tagged.head_rev) + expected = 'rev: {} # frozen: v1.2.3'.format(tagged.head_rev) assert expected in f.read() + # if we un-freeze it should remove the frozen comment + assert autoupdate(C.CONFIG_FILE, store, freeze=False, tags_only=False) == 0 + with open(C.CONFIG_FILE) as f: + assert 'rev: v1.2.3\n' in f.read() + def test_autoupdate_tags_only(tagged, in_tmpdir, store): # add some commits after the tag