簡體   English   中英

如何將排除標志添加到 Python git

[英]How do you add exclude flags to Python git

使用git中的sh package 中的 git 方法,我正在嘗試制作以下 ZBA9F5ZB9333 語句:F

git grep -i -e "(example1|example2)" -- './*' ':!*.java' ':!*.xml' HEAD

在我的代碼中,我使用以下內容:

exclude_list = '-- \'./*\' \':!*.java\' \':!*.xml\''

result = git('grep', '-i', '-e', '"({})"'.format(r'\|'.join(self.keywords)), exclude_list, 'HEAD', _tty_out=False))

當我運行時返回以下錯誤:

Error:

  RAN: /usr/bin/git grep -i -e "(example1\|example2)" -- './*' ':!*.java' ':!*.xml' HEAD

  STDOUT:


  STDERR:
error: unknown option ` './*' ':!*.java' ':!*.xml''
usage: git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]

但是,如果我在本地運行該命令,它會按預期返回。 不幸的是,我不是 Python 開發人員,所以不確定我做錯了什么!

您將'grep', '-i', '-e',作為單獨的參數傳遞,但將exclude_list作為單個字符串傳遞; git抱怨不理解這個字符串。 拆分它:

result = git('grep', '-i', '-e', '"({})"'.format(r'\|'.join(self.keywords)), '--', './*', ':!*.java', ':!*.xml', 'HEAD', _tty_out=False))

這是必不可少的部分: '--', './*', ':.*,java': '.,*.xml',

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM