URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 104920
[ Назад ]

Исходное сообщение
"Выпуск распределенной системы управления исходными текстами ..."

Отправлено opennews , 29-Сен-15 09:02 
Представлен (https://lkml.org/lkml/2015/9/28/777) релиз распределенной системы управления исходными текстами Git 2.6.0 (http://git-scm.com/). Git является одной из самых популярных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям задним числом используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов. Из проектов, разрабатываемых с использованием Git, можно отметить ядро Linux (https://git.kernel.org/cgit/linux/kernel/git/stable/linux-st.../), Android (https://android.googlesource.com/), LibreOffice (http://cgit.freedesktop.org/libreoffice), Systemd (http://cgit.freedesktop.org/systemd), X.Org (http://cgit.freedesktop.org/xorg), Wayland (http://cgit.freedesktop.org/wayland), Mesa (http://cgit.freedesktop.org/mesa/), Gstreamer (http://cgit.freedesktop.org/gstreamer), Wine (http://source.winehq.org/git/wine.git), Debian (http://anonscm.debian.org/gitweb), DragonFly BSD (http://gitweb.dragonflybsd.org/?p=dragonfly.git;a=summary), Perl (http://perl5.git.perl.org/perl.git), Eclipse (http://git.eclipse.org), GNOME (http://git.gnome.org/browse/), KDE (https://projects.kde.org/projects), Qt (https://code.qt.io/cgit/), Ruby on Rails (https://github.com/rails/rails), PostgreSQL (http://git.postgresql.org/gitweb/), VideoLAN (http://git.videolan.org), PHP (http://git.php.net/), Xen (http://xenbits.xen.org/gitweb/), Minix (http://git.minix3.org/).


По сравнению с прошлым выпуском в новую версию принято  479 изменений, подготовленные при участии 67 разработчиков, из которых 15 впервые приняли своё участие в разработке. Основные изменения:


-  Реализации "git pull" и "git am" переписаны на языке Си;

-  Выполнена подготовка к реализации поддержки подключения различных бэкендов с реализации ссылочных хранилищ, предлагающих альтернативный способ хранения, не ограниченный традиционным подходом "один ref на один файл или упаковкой в файл packed-refs". Проведена чистка refs API;
-  Добавлена возможность сброса входящих пакетов в файл для последующей отладки;
-  Внесена порция улучшений, связанных с возможностями "git am" по чтению патчей от других систем контроля версий;

-  Возможность использования символа звёздочки для определения маски файлового пути в обоих частях refspec (например, "refs/heads/o*:refs/remotes/heads/i*");

-  В userdiff добавлено определение шаблона  для формата разметки Fountain (http://fountain.io/);

-  В "git log" и похожие команды добавлена опция "--date=format:..." для форматирования времени при помощи вызова strftime;

-  В "git rebase -i" добавлена команда "drop commit-object-name subject", как альтернативный способ избежать повторного коммита;
  
-  Добавлена новая конфигурационная переменная для автоматического использования опции "--follow" при запуске "git log" с одним аргументом спецификации файлового пути;

-  В "git status" обеспечен вывод детальной информации о выполняемом в текущий момент сеансе "rebase -i";

-  В "git cat-file" добавлена опция  "--batch-all-objects" для перебора всех доступных в репозитории объектов. Новый режим работает быстрее, чем выполнение "rev-list --all --objects" и не включает в вывод недоступные объекты;

-  Команда "git fsck" теперь игнорирует ошибки, связанные с объектами, помеченными как повреждённые, и допускает тонкую настройку уровня предупреждений для различных видов некритичных проблем;


-  Возможность настройки списка задач (todo) для "git rebase -i";

-  Введена переменная окружения GIT_REPLACE_REF_BASE, через которую можно указать альтернативный путь к иерархии ссылок с данными замены объектов, вместо использования штатного пути "refs/replace/";

-  Обновлены размещённые в директории contrib скрипты автодополнения ввода командной строки;


-  В команду "git send-email" добавлена опция "--smtp-auth" для задания списка допустимых механизмов аутентификации SMTP ("SMTP AUTH");
-  Добавлена новая переменная конфигурации http.sslVersion, позволяющая ограничить версии SSL/TLS, которые допустимо использовать при установке соединения;

-  Добавлена переменная конфигурации  notes.mergeStrategy, которая аналогична опции "--strategy=how", задающей метод автоматической обработки конфликтов в "git notes merge";

-  Для "git config --list" представлена опция "--name-only", при указании которой вывод формируется в виде, удобном для автоматического разбора скриптами (значения не разбиваются на отдельные строки);

-  Проведена работа по увеличению удобства работы в интерфейсе gitk.


URL: https://lkml.org/lkml/2015/9/28/777
Новость: http://www.opennet.me/opennews/art.shtml?num=43057


Содержание

Сообщения в этом обсуждении
"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Resonance , 29-Сен-15 09:02 
>  Реализации "git pull" и "git am" переписаны на языке Си;

а на чем было? О_О


"Выпуск распределенной системы управления исходными текстами ..."
Отправлено guest , 29-Сен-15 09:11 
было на баше. у гита есть низкоуровневая база данных объектов, есть низкоуровневые операции вроде $ git-ls-tree b2efb2a7e48025c4d185080412a6ba1121ee6c59

для общего развития настоятельно рекомендую: http://www.opennet.me/base/dev/git_guts.txt.html


"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Andrey Mitrofanov , 29-Сен-15 09:22 
> было на баше.

На #!/bin/sh, да.     https://github.com/git/git/blob/master/contrib/examples/git-...


"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Аноним , 29-Сен-15 12:55 
Мда, из крайности в крайность...

"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Andrey Mitrofanov , 29-Сен-15 13:48 
> Мда, из крайности в крайность...

Гугле-лето-студенты выискивают "конфетки в... Windows же":

           a promising 8x improvement in execution time on Windows.
[...]
           `git-pull` and `git-am` are frequently used git subcommands.
           However, they are porcelain commands and implemented as shell
           scripts, which has some limitations which can cause poor
           performance, especially in non-POSIX environments like Windows.

http://git.661346.n2.nabble.com/RFC-GSoC-Proposal-Make-git-p...


"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Аноним , 29-Сен-15 13:13 
А как оно у меня работает при отсутствии этого вашего басша?

"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Аноним , 29-Сен-15 14:20 
Там sh а не баш. Просто выросло поколение неучей которые из не различают. Это ещё ладно, а ведь иногда их допускают до писания скриптов, и тогда несовместимое ни с чем bash-онлу гoвнo начинает дрызгать рекой.

"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Аноним , 29-Сен-15 18:56 
Как будто это что-то плохое...

"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Аноним , 29-Сен-15 22:16 
О ученый выискался, а ну как как рекомендовано писать $() или `` ?

"Выпуск распределенной системы управления исходными текстами ..."
Отправлено anonymous , 30-Сен-15 13:20 
Неужели трудно набрать
man bash, man ksh, man sh, man <ваш_любимый_шелл>?

"Выпуск распределенной системы управления исходными текстами ..."
Отправлено AnotherReality , 30-Сен-15 00:22 
поддерживаю, чем плохо написание  скриптом на баше, а не сш?

"Выпуск распределенной системы управления исходными текстами ..."
Отправлено llolik , 30-Сен-15 09:00 
Тем, что у того, кто будет пользоваться, не обязательно будет bash, у которого есть свои специфические особенности ("bash-измы"). А синтаксис Bourne shell (он же sh) стандарт да-факто и поддерживается в *.nix везде и всем.
Или для вас сюрприз, что шеллы ограничиваются не только bash-ем и их в общем-то хватает разных?

"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Crazy Alex , 01-Окт-15 03:02 
Не помню линукса, где не было бы баша по дефолту. А если БСДМшники страдают - это by design.

"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Andrey Mitrofanov , 30-Сен-15 10:30 
> поддерживаю, чем плохо написание  скриптом на баше, а не сш?

Друзья проприертарщиков страдают же. И виноваты в этом те, кто пишет на #!/bin/bash-е.

Очевидно же!


"Выпуск распределенной системы управления исходными текстами ..."
Отправлено h31 , 29-Сен-15 15:25 
Git написан на смеси сишечки, шелла и перла.
// Комментарий специально для противников Mercurial.

"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Аноним , 29-Сен-15 18:30 
> а на чем было? О_О

git am - на шеле и перле. Без последнего - не работал


"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Аноним , 29-Сен-15 10:06 
> Проведена работа по увеличению удобства работы в интерфейсе gitk

QGIT умер окончательно? :(


"Выпуск распределенной системы управления исходными текстами ..."
Отправлено funny.falcon , 29-Сен-15 12:22 
gitk - наше всё
gitk + git-gui - самые удобные клиенты (не считая Emacs)

"Выпуск распределенной системы управления исходными текстами ..."
Отправлено bugmenot , 29-Сен-15 17:03 
А ничего, что команда "git gui" может запускать разные софтины? :)

"Выпуск распределенной системы управления исходными текстами ..."
Отправлено funny.falcon , 30-Сен-15 07:57 
И чем это плохо? для разрешения мерж-конфликтов meld очень удобен. А что кроме него она запускает? И чем это плохо?

По-моему, это хорошо, когда велосипед не изобретается, а берётся и катается. Вы со мною не согласны?


"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Аноним , 29-Сен-15 12:25 
tig наше все!

"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Штунц , 29-Сен-15 11:42 
Git прекрасен, но действительно конфеткой его делают 2 программы для Windows:
- окно истории коммитов (Log Messages) в TortoiseGit
- и из того же набора TortoiseGitMerge

"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Аноним , 29-Сен-15 12:11 
Что ты делаешь с Git в Windows?

"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Andrey Mitrofanov , 29-Сен-15 12:51 
> Что ты делаешь с Git в Windows?

Он же написал, ищет конфетки в... Windows же.


"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Пользователь Debian , 29-Сен-15 14:37 
Попробуйте Git Extensions: он такой же красивый и понятный, но в отличие от TortoiseGit, не пытается сделать вид, что Вы работаете с Subversion.

И даже умеет добавлять в индекс патчи кусками (почти уровень штатной `git gui`).


"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Аноним , 29-Сен-15 17:05 
> патчи кусками

"git add -p"?


"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Пользователь Debian , 30-Сен-15 10:32 
Да, именно это.

Правда, когда я смотрел на него задний раз, он не умел добавлять выбранные строки из куска (как `git gui`), а возможности *редактировать* куски перед добавлением по-моему нет вообще ни в одном GUI фронт-енде.

Но хоть что-то...


"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Аноним , 29-Сен-15 13:54 
Они бы лучше git status ускорили а то на реально больших проектах тормозит. Можно иногда минуту ждать пока прочухает. Основное время конечно сканирование файловой системы у него занимает, но может что-то и можно ускорить там.

"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Andrey Mitrofanov , 29-Сен-15 14:22 
> Они бы лучше git status ускорили а то на реально

Замучили https://github.com/msysgit/git/pull/94 уже сосвоим Майкрософтом. Мы-то за что страдаем?!

> больших проектах тормозит. Можно иногда минуту ждать пока прочухает. Основное время конечно сканирование


"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Аноним , 29-Сен-15 14:28 
круто если так, я как раз года два ничего настолько большого и не смотрел

"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Аноним , 29-Сен-15 14:34 
> Они бы лучше git status ускорили а то на реально больших проектах
> тормозит. Можно иногда минуту ждать пока прочухает. Основное время конечно сканирование
> файловой системы у него занимает, но может что-то и можно ускорить
> там.

Ничего там нельзя ускорить, как ни крути нужно обойти всё поддерево ФС и проверить не изменилось/добавилось ли что. Есть -u no, но не заметил чтобы оно что-то заметно ускоряло, хотя и не замерял. Со стороны git тут ничего не сделать, поэтому это вопрос уже к файловой системе. Я проблему решил (у меня ZFS) добавив SSD для L2ARC. ZFS в этом плане очень рулит, потому что не нужно никуда руками переносить данные или думать куда монтировать диск - подключил, после первого git status репозиторий свалился в кэш, второй статус и далее обрабатываются мгновенно потому что читают с ssd. 128G мне лично хватает, после месяца работы используется только 70G кэша.


"Выпуск распределенной системы управления исходными текстами ..."
Отправлено _smit_ , 30-Сен-15 09:14 
>> Они бы лучше git status ускорили
> Ничего там нельзя ускорить, как ни крути нужно обойти всё поддерево ФС

- при записи время модификации каталогов разве не распространяется вверх по дереву ?


"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Пользователь Debian , 29-Сен-15 14:41 
> Они бы лучше git status ускорили а то на реально больших проектах
> тормозит.

Посмотрите на 2.x.x <https://github.com/git-for-windows/git/releases> (собственно, 1.9.x уже не развивается; разве что критичные баги там будут правиться): в ней реализовано экспериментальное кэширование информации о файлах, которое ускоряет `git status`.


"Выпуск распределенной системы управления исходными текстами ..."
Отправлено й , 01-Окт-15 14:38 
git 2.6.0 на win 8.1 по-прежнему безбожно тормозит с `git status`. с включенным кэшированием, ага.

"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Led , 01-Окт-15 22:30 
> git 2.6.0 на win 8.1 по-прежнему безбожно тормозит

Всё правильно - так и должно быть.


"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Аноним , 29-Сен-15 15:35 
не распределённая, а децентрализованная.

распределённая, - это когда так: gitchain.org


"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Аноним , 29-Сен-15 15:36 
>не распределённая, а децентрализованная.

тьфу ты, наоборот


"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Аноним , 29-Сен-15 17:10 
Ещё не совсем проснулся? :)

"Выпуск распределенной системы управления исходными текстами ..."
Отправлено Аноним , 29-Сен-15 17:14 
Много изменений в сравнении с прошлым релизом, где не было ничего интересного. Это радует.