diff --git a/hands_on/reset_commits.py b/hands_on/reset_commits.py new file mode 100644 index 0000000..57b177b --- /dev/null +++ b/hands_on/reset_commits.py @@ -0,0 +1,114 @@ +import os + +from exercise_utils.file import append_to_file, create_or_update_file +from exercise_utils.git import add, commit, init, tag + +__requires_git__ = True +__requires_github__ = False + + +def download(verbose: bool): + os.makedirs("things") + os.chdir("things") + init(verbose) + + create_or_update_file( + "fruits.txt", + """ + apples + bananas + cherries + dragon fruits + """ + ) + add(["fruits.txt"], verbose) + commit("Add fruits.txt", verbose) + + append_to_file( + "fruits.txt", + """ + elderberries + figs + """) + add(["fruits.txt"], verbose) + commit("Add elderberries and figs into fruits.txt", verbose) + + create_or_update_file( + "colours.txt", + """ + a file for colours + """ + ) + create_or_update_file( + "shapes.txt", + """ + a file for shapes + """ + ) + add(["colours.txt", "shapes.txt"], verbose) + commit("Add colours.txt, shapes.txt", verbose) + tag("0.9", verbose) + + create_or_update_file( + "fruits.txt", + """ + apples, apricots + bananas + blueberries + cherries + dragon fruits + figs + """) + add(["fruits.txt"], verbose) + commit("Update fruits list", verbose) + + append_to_file( + "colours.txt", + """ + bad colour + """ + ) + add(["colours.txt"], verbose) + commit("Incorrectly update colours.txt", verbose) + + append_to_file( + "shapes.txt", + """ + bad shape + """ + ) + add(["shapes.txt"], verbose) + commit("Incorrectly update shapes.txt", verbose) + + append_to_file( + "fruits.txt", + """ + bad fruit + """ + ) + add(["fruits.txt"], verbose) + commit("Incorrectly update fruits.txt", verbose) + + create_or_update_file( + "incorrect.txt", + """ + bad line + """ + ) + add(["incorrect.txt"], verbose) + commit("Add incorrect.txt", verbose) + + append_to_file( + "colours.txt", + """ + another bad colour + """ + ) + add(["colours.txt"], verbose) + + append_to_file( + "shapes.txt", + """ + another bad shape + """ + ) \ No newline at end of file