Skip to content

Themplarer/cvs

Repository files navigation

CVS

Автор: Хорошавин Евгений, ФТ-203

Описание

Локальная система контроля версий, реализованная по образу и подобию git.

Требования

  • Python версии не ниже 3.8
  • setuptools

Состав

  • пакет команд: commands/
    • базовый класс для всех команд: command.py
    • add.py
    • branch.py
    • checkout.py
    • cherry_pick.py
    • commit.py
    • diff.py
    • init.py
    • log.py
    • merge.py
    • stash.py
    • status.py
    • tag.py
    • команды-"пасхалки": easter_eggs/
      • credits.py
      • joke.py
      • remotes.py
      • текстовые файлы для шуток: jokes/
  • полезные утилиты для работы программы:
    • diff_utils.py
    • file_utils.py
    • main_file_utils.py
  • модуль, настраивающий дальнейшее выполнение команд: main.py
  • класс репозитория: repository.py
  • тесты: tests/
  • класс, описывающий коммит: commitobject.py
  • файл, с помощью выполняется сборка для запуска утилиты из консоли: setup.py

Установка

python setup.py develop

Использование

Ввод команд, начиная с goodgit.

Примеры

  • goodgit init
  • goodgit add **
  • goodgit commit -m "example"
    Использование команд аналогично git

Справка

goodgit --help goodgit {command} --help

Подробности реализации

Каждая команда является реализацией базового класса и должна определять методы configure для настройки аргументов и подсказок и execute, который вызывается при вызове определённой команды. Работа с репозиторием осуществляется через класс Main. В нём есть информация о ветках и прочих вещах. Работа в консолью осуществляется через argparse. Для удобства ввода используется сборка через setuptools

About

My CVS project for Python course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages