2012-10-31 25 views
3

下面是在redgates源控制git.xml文件的摘錄我想修改展鵬源控制Git.xml文件,包括提交和推送

<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> 

我要修改它包括這樣推當你在管理工作室進行提交時,它也會推動git。

我已經嘗試添加另一個命令狀

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

,並試圖

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

但既不是工作,就如何得到承諾,推動工作

回答

0

命令文件任何想法您使用SQL Source Control獲得的結果只是設計用於同步本地回購,而不是執行推/拉。

我不認爲你建議的任何一種方法都可以工作 - 首先,我不認爲該工具甚至不知道運行第二個命令,對於第二個選項,我不相信你可以以這種方式連接命令。

我有唯一的建議(它從來沒有被試過AFAIK)會寫你自己的DOS批處理文件(或PowerShell,如果這是你的東西),採取相同的參數,然後運行你想要的兩個命令。

然後,您可以創建一個新的配置文件,用於SQL源代碼控制,以便直接執行批處理/ powershell而不是git。

5

問題在於裸號符號。行更改爲:

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

您可能還可以將其包裝在CDATA,但上述似乎爲我工作。

注意:如果推或拉要求您輸入密碼,那麼Red Gate插件將停止運行並強制您終止SSMS。因此,確保在更新XML之前,可以先通過命令行進行git pull操作。