Может ли arc diff исключить определенные файлы в Phabricator?

Некоторые файлы C++ генерируются системой и не требуют проверки. Кроме того, эти файлы довольно большие, и иногда это приводит к тому, что «запрос превышает лимит емкости». Лучше всего просмотреть его, сравнив новую схему и старые файлы схемы. Эти файлы являются частью фиксации, поэтому я не хочу использовать против них .gitignore.

Это еще один пост об этом, который я нашел в Интернете, но он не помог. http://www.quora.com/Can-I-use-arc-diff-to-exclude-some-files-in-Phabricator


person dhu    schedule 04.08.2015    source источник


Ответы (1)


Я сделал несколько поисков и нашел ответы сам.

Возможно, вы случайно включили что-то, что не подходит для проверки человеком, например. двоичные файлы или сгенерированные файлы.

Решение включает в себя:

  1. Если вы поместите строку @generated где-нибудь в файле, то Differential не будет пытаться ее просмотреть. (однако это может не помешать арканисту загрузить его)

  2. Если вы укажете флаг --less-context для arcanist, то вместо того, чтобы отправлять целые файлы, он будет отправлять только небольшое количество окружающего контекста.

  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 велик, используя эту команду для изучения файла diff stat. (при условии, что ваша база origin/master)

  6. git diff origin/master... | wc --bytes Если вы используете Git, вы можете легко увидеть размер файла diff, который арканист пытается загрузить с помощью этой команды. (при условии, что ваша база origin/master)

person dhu    schedule 04.08.2015
comment
мое имя файла abc/exy/xyz.js, как я могу игнорировать этот файл, если. я не хочу изменять содержимое файла, потому что он был автоматически сгенерирован и имеет очень большой размер. - person wasipeer; 28.12.2015