#!/usr/bin/env bash add-git-merge() { if [[ -z "$1" ]]; then echo '$1/remote is empty.' >&2 exit 1 fi if [[ -z "$2" ]]; then echo '$2/merge is empty.' >&2 exit 1 fi if [[ -z "$3" ]]; then echo '$3/path is empty.' >&2 exit 1 fi local remote_name="$1" local merge_ref="$2" local submodule_path="$3" echo "Add merge '${remote_name}=$merge_ref' entry for $submodule_path" git config -f .gitmodules --add merge."$submodule_path"."$remote_name" "$merge_ref" } agm() { add-git-merge "$@" }