# Changelog Все значимые изменения в этом репозитории будут документироваться в этом файле. Формат основан на [Keep a Changelog](https://keepachangelog.com/ru/1.0.0/), и этот проект придерживается [Semantic Versioning](https://semver.org/lang/ru/). --- ## [1.2.0] - 2026-07-27 ### Добавлено - 🔧 **`setup-1c-repo`** — настройка локального Git-репозитория под выгрузку конфигуратора 1С - `setup-1c-repo.sh` — Linux / macOS - `setup-1c-repo.ps1` + `setup-1c-repo.cmd` — Windows - Локальный `git config`: `core.quotepath=false`, `core.longpaths=true`, UTF-8, `core.autocrlf=false` - На macOS дополнительно `core.precomposeunicode=true` - Создание `.gitattributes` с `eol=crlf` для файлов выгрузки (`*.bsl`, `*.xml`, …) и `binary` для артефактов 1С - Создание типового `.gitignore` (`*.cf`, `*.cfe`, `*.epf`, …) - Опции: `--dry-run` / `-DryRun`, `--force`, `--init`, `--renormalize`, `--no-gitignore` ### Документация - 📖 Обновлён **README.md** - 📝 Обновлён **CHANGELOG.md** --- ## [1.0.6] - 2026-07-20 ### Добавлено - 🧹 **Автоснятие пути из `.gitignore`** перед регистрацией подмодуля - Удаляются точные правила вида `/path/`, `path/`, `/path` - Если срабатывает более широкое правило — добавляется исключение `!/path/` - 📦 Регистрация **уже существующих** вложенных клонов без повторного `clone` (`gitlink` + `git submodule absorbgitdirs`) - 🏷️ Константа версии `SCRIPT_VERSION` и опции `--version` / `-V` ### Исправлено - 🍎 Совместимость с **macOS/BSD `sed`**: корень `.` больше не попадал в список (раньше `sed -i` без аргумента backup падал тихо, скрипт пытался зарегистрировать `.` и обрывался из‑за `set -e`) - Ошибка одного подмодуля больше не останавливает весь цикл регистрации - Нормализация путей `./foo` → `foo` ### Документация - 📖 Обновлён **README.md** - 📝 Обновлён **CHANGELOG.md** --- ## [1.1.0] - 2025-07-19 ### Добавлено - 🔧 **Настройка игнорирования подмодулей** в скрипте `register-submodules.sh` - Поддержка опции `--ignore=MODE` для установки режима игнорирования для всех подмодулей - Поддержка опции `--ignore-submodule PATH:MODE` для конкретного подмодуля - Поддержка опции `--remove-ignore` для удаления всех настроек игнорирования - Режимы игнорирования: - `all` — полностью скрывает изменения в подмодулях - `dirty` — скрывает только изменения в файлах - `untracked` — скрывает только неотслеживаемые файлы - `none` — показывает все изменения (по умолчанию) ### Документация - 📖 Обновлён **README.md** с описанием новых опций - 📝 Обновлён **CHANGELOG.md** с историей изменений --- ## [1.0.0] - 2025-07-19 ### Добавлено - 🚀 **Первый релиз** репозитория `git_man` - 📄 **`register-submodules.sh`** — скрипт для автоматической регистрации вложенных репозиториев как подмодулей - Автоматический поиск всех вложенных репозиториев (папок с `.git`) - Определение URL удалённого репозитория для каждого найденного - Регистрация в `.gitmodules` через `git submodule add` - Поддержка опций: - `--help`, `-h` — вывод справки - `--dry-run` — просмотр без изменений - `--force`, `-f` — принудительная перерегистрация - `--verbose`, `-v` — подробный вывод - `--quiet`, `-q` — минимальный вывод (только ошибки) - Цветной вывод с информационными сообщениями - Статистика выполнения (найдено, зарегистрировано, пропущено, ошибки) - Автоматическая проверка окружения (наличие Git, корневой репозиторий) - Обработка ошибок и корректные коды возврата ### Создано - 📖 **README.md** — полная документация репозитория - 📝 **CHANGELOG.md** — этот файл с историей изменений ### Автор - **Michael BAG** ([mk@p7net.ru](mailto:mk@p7net.ru)) --- ## [0.1.0] - 2025-07-19 ### Предварительная версия - Прототип скрипта для регистрации подмодулей - Базовое тестирование на проекте `crm3-26` с 15 вложенными репозиториями - Проверка работоспособности на различных структурах репозиториев --- ## 📋 Шаблон для новых версий При добавлении новых функций или исправлений используйте этот шаблон: ```markdown ## [X.Y.Z] - ГГГГ-ММ-ДД ### Добавлено - Новая функция ### Изменено - Изменение существующей функциональности ### Исправлено - Исправление ошибок ### Удалено - Удалённая функциональность ### Безопасность - Исправления безопасности ``` --- ## 🔗 Ссылки - **Автор:** Michael BAG ([mk@p7net.ru](mailto:mk@p7net.ru)) - **Репозиторий:** [https://git.p7net.ru/tools/git_man](https://git.p7net.ru/tools/git_man) - **Документация:** [README.md](./README.md) - **Сообщить о проблеме:** [https://git.p7net.ru/tools/git_man/issues](https://git.p7net.ru/tools/git_man/issues) --- ## 📌 История версий | Версия | Дата | Изменения | |--------|------|-----------| | **1.2.0** | 2026-07-27 | `setup-1c-repo` — настройки Git под выгрузку конфигуратора 1С | | **1.0.6** | 2026-07-20 | Автоснятие из `.gitignore`, fix macOS sed, `--version` | | **1.1.0** | 2025-07-19 | Добавлена настройка игнорирования подмодулей | | **1.0.0** | 2025-07-19 | Первый стабильный релиз | | **0.1.0** | 2025-07-19 | Предварительная версия (прототип) | --- ## 📝 Обратная связь Если вы нашли ошибку или хотите предложить улучшение: 1. Создайте Issue в репозитории 2. Или напишите автору: [mk@p7net.ru](mailto:mk@p7net.ru) ``` --- ## 📋 Сравнение изменений ### README.md | Раздел | Что добавлено | |--------|---------------| | **Описание** | Добавлена строка о настройке игнорирования | | **Опции** | Добавлены `--ignore`, `--ignore-submodule`, `--remove-ignore` | | **Режимы игнорирования** | Новая таблица с описанием режимов | | **Примеры** | Добавлены примеры с настройкой игнорирования | | **Особенности** | Новый раздел о работе с подмодулями | ### CHANGELOG.md | Раздел | Что добавлено | |--------|---------------| | **Версия 1.1.0** | Новая запись о добавлении функций игнорирования | | **История версий** | Обновлена таблица с версией 1.1.0 |