fix pull to working repo in post-receive hook, probably
authorM. Taylor Saotome-Westlake <ultimatelyuntruethought@gmail.com>
Mon, 27 Nov 2017 06:07:25 +0000 (22:07 -0800)
committerM. Taylor Saotome-Westlake <ultimatelyuntruethought@gmail.com>
Mon, 27 Nov 2017 06:07:25 +0000 (22:07 -0800)
It would seem that codes run on behalf of the bare repo have $GIT_DIR='.',
which is not what we want when working on a non-bare repo.

provisioning/pelican_scheduler.py

index 8882e56..8701227 100755 (executable)
@@ -62,7 +62,12 @@ def schedule(command, when):
 
 def main():
     # sync our "working" repo with the bare one
-    subprocess.run(["git", "pull"], cwd=WORKING_REPO)
+
+    # but first, don't let the fact that this is running as a hook on the bare
+    # repo confuse us
+    our_env = os.environ.copy()
+    del our_env['GIT_DIR']
+    subprocess.run(["git", "pull"], cwd=WORKING_REPO, env=our_env)
 
     # look for scheduled future posts
     future_publication_times = get_future_publication_times()