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

时间:2015-08-04 15:50:52

标签: git phabricator

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

这是我在互联网上发现的另一篇关于此事的帖子,但没有帮助。 http://www.quora.com/Can-I-use-arc-diff-to-exclude-some-files-in-Phabricator

1 个答案:

答案 0 :(得分:11)

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

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

解决方案包括:

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

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

  3. 使用.gitattributes。以下是使用.gitattributes从差异中排除邮件文件的示例,有关详细信息,请参阅Git Book。请注意,您可能需要先提交新的.gitattributes才能对差异产生影响。

    *_hugetext.h         -diff
    *_hugetext.cpp       -diff
    
  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