Use git to keep brew etc versioned.

Sorry, screwed up the last pull request.

Handles defaults and merging changes with new versions.

Closes #15751.