Я хочу изменить файл Git.xml управления исходным кодом Redgate, чтобы включить коммит и push

Ниже приведена выдержка для файла git.xml в системе контроля версий Redgates.

<element>
<key type="string">Commit</key>
<value version="1" type="GenericHookCommand">
<CommandLine>git commit -F "($MessageFile)" -o "($ScriptsFolder)\"</CommandLine>
<Verify>exitCode == 0</Verify>
</value>
</element>

Я хочу изменить это, чтобы включить толчок, поэтому, когда вы делаете коммит в студии управления, это также толчок к гиту.

я попытался добавить еще одну команду, как

<CommandLine>git commit -F "($MessageFile)" -o "($ScriptsFolder)\"</CommandLine>
<commandline>git push</commandline> 

а также попробовал

 <CommandLine>git commit -F "($MessageFile)" -o "($ScriptsFolder)\" && git push</CommandLine>

но ни работа, ни идея о том, как получить коммит и заставить работать

2 ответа

Проблема с голыми амперсандами. Измените строку на:

<CommandLine>git commit -F "($MessageFile)" -o "($ScriptsFolder)\" &amp;&amp; git push</CommandLine>

Вы также можете обернуть его в CDATA, но вышесказанное мне подходит.

Примечание. Если для функции push или pull вам потребуется ввести пароль, то плагин Red Gate остановится и вынудит вас убить SSMS. Поэтому убедитесь, что вы можете использовать git pull и git push через командную строку, прежде чем обновлять XML.

Командный файл, который вы получаете с помощью SQL Source Control, действительно предназначен только для синхронизации вашего локального репо, а не для выполнения push-pull.

Я не думаю, что какой-либо из предложенных вами методов сработает - во-первых, я не думаю, что инструмент даже знал бы, что нужно выполнить вторую команду, а для второго варианта я не верю, что вы можете объединить команды в сюда.

Единственное предложение, которое у меня есть (и это никогда не было проверено AFAIK), это написать свой собственный пакетный файл DOS (или PowerShell, если это ваша вещь), который принимает те же параметры, а затем запускает две команды, которые вы хотите.

Затем вы можете создать новый файл конфигурации для SQL Source Control, чтобы выполнить ваш пакет /powershell вместо непосредственно git.

Другие вопросы по тегам