autoscheduler: hard-reset instead of pull; another sitegen on push
[Ultimately_Untrue_Thought.git] / provisioning / pelican_scheduler.py
index 8701227..c58a036 100755 (executable)
@@ -67,7 +67,14 @@ def main():
     # repo confuse us
     our_env = os.environ.copy()
     del our_env['GIT_DIR']
-    subprocess.run(["git", "pull"], cwd=WORKING_REPO, env=our_env)
+
+    for git_cmd in [["git", "fetch", "origin"],
+                    ["git", "reset", "--hard", "origin/master"]]:
+        subprocess.run(git_cmd, cwd=WORKING_REPO, env=our_env)
+
+    # sitegen now! (even if there are no posts to queue, we can at least update
+    # /drafts/) and make any back-edits to published posts live
+    subprocess.run(SITEGEN_COMMAND)
 
     # look for scheduled future posts
     future_publication_times = get_future_publication_times()