2012-11-23 95 views
9

在GIT中是否有模拟SVN --non-interactive命令行参数?非交互式GIT使用

我通过gitpython库使用GIT,并在某些地方遇到问题 - 程序冻结。在这种情况下,GIT试图从用户那里询问一些东西,但它不能做到。我想禁止这些尝试。

这是过程,冻结:

$ pstree -ap 14712 
python,14712 src/auto-release 
└─git,14720 pull --strategy=recursive -Xtheirs -v origin +master:origin/master 
    └─git-merge,14721 -s recursive -Xtheirs -v Merge branch 'master' of 172.17.2.22:~/test-repo HEAD 920e34cb7267f702b7a1bb3af93619175cb566f0 
+0

看起来你想创建一个git包装器;看看[哪种语言有最好的git api绑定](http://stackoverflow.com/questions/4034962/which-language-has-the-best-git-api-bindings) –

+0

另一方面,虽然它是清楚你想要一些自动化,不清楚为什么你想要它,以及为什么你使用git。 显然,你已经让git做了一些触发合并的事情,而我的猜测是你没有告诉它如何处理冲突。 –

+0

参数“-s递归-Xtheirs”拉命令不告诉git使用“他们的”块合并是冲突的情况吗?如果没有 - 指向手动,我可以知道如何告诉处理冲突的方法。 –

回答

5

Git不会问问题时,它的标准输入和stdout没有连接到终端(isatty()为其返回false),它通常与一个错误,而不是结束。

+0

你能详细说明吗? – CharlesB

+1

当Git的stdin和stdout没有连接到终端('isatty()'返回false)时,它通常以错误结束,而不是向用户询问详细信息。 –

+0

不知道;你可以把它放在你的帖子中,以便我删除我的downvote? – CharlesB