Релиз распределенной системы управления исходными текстами 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