I\'m developing a Userscript that my employers have asked me to begin to manage via Git.
Right now, I have a stable file and a beta file, so that everyone in the org
All your changes should be merged except changes to those values, which makes them not like the others, not changes to intrinsic content but deployment-specific changes. Those might be best applied in the post-checkout hook. Here's a sample, a per-branch include processor
cat <<\EOF >.git/hooks/post-checkout
#!/bin/sh
if branch=`git symbolic-ref HEAD --short -q`; then
for file in `git ls-files -cix*.@branch`; do
echo "* making ${file%.@branch} from $file with branch-specific includes"
echo '/^@include-branch-specific ([a-z/]*)$/ { s//cat \1.'$branch'/e }' \
| sed -rf- $file >${file%.@branch}
done
fi
EOF
chmod +x .git/hooks/post-checkout
# testing
git checkout beta
cat <<\EOF >config.@branch
// ==UserScript==
@include-branch-specific config
// ==/UserScript==
EOF
echo >config.stable '// @downloadURL -- StableURL File Location'
echo >config.beta '// @downloadURL -- BetaURL File Location'
git add config.*
# git rm --cached config
git commit -m'setting up per-branch configs'
git checkout
git checkout stable
git cherry-pick beta
git checkout