diff --git a/qutebrowser/utils/standarddir.py b/qutebrowser/utils/standarddir.py index c58eac77c..04e3e342f 100644 --- a/qutebrowser/utils/standarddir.py +++ b/qutebrowser/utils/standarddir.py @@ -359,9 +359,11 @@ def _move_data(old, new): log.init.debug("Migrating data from {} to {}".format(old, new)) if os.path.exists(new): - message.error("Failed to move data from {} as {} already exists!" - .format(old, new)) - return False + if os.listdir(new): + message.error("Failed to move data from {} as {} is non-empty!" + .format(old, new)) + return False + os.rmdir(new) try: shutil.move(old, new) diff --git a/tests/unit/utils/test_standarddir.py b/tests/unit/utils/test_standarddir.py index c3a4c2e5c..b7c23071e 100644 --- a/tests/unit/utils/test_standarddir.py +++ b/tests/unit/utils/test_standarddir.py @@ -389,7 +389,7 @@ class TestDataMigrations: standarddir._move_webengine_data() record = caplog.records[-1] - expected = "Failed to move data from {} as {} already exists!".format( + expected = "Failed to move data from {} as {} is non-empty!".format( old_path, new_path) assert record.message == expected