Релиз распределенной системы управления исходными текстами Git 1.7.10
Представлен релиз распределенной системы управления исходными текстами Git 1.7.10. Git является одной из самых эффективных, надёжных и высокопроизводительных систем управления версиями. Для обеспечения целостности истории от изменений задним числом используются криптографические средства, также возможна привязка цифровых подписей разработчиков к тегам и коммитам. Из проектов, разрабатываемых с использованием Git, можно отметить ядро Linux, Perl, Eclipse, GNOME, KDE, Qt, Ruby on Rails, Android, PostgreSQL, X.org,Некоторые изменения:
- При выполнении "git merge" отныне вызывается интерактивный редактор для добавления пояснения о результирующем слиянии, по аналогии с "git commit". В случае использования "git merge" в скриптах, для отмены нового поведения следует установить переменную окружения GIT_MERGE_AUTOEDIT в значение "no" или использовать опцию "--no-edit";
- В настоящее время, если не указать какие ветки и теги использовать при выполнении "git push", используется правило "matching refs" (push.default=matching), которое выбирает для обновления все внешние ветки и теги с именами, совпадающими с локальными. В будущих версиях Git изменения будут затрагивать только текущую ветку (push.default=upstream или push.default=current);
- Обновлён интерфейс gitk, например, переработан диалог настройки и добавлена поддержка наглядного сравнения двух коммитов. В В "gitweb" реализована подсветка результатов поиска, осуществлено чтение из репозитория только необходимых для текущей задачи данных (а не всех которые могут понадобиться для различных задач), обеспечен вывод списка проектов, размещённых в указанной директории;
- В HTTP-транспорте реализована поддержка работы через прокси с аутентификацией;
- В конфигурации добавлена поддержка директивы "include", позволяющая включать в текущую позицию содержимое других файлов;
- Возможность подключения обязательных к применению фильтров контента;
- В "git clone" добавлена поддержка опции "--single-branch" для ограничения клонирования одной веткой;
- При выполнении "git clone" c указанием тега через опцию "--branch" (например, "--branch=v1.0") теперь осуществляется отсоединение HEAD из результирующего репозитория;
- Вывод "git diff --stat" теперь автоматически подстраивается под широкоформатные терминалы, используя максимально возможную ширину строки;
- Обновлён флильтр "diff-highlight" из contrib, который теперь генерирует более эстетически приятный вывод;
- В "fsck" добавлена опция "--no-dangling" для пропуска информации о висящих объектах;
- В операциях "git log -G" и "git log -S" добавлена поддержка опции "-i" для поиска без учёта регистра символов;
- В "git push" добавлена опция "--prune" по аналогии с "git fetch";
- Содержимое директории, используемой для хранения первичного проекта, обслуживаемого через "git submodule", может быть перенесено в другое место;
- При выполнении "git tag --list" появилась возможность ограничения вывода только для объекта, указанного чрез "--points-at object";
- Добавлен скрипт "diffall", предназначенный для выполнения за один проход сравнения двух ревизий на уровне содержимого директорий;
- В "git difftool/mergetool" добавлена поддержка DeltaWalker;
- Улучшена работа инструментов для интеграции со сторонними системами: "git-p4", "git-svn", "vcs-svn";
- Увеличена производительность "git fetch" для репозиториев с чрезмерным числом ссылок, за счёт избавления от ненужных вызовов функций парсинга объектов;
- В тестовом пакете реализована поддержка параллельного выполнения заданий, что является первым шагом к созданию фреймворка для оценки производительности.
© OpenNet