2d3734f6ed
Co-authored-by: Cursor <cursoragent@cursor.com>
188 lines
8.5 KiB
Markdown
188 lines
8.5 KiB
Markdown
# 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 | |