Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Домашнее задание 2 по конфигурационному управлению

Лысаков Ярослав, ИКБО-50-23

Этапы запуска проекта репозитория

  1. Скачать программу Graphviz для визуализации графов зависимостей.
  2. Загрузить репозиторий на компьютер. 'git clone https://github.com/YarLys/DependenciesVisualizer'
  3. Перейти в каталог репозитория. 'cd DependenciesVisualizer'
  4. Отредактировать yaml файл, указав в нём путь к dot.exe в пакете Graphviz, путь к репозиторию и хэш файла.
  5. Запустить main.py

Описание задания

Разработать инструмент командной строки для визуализации графа зависимостей, включая транзитивные зависимости. Сторонние средства для получения зависимостей использовать нельзя. Зависимости определяются для git-репозитория. Для описания графа зависимостей используется представление Graphviz. Визуализатор должен выводить результат на экран в виде графического изображения графа. Построить граф зависимостей для коммитов, в узлах которого находятся списки файлов и папок. Граф необходимо строить только для тех коммитов, где фигурирует файл с заданным хеш-значением.

Конфигурационый файл

Конфигурационный файл имеет формат yaml и содержит: • Путь к программе для визуализации графов. • Путь к анализируемому репозиторию. • Файл с заданным хеш-значением в репозитории.

Реализованные функции

def init(path)

Функция, которая считывает yaml файл и получает из него необходимые данные.

def get_commits()

Функция, которая при помощи ввода команды в терминале получает список всех коммитов и сохраняет их в удобном для последующей работы формате.

def select_commits()

Функция, которая отбирает коммиты, в которых фигурирует файл с заданным хэш значением.

def check_dirs()

Функция, которая проходится по всем объектам коммита рекурсивно. Проверяет совпадение хэшей файлов с искомым.

def build_graph()

Функция, которая по отобранным коммитам формирует файл с расширением .dot.

def show_graph(dot_graph)

Функция, которая создаёт изображение по описанию графа и демонстрирует его.

Примеры работы программы

Граф зависимостей тестового репозитория image

Граф зависимостей для репозиотрия https://github.com/YarLys/SchoolList_Client с заданным хэшом файла MainActivity.java dependencies

Тестирование программы

image image

About

A program which draws a graph with suitable commits of git repository

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages