format json/yml/sh
This commit is contained in:
@ -6,7 +6,10 @@ set -x
|
||||
|
||||
# Rename our variables to friendlier equivalents
|
||||
# https://git-scm.com/docs/gitattributes#_defining_a_custom_merge_driver
|
||||
base="$1"; local_="$2"; remote="$3"; merged="$4"
|
||||
base="$1"
|
||||
local_="$2"
|
||||
remote="$3"
|
||||
merged="$4"
|
||||
|
||||
echo "$base"
|
||||
echo "$local_"
|
||||
@ -18,7 +21,7 @@ echo "$merged"
|
||||
mergetool="$(git config --get merge.tool)"
|
||||
GIT_DIR="$(git --exec-path)"
|
||||
if test "$mergetool" = ""; then
|
||||
echo "No default \`merge.tool\` was set for \`git\`. Please set one via \`git config --set merge.tool <tool>\`" 1>&2
|
||||
echo 'No default `merge.tool` was set for `git`. Please set one via `git config --set merge.tool <tool>`' 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@ -32,7 +35,7 @@ merged_decrypted="${base_decrypted/_BASE_/_MERGED_}"
|
||||
backup_decrypted="${base_decrypted/_BASE_/_BACKUP_}"
|
||||
|
||||
# If anything goes wrong, then delete our decrypted files
|
||||
handle_trap_exit () {
|
||||
handle_trap_exit() {
|
||||
rm $base_decrypted || true
|
||||
rm $local_decrypted || true
|
||||
rm $remote_decrypted || true
|
||||
@ -42,13 +45,13 @@ handle_trap_exit () {
|
||||
trap handle_trap_exit EXIT
|
||||
|
||||
# Decrypt our file contents
|
||||
sops --decrypt --show-master-keys "$base" > "$base_decrypted"
|
||||
sops --decrypt --show-master-keys "$local_" > "$local_decrypted"
|
||||
sops --decrypt --show-master-keys "$remote" > "$remote_decrypted"
|
||||
sops --decrypt --show-master-keys "$base" >"$base_decrypted"
|
||||
sops --decrypt --show-master-keys "$local_" >"$local_decrypted"
|
||||
sops --decrypt --show-master-keys "$remote" >"$remote_decrypted"
|
||||
|
||||
# Create a merge-diff to compare against
|
||||
set +e
|
||||
git merge-file -p "$local_decrypted" "$base_decrypted" "$remote_decrypted" > "$merged_decrypted"
|
||||
git merge-file -p "$local_decrypted" "$base_decrypted" "$remote_decrypted" >"$merged_decrypted"
|
||||
set -e
|
||||
cp "$merged_decrypted" "$backup_decrypted"
|
||||
|
||||
@ -66,7 +69,7 @@ source "$GIT_DIR/git-mergetool--lib"
|
||||
source "$GIT_DIR/mergetools/$mergetool"
|
||||
|
||||
# Override `check_unchanged` with a custom script
|
||||
check_unchanged () {
|
||||
check_unchanged() {
|
||||
# If the contents haven't changed, then fail
|
||||
if test "$MERGED" -nt "$BACKUP"; then
|
||||
return 0
|
||||
@ -82,5 +85,4 @@ merge_cmd
|
||||
set -eu
|
||||
|
||||
# Re-encrypt content
|
||||
sops --encrypt "$merged_decrypted" > "$merged"
|
||||
|
||||
sops --encrypt "$merged_decrypted" >"$merged"
|
||||
|
Reference in New Issue
Block a user