Skip to main content

CLI для сравнения файлов/директорий/git-объектов

Project description

diff-check-cli

Уникальный CLI-инструмент для сравнения, патчинга и интерактивного применения изменений между файлами, директориями и git-объектами.

Системные требования

  • Python версии >= 3.7
  • pip (установится автоматически при необходимости)
  • Для цветного вывода: терминал с поддержкой ANSI-цветов

Установка

  1. Скачайте установочный скрипт:
    wget https://raw.githubusercontent.com/shelovesuastra/diff-check-cli/main/install_diff_check_cli_pip.sh
    # или
    curl -O https://raw.githubusercontent.com/shelovesuastra/diff-check-cli/main/install_diff_check_cli_pip.sh
    
  2. Запустите скрипт:
    bash install_diff_check_cli_pip.sh
    
  3. После установки команда будет доступна как:
    diff-check --help
    
    Если команда не найдена, перезапустите терминал или добавьте в PATH:
    export PATH="$HOME/.local/bin:$PATH"
    

Возможности

  • Мини-карта изменений и резюме (summary)
  • Генерация и применение патчей
  • Интерактивный режим с Undo/Redo
  • Генерация markdown-отчёта о различиях
  • Сравнение директорий с древовидным выводом
  • Сравнение git-объектов (файлов, коммитов, веток)

Примеры использования

Сравнение файлов (side-by-side по умолчанию)

diff-check file1.txt file2.txt

Мини-карта изменений и резюме

diff-check file1.txt file2.txt -m

Генерация markdown-отчёта

diff-check file1.txt file2.txt -r diff.md

Генерация патча

diff-check file1.txt file2.txt -p > changes.patch

Применение патча

diff-check file1.txt changes.patch -a

Интерактивный режим с Undo/Redo

diff-check file1.txt file2.txt -i

Сравнение директорий с древовидным выводом

diff-check dir1 dir2 -t

Сравнение git-объектов

diff-check file.py HEAD -g
# или
# diff-check HEAD~1 HEAD -g -- file.py

Флаги и опции

  • -m, --summary — мини-карта изменений и резюме. Показывает краткую статистику изменений (добавлено, удалено, изменено) и мини-карту различий. Пример:

    diff-check file1.txt file2.txt -m
    
  • -p, --patch — сгенерировать патч (diff) между двумя файлами. Выводит unified diff, который можно сохранить и применить позже. Пример:

    diff-check file1.txt file2.txt -p > changes.patch
    
  • -a, --apply — применить патч к файлу. Применяет изменения из патч-файла к исходному файлу. Пример:

    diff-check file1.txt changes.patch -a
    
  • -i, --interactive — интерактивный режим применения изменений с Undo/Redo. Позволяет вручную выбирать, какие изменения применять, а какие — пропускать. Можно отменять и повторять действия (Undo/Redo). Пример:

    diff-check file1.txt file2.txt -i
    
  • -r, --report <файл> — сохранить отчёт о различиях в markdown-файл. Генерирует отчёт в формате Markdown для просмотра или отправки коллегам. Пример:

    diff-check file1.txt file2.txt -r diff.md
    
  • -t, --tree — сравнить директории с древовидным выводом различий. Показывает структуру директорий и файлы, которые были добавлены, удалены или изменены, в виде дерева. Пример:

    diff-check dir1 dir2 -t
    
  • -g, --git — сравнить git-объекты (файлы, коммиты, ветки). Позволяет сравнивать содержимое файлов между разными коммитами, ветками или рабочим деревом git-репозитория. Примеры:

    diff-check file.py HEAD -g
    diff-check HEAD~1 HEAD -g -- file.py
    

Как работает diff-check-cli без флагов?

Если не указан ни один из специальных флагов (-p, -a, -i, -r, -t, -g), diff-check сравнивает два файла в режиме side-by-side (две колонки) с цветовой подсветкой различий.

Совместимость флагов

  • -a несовместим с -p и -i (нельзя одновременно применять патч и генерировать патч/работать в интерактивном режиме).
  • Остальные флаги можно комбинировать, например, -m для мини-карты вместе с side-by-side.

Автор

@shelovesuastra

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

diff_check_cli-0.1.4.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

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

diff_check_cli-0.1.4-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file diff_check_cli-0.1.4.tar.gz.

File metadata

  • Download URL: diff_check_cli-0.1.4.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for diff_check_cli-0.1.4.tar.gz
Algorithm Hash digest
SHA256 6525a4ab5d5977025f9d0fde176e1c1dca7e2243cedd5a268f55e95cd40efe0e
MD5 f3ecd5a0ac7acb9182fec2fbef094325
BLAKE2b-256 bdb8ad91c34013f05bcfa202599715233f9fe6bfd6b5522a699b626265334da1

See more details on using hashes here.

File details

Details for the file diff_check_cli-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: diff_check_cli-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for diff_check_cli-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5e5f7e6a3a00a7655ceeafe3d2243054bab87997935b55f5c78cc4b167bb2f01
MD5 46cc981e31fc3c25422838d1c88b6ef7
BLAKE2b-256 61cf1fe8fe991f1be26a7d0eb52af0752e16fd61e792205c6828fad6b1f4be0b

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