Update git hooks with upstream fixes (#4690)
* Make git hooks work in git worktrees (#40038) Make hooks work in worktrees and cleanup hooks (cherry picked from commit d3731395b6de358b13364b02eaeff1244a54aa2f) * Replace all usages of /bin/bash shebang with /usr/bin/env (#40756) Replace all usages of /bin/bash with /usr/bin/env /usr/bin/env is nearly guaranteed to always exist at that location, which can't be said about /bin/bash and /bin/sh. Co-authored-by: opl <4833621+opl@users.noreply.github.com> (cherry picked from commit b9254d9ebf79ff28e27f1c54205e89fece209ad4) --------- Co-authored-by: War Pigeon <54217755+minus1over12@users.noreply.github.com> Co-authored-by: opl- <opl-@users.noreply.github.com> Co-authored-by: opl <4833621+opl@users.noreply.github.com>
This commit is contained in:
parent
ed50f7cb60
commit
e53ffd0536
|
|
@ -1,17 +1,19 @@
|
|||
#!/usr/bin/env python3
|
||||
# Installs git hooks, updates them, updates submodules, that kind of thing.
|
||||
"""
|
||||
Installs git hooks, updates them, updates submodules, that kind of thing.
|
||||
"""
|
||||
|
||||
import subprocess
|
||||
import sys
|
||||
import os
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
import time
|
||||
from pathlib import Path
|
||||
from typing import List
|
||||
|
||||
SOLUTION_PATH = Path("..") / "SpaceStation14.sln"
|
||||
# If this doesn't match the saved version we overwrite them all.
|
||||
CURRENT_HOOKS_VERSION = "2"
|
||||
CURRENT_HOOKS_VERSION = "4"
|
||||
QUIET = len(sys.argv) == 2 and sys.argv[1] == "--quiet"
|
||||
|
||||
|
||||
|
|
@ -25,12 +27,10 @@ def run_command(command: List[str], capture: bool = False) -> subprocess.Complet
|
|||
|
||||
sys.stdout.flush()
|
||||
|
||||
completed = None
|
||||
|
||||
if capture:
|
||||
completed = subprocess.run(command, cwd="..", stdout=subprocess.PIPE)
|
||||
completed = subprocess.run(command, stdout=subprocess.PIPE, text=True)
|
||||
else:
|
||||
completed = subprocess.run(command, cwd="..")
|
||||
completed = subprocess.run(command)
|
||||
|
||||
if completed.returncode != 0:
|
||||
print("Error: command exited with code {}!".format(completed.returncode))
|
||||
|
|
@ -43,7 +43,7 @@ def update_submodules():
|
|||
Updates all submodules.
|
||||
"""
|
||||
|
||||
if ('GITHUB_ACTIONS' in os.environ):
|
||||
if 'GITHUB_ACTIONS' in os.environ:
|
||||
return
|
||||
|
||||
if os.path.isfile("DISABLE_SUBMODULE_AUTOUPDATE"):
|
||||
|
|
@ -76,22 +76,21 @@ def install_hooks():
|
|||
print("No hooks change detected.")
|
||||
return
|
||||
|
||||
with open("INSTALLED_HOOKS_VERSION", "w") as f:
|
||||
f.write(CURRENT_HOOKS_VERSION)
|
||||
|
||||
print("Hooks need updating.")
|
||||
|
||||
hooks_target_dir = Path("..")/".git"/"hooks"
|
||||
hooks_target_dir = Path(run_command(["git", "rev-parse", "--git-path", "hooks"], True).stdout.strip())
|
||||
hooks_source_dir = Path("hooks")
|
||||
|
||||
# Clear entire tree since we need to kill deleted files too.
|
||||
for filename in os.listdir(str(hooks_target_dir)):
|
||||
os.remove(str(hooks_target_dir/filename))
|
||||
for filename in os.listdir(hooks_target_dir):
|
||||
os.remove(hooks_target_dir / filename)
|
||||
|
||||
for filename in os.listdir(str(hooks_source_dir)):
|
||||
for filename in os.listdir(hooks_source_dir):
|
||||
print("Copying hook {}".format(filename))
|
||||
shutil.copy2(str(hooks_source_dir/filename),
|
||||
str(hooks_target_dir/filename))
|
||||
shutil.copy2(hooks_source_dir / filename, hooks_target_dir / filename)
|
||||
|
||||
with open("INSTALLED_HOOKS_VERSION", "w") as f:
|
||||
f.write(CURRENT_HOOKS_VERSION)
|
||||
|
||||
# Begin DeltaV Additions - add pre-commit hooks if you have it installed
|
||||
if shutil.which("pre-commit") is not None:
|
||||
|
|
@ -111,8 +110,7 @@ def reset_solution():
|
|||
|
||||
def check_for_zip_download():
|
||||
# Check if .git exists,
|
||||
cur_dir = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
|
||||
if not os.path.isdir(os.path.join(cur_dir, ".git")):
|
||||
if run_command(["git", "rev-parse"]).returncode != 0:
|
||||
print("It appears that you downloaded this repository directly from GitHub. (Using the .zip download option) \n"
|
||||
"When downloading straight from GitHub, it leaves out important information that git needs to function. "
|
||||
"Such as information to download the engine or even the ability to even be able to create contributions. \n"
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
gitroot=`git rev-parse --show-toplevel`
|
||||
gitroot=$(git rev-parse --show-toplevel)
|
||||
|
||||
cd "$gitroot/BuildChecker"
|
||||
cd "$gitroot/BuildChecker" || exit
|
||||
|
||||
if [[ `uname` == MINGW* || `uname` == CYGWIN* ]]; then
|
||||
if [[ $(uname) == MINGW* || $(uname) == CYGWIN* ]]; then
|
||||
# Windows
|
||||
py -3 git_helper.py --quiet
|
||||
else
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Just call post-checkout since it does the same thing.
|
||||
gitroot=`git rev-parse --show-toplevel`
|
||||
bash "$gitroot/.git/hooks/post-checkout"
|
||||
gitroot=$(git rev-parse --git-path hooks)
|
||||
bash "$gitroot/post-checkout"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
#!/bin/sh
|
||||
#!/usr/bin/env bash
|
||||
cp 0A.yml out.yml
|
||||
../bin/Debug/net5.0/Content.Tools out.yml 0B.yml 0C.yml
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/sh
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Add this to .git/config:
|
||||
# [merge "mapping-merge-driver"]
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
#!/bin/sh
|
||||
#!/usr/bin/env bash
|
||||
dotnet run --project Content.Client --configuration Tools
|
||||
read -p "Press enter to continue"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
#!/bin/sh
|
||||
#!/usr/bin/env bash
|
||||
dotnet run --project Content.Client
|
||||
read -p "Press enter to continue"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
#!/bin/sh
|
||||
#!/usr/bin/env bash
|
||||
dotnet run --project Content.Server --configuration Tools
|
||||
read -p "Press enter to continue"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
#!/bin/sh
|
||||
#!/usr/bin/env bash
|
||||
dotnet run --project Content.Server
|
||||
read -p "Press enter to continue"
|
||||
|
|
|
|||
Loading…
Reference in New Issue