我在python中编写了一个自动合并脚本,用于不同分支之间的自动合并。
我计划使用“外部挂钩”(此脚本配置为在GIT存储库服务器上运行,脚本将在每次签入时触发)并将参数传递给此脚本,如分支名称作为源和目标。
但是一旦办理登机手续,脚本就会通过“外部挂钩”被解雇,但脚本中的“Git status”命令如下:
listitems.data.row
它会抛出错误:
PS H:\> $listXml.listitems.data.row[0]
ows_ID : 2
ows_ContentTypeId : 0x010094EFD209B7CD4E1AB7F9577...
ows_ContentType : MapDetails
ows_Title : UK
ows_Modified : 2015-10-28 14:49:58
[...]
ows_Latitude : 1.23000000000000
ows_Longitude : 0.560000000000000
ows_LocationDetails : <div>Top united Kingdom Hits</div>
直到现在,我指的是http://blogs.atlassian.com/2013/05/git-automatic-merges-with-server-side-hooks-for-the-win/
整个脚本很简单,结帐源分支并将其合并到目标中。
任何想法,为什么我看到这个错误?
答案 0 :(得分:0)
这几乎肯定与git本身无关。
如果这里的call
实际上是subprocess.call
(您确实from subprocess import call
?),请注意各种subprocess
模块操作需要以下两种方法之一:
那是:
statuscode = call('/usr/local/bin/git status')
也许应该读到:
statuscode = call('/usr/local/bin/git status'.split())
或:
statuscode = call(['/usr/local/bin/git', 'status'])
或:
statuscode = call('/usr/local/bin/git status', shell=True)
或类似。