Skip to content

Docs_ru

Nikita Stepochkin edited this page Jan 23, 2020 · 18 revisions

Gitplag - система анализа схожести кода пулл-реквестов git-репозитория.

С помощью этой системы можно сравнивать содержимое файлов с исходным кодом, которые находится в пулл-реквестах репозитория, подключенного к Gitplag. Поддерживаются Github, Gitlab и Bitbucket репозитории.

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

Для анализа могут использоваться анализаторы Moss, JPlag, а также оба вместе.

Для запуска системы нужно запустить несколько докер-контейнеров, инструкция здесь.

Чтобы использовать Gitplag со своим репозиторием, его пулл-реквесты должны быть сделаны из веток с тем же названием, в которую сделан пулл-реквест.

Gitplag может автоматически загружать файлы из пулл-реквестов сразу же при их обновлении. Для этого в репозиторий нужно добавить webhook с адресом вида [публичный url-адрес сервера]/webhook/[имя git-сервиса в нижнем регистре], например http://0.0.0.0:8080/webhook/github, и с подключенными событиями push и pull request.

API доступно по адресу /swagger-ui.html.

Как сравнить пулл-реквесты

  1. Запусти систему.

  2. Добавь свой репозиторий в Gitplag.

  3. На странице репозитория запусти загрузку файлов репозитория.

  4. Когда файлы загрузятся, введи название ветки и запусти ее анализ.

В логах системы будет сказано, когда появится отчет об анализе. Чтобы его увидеть, нужно перезагрузить страницу.

Clone this wiki locally