The next git command ...
git show -s --pretty=format:%T master
... will emit SHA1 of the current chapter of the wizard.
However, the next MSBuild task only creates the literal 'T'
<Exec Command="git show -s --pretty=format:%T master" />
What do I need to change to fix genuine SHA1?
Thus, it is obvious that the trick is to double the escape character.
ie
<Exec Command="git show -s --pretty=format:%25%25T master" />
I'm not quite sure why this works, so I will be grateful for comments on why this might be.