Релиз распределенной системы управления исходными текстами Git 1.7.7

Представлен релиз распределенной системы управления исходными текстами Git 1.7.7. Из-за недоступности инфраструктуры kernel.org, код нового релиза временно размещен на хостинге Google Code, копия создана на SourceForge и GitHub. В качестве подтверждения, что релиз не подделка, мэйнтейнер проекта Junio C Hamano указал на необходимость проверки цифровой подписи.

Некоторые изменения:

  • Скрипты подготовлены для интернационализации и локализации (i18n/l10n);
  • Обновлены порты для Interix, Cygwin и Minix;
  • Разнообразные обновления для git-p4 (в contrib/), fast-import и git-svn;
  • Gitweb теперь в первую очередь пытается прочитать файл конфигурации /etc/gitweb-common.conf и уже потом gitweb_config.perl и /etc/gitweb.conf;
  • При выполнении команды "git am" (загрузка серии патчей из почтового ящика) в связанную команду "git apply" теперь передается содержимое опции "--exclude=path";
  • "git am" теперь нормально обрабатывает наличие пустых строк перед содержимым mbox-файла;
  • В "git archive" можно использовать gzip для формирования "archive.tar.gz";
  • "git bisect" можно использовать для незаполненных репозиториев;
  • Длина сокращенных имен объектов в выводе "git branch -v" выбирается на основании переменной конфигурации core.abbrev;
  • Для "git check-attr" в командной строке могут быть заданы относительные файловые пути;
  • В "git check-attr" добавлена поддержка опции "--all" для вывода списка атрибутов для заданного пути;
  • Существенно уменьшено потреблением памяти при выполнении "git checkout". В "git checkout" реализована потоковая обработка данных из хранилища объектов, при которой не требуется предварительное чтение содержимого файлов в память;
  • В "git clone" добавлена поддержка опции "--config key=value" для установки параметров конфигурации репозитория, влияющих на выполнение начального checkout;
  • Использование "git commit пути..." дает возможность обработать относительные файловые пути, ссылающиеся за пределы текущей поддиректории;
  • Для ограничения вывода "git diff --stat" добавлена опция "--stat-count";
  • В "git diff" добавлена опция "--histogram" для использования альтернативного метода генерации diff, заимствованного у jgit и отличающегося более высокой производительностью;
  • "git fetch", "git push" и подобные им команды более не выводят сообщения об ошибках соединения для адресов, к которым не удалось подключиться, если соединение хоть с одним адресом было успешным;
  • В "git grep" добавлены опции "--break" и "--heading", позволяющие сформировать вывод в стиле утилиты "ack". Также в "git grep" добавлена опция "-W" при которой вывод формируется с учетом контекста;
  • В "git log" и подобных команд добавлена опция "--decorate", при которой цветом выделяются привитые (grafted) и замененные коммиты;
  • В реализацию стратегии рекурсивного слияния внесено достаточно много исправлений, характерных для ситуаций, редких для реальных проектов;
  • В "git stash" добавлена опция "--include-untracked";
  • В "git push" теперь можно использовать опцию "--recurse-submodules=check" для отказа от выполнения операции push для супермодуля, если один из коммитов для его субмодулей не может быть отправлен;
  • "git upload-pack" и "git receive-pack" теперь могут делать вид, что только подмножество ссылок присутствует в репозитории, что может быть полезно при передаче содержимого нескольких мелких репозиториев в единый репозиторий;
  • "git verify-pack" переписан для использования механизма "index-pack", который более эффективен при чтении объектов из пакетов;
  • Попытка запуска тестовых скриптов из состава gitweb теперь осуществляется даже при отсутствии Perl-модулей, связанных с поддержкой CGI.

© OpenNet