Files
git_man/CHANGELOG.md
T

188 lines
8.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 |