Skip to main content

Hermes Revision System - современная система контроля версий

Project description

HRS - Hermes Revision System

Современная и эффективная система контроля версий, написанная на Python.

PyPI version Python Version License: MIT

Возможности

  • 📦 Базовые операции контроля версий (init, add, commit, status)
  • 🌳 Ветвление и слияние (branch, checkout, merge)
  • 🏷️ Теги для маркировки важных версий
  • 🔄 Система хуков для автоматизации
  • 📚 Управление подмодулями
  • 📝 Стэш для временного сохранения изменений
  • 📊 Визуализация структуры репозитория и истории коммитов
  • 🌐 Работа с удаленными репозиториями
  • 🚫 Система игнорирования файлов

Требования

  • Python 3.8 или выше
  • Graphviz (для визуализации)

Установка

Через pip

pip install hermes-revision-system

Установка Graphviz

Windows

winget install graphviz

macOS

brew install graphviz

Linux

sudo apt-get install graphviz  # Debian/Ubuntu
sudo dnf install graphviz      # Fedora
sudo pacman -S graphviz       # Arch Linux

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

После установки команда hrs станет доступна глобально.

Основные команды

# Инициализация репозитория
hrs init

# Добавление файлов
hrs add <files>

# Создание коммита
hrs commit -m "commit message"

# Просмотр статуса
hrs status

# История коммитов
hrs log

Работа с ветками

# Создание ветки
hrs branch <name>

# Список веток
hrs branches

# Переключение веток
hrs checkout <branch>

# Слияние веток
hrs merge <branch> -m "merge message"

# Удаление ветки
hrs delete-branch <name>

Теги

# Создание тега
hrs tag create <name> -m "message"

# Список тегов
hrs tag list

# Удаление тега
hrs tag delete <name>

# Переключение на тег
hrs tag checkout <name>

Временное хранилище (stash)

# Сохранение изменений
hrs stash save -m "message"

# Список сохраненных изменений
hrs stash list

# Применение и удаление последнего stash
hrs stash pop

# Применение без удаления
hrs stash apply <index>

# Удаление stash
hrs stash drop <index>

# Очистка всего stash
hrs stash clear

Визуализация

# Граф структуры директорий
hrs graph tree output.png                    # Сохранить в файл
hrs graph tree -c                            # Вывести в консоль
hrs graph tree -c --ignore "__pycache__"     # С игнорированием файлов

# Граф истории коммитов
hrs graph history output.png                 # Сохранить в файл
hrs graph history -f svg output.svg          # В формате SVG
hrs graph history -n 10 output.png           # Ограничить количество коммитов

Удаленные репозитории

# Добавление удаленного репозитория
hrs remote add <name> <url>

# Список удаленных репозиториев
hrs remote list

# Отправка изменений
hrs push <remote> <branch>

# Получение изменений
hrs pull <remote> <branch>

# Загрузка информации
hrs fetch <remote>

# Клонирование репозитория
hrs clone <url> [destination]

Игнорирование файлов

# Добавление паттерна
hrs ignore add "*.pyc"

# Удаление паттерна
hrs ignore remove "*.pyc"

# Список игнорируемых паттернов
hrs ignore list

# Создание стандартного .hrsignore
hrs ignore init

Разработка

  1. Клонируйте репозиторий
git clone https://github.com/SomeMedic/hermes-revision-system.git
cd hermes-revision-system
  1. Создайте виртуальное окружение
python -m venv venv
source venv/bin/activate  # Linux/macOS
venv\Scripts\activate     # Windows
  1. Установите зависимости для разработки
pip install -e ".[dev]"
  1. Запустите тесты
pytest

Лицензия

MIT License. См. файл LICENSE для подробностей.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hermes_revision_system-0.1.0.tar.gz (29.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hermes_revision_system-0.1.0-py3-none-any.whl (35.8 kB view details)

Uploaded Python 3

File details

Details for the file hermes_revision_system-0.1.0.tar.gz.

File metadata

  • Download URL: hermes_revision_system-0.1.0.tar.gz
  • Upload date:
  • Size: 29.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.0

File hashes

Hashes for hermes_revision_system-0.1.0.tar.gz
Algorithm Hash digest
SHA256 21ef402790d01658df4744f4cc4645928d452a64abb9c2198925e32a3cf75002
MD5 c06fc4de2cfb2e241147878b3e39aaf4
BLAKE2b-256 a3f7336697c143fcef1a32aea19175a54e90a34f973965bf51b2690b0a40c4f9

See more details on using hashes here.

File details

Details for the file hermes_revision_system-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for hermes_revision_system-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cc7e6dcb324671f96ed6d6863ad1f8a6fbb977651694a016e7ce8dfe4646dd17
MD5 5a42d435a42872a3a901bb071d0ead21
BLAKE2b-256 31c9e4b8fc822d11284ecb57f1fef12ff4ac4c7fc7803c3053d76ecec78de4bc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page