FIX: Run reset and clean after checkout (#500)
authorJeff Wong <awole20@gmail.com>
Fri, 11 Dec 2020 01:53:58 +0000 (15:53 -1000)
committerGitHub <noreply@github.com>
Fri, 11 Dec 2020 01:53:58 +0000 (12:53 +1100)
shallow fetching and resetting may result in a dirty working tree.
Ensure we have a clean working tree by running the reset and clean after the
fetch.

Previously, we needed the clean and reset before the PULL, to ensure a clean
pull, but since we are using fetch + checkout (which does not result in a
merge if dirty) we might end up with a dirty repo after the checkout, such
as if a clone remote has a different master branch than core.

templates/web.template.yml

index 28fb22d00877400050c0705671965780e72ba0b4..0c64e15bcb8a3db5dfdd3fd85136070bf8305eb8 100644 (file)
@@ -86,12 +86,12 @@ run:
       cd: $home
       hook: code
       cmd:
-        - git reset --hard
-        - git clean -f
         - git remote set-branches --add origin master
         - git remote set-branches origin $version
         - git fetch --depth 1 origin $version
         - git checkout $version
+        - git reset --hard origin $version
+        - git clean -f
         - mkdir -p tmp
         - chown discourse:www-data tmp
         - mkdir -p tmp/pids