可以使用arc diff来排​​除Phabricator中的某些文件吗?

dhu*_*dhu 7 git phabricator

某些C++文件是系统生成的,无需查看.此外,这些文件相当大,有时会导致"请求超出容量限制".查看它的更好地方是比较新架构和旧架构文件.这些文件是提交的一部分,所以我不想对它们使用.gitignore.

这是我在互联网上找到的关于此的另一篇文章,但它没有帮助.http://www.quora.com/Can-I-use-arc-diff-to-exclude-some-files-in-Phabricator

dhu*_*dhu 12

我做了一些搜索,我自己找到了答案.

您可能不小心包含了一些不适合人类审查的内容,例如二进制文件或生成的文件.

方案包括:

  1. 如果将字符串@generated放在文件中的任何位置,则Differential不会尝试查看它.(这可能不会阻止奥术师尝试上传它)

  2. 如果你--less-context向arcanist 提供标志,那么它将只发送少量的周围环境,而不是发送整个文件.

  3. 使用.gitattributes.以下是使用.gitattributes从diffs中排除消息文件的示例,有关详细信息,请参阅Git Book.请注意,您可能需要.gitattributes在对diff进行影响之前提交new .

    *_hugetext.h         -diff
    *_hugetext.cpp       -diff
    
    Run Code Online (Sandbox Code Playgroud)
  4. arc diff --skip-binaries 如果您将文件标记为二进制文件并提供该--skip-binaries标志,那么arcanist将不会尝试上传它.有关将文件标记为二进制文件的示例,请参阅Git Book.

  5. git diff origin/master... --stat 如果你正在使用Git,你可以通过使用这个命令来检查你的差异,从而更深入地了解差异的大小diff stat.(假设你的基础是origin/master)

  6. git diff origin/master... | wc --bytes 如果你正在使用Git,你可以很容易地看到diff arcanist尝试使用此命令上传的大小.(假设你的基础是origin/master)