Представлен (https://lkml.org/lkml/2016/11/29/930) выпуск распределенной системы управления исходными текстами Git 2.11.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/).
По сравнению с прошлым выпуском в новую версию принято 673 изменения, подготовленных при участии 74 разработчиков, из которых 15 впервые приняли своё участие в разработке. Основные (https://github.com/git/git/blob/v2.11.0/Documentation/RelNot...) изменения (https://github.com/blog/2288-git-2-11-has-been-released):- Переработан алгоритм формирования сокращённой формы отображения идентификаторов объектов. Так как полный хэш SHA-1 состоит из 40 шестнадцатеричных цифр и достаточно трудно воспринимается пользователем, в git активно применяется сокращённая система отображения, которая значительно упрощает ввод идентификаторов различных объектов. Чтобы избежать коллизий, приводящих к ссылкам сокращённой формы на более чем один объект в репозитории, до сих пор в Git применяется адаптивный алгоритм формирования идентификатора - вначале формируется 7-символьное представление хэша, которое оставляется если в репозитории нет других объектов с таким идентификатором, и доводится до 8- или 9-символьного варианта в случае обнаружения пересечений.
Для 7-символьных имён коллизии начинают проявляется в репозиториях, содержащих десятки тысяч объектов. В репозитории с ядром Linux, насчитывающем 5 млн объектов, коллизии наблюдаются для идентификаторов, размером менее 12-символов. Подобный подход обладает существенным недостатком: отсутствие коллизии в текущий момент не исключает их появление для объектов, которые будут добавлены в будущем. В небольших репозиториях вероятность появления отложенной коллизии невелика, но становится вполне ощутимой в больших и динамично развиваюзщихся репозиториях. Например, опубликованный в системе отслеживания ошибок идентификатор со временем может начать указывать на несколько объектов.В Git 2.11.0 данные проблемы решены благодаря расширению средств для проверки пересечений при выполнении операций в git. Минимальный размер сокращённого идентификатора теперь не фиксирован и динамически выбирается в зависимости от числа объектов в репозитории. Если в команде задан слишком короткий идентификатор, или идентификатор для которого в репозитории присутствует несколько объектов, вместо предупреждения о выявлении конфликта, в git 2.11 будет выведен список пересекающихся объектов с дополнительной информацией, достаточной для того чтобы уточнить, какой из более длинных идентификаторов выбрать. Информация в списке выводится с учётом контекста - в первую очередь показываются более вероятные кандидаты объектов, например, в "git log" в первую очередь показываются коммиты. Для выбора первичных типов для других команд, таких как "git show" предложена новая опция "core.disambiguate".
- Ускорен доступ к delta-цепочкам в базе объектов, что положительно сказалось на производительности многих типовых операций. Delta-цепочки служат для объединения дубликатов при хранении файлов с частично совпадающим содержимым. Для эффективного хранения пересечений один из объектов выбирается как базовый, а похожие на него другие объекты оформляются в виде delta - набора инструкций, определяющих имеющиеся изменения. Так как базовый объект со временем может меняться, в качестве основы для других объектов может выступать delta-изменения, образуя таким образом delta-цепочки (версия 2 сохраняется как delta от версии 1, а версия 3 как delta от версии 2 и т.п.).
Чем глубже уровень вложенности, тем больше требуется ресурсов для реконструкции содержимого объекта. В режиме агрессивной упаковки "git gc --aggressive" допускалось создание вложенных цепочек, включающих до 250 объектов, но так как при размере цепочки в более 50 объектов разбор становится неэффективным с точки зрения нагрузки на CPU, по умолчанию максимальный уровень вложенности в Git 2.11 ограничен 50 объектами. Для сокращения нагрузки также полностью переработана реализация кэша недавно восстановленных объектов, что позволило примерно на 10% ускорить работу в больших репозиториях. Для дальнейшего повышения эффективности можно увеличить размер кэша через опцию core.deltaBaseCacheLimit, которая по умолчанию установлена в 96 Мб (например, при увеличении до 1 Гб скорость работы с репозиторием ядра Linux возросла на 32%);- Увеличена производительность поиска объектов, в условиях наличия нескольких pack-файлов в репозитории. При большом числе объектов, Git упаковывает группы объектов в сводные pack-файлы, включающие также индексы для быстрой выборки. Новые pack-файлы могут появляться при извлечении или приёме изменений по сети, что приводит к постепенному увеличению числа pack-файлов в репозитории до тех пор, пока не будет инициирована операция переупаковки репозитория. Несмотря на то, что разбор отдельного pack-файла достаточно быстрая операция, то при наличии большого числа pack-файлов поиск нужного объекта превращается в последовательный перебор pack-файлов.
Частично проблема решалась через кэш, определяющий привязку объектов к pack-файлам, а в git 2.10 дополнительно был применён более эффективный метод, перебирающий pack-файлы в порядке обращения к ним в прошлом. В Git 2.11 сделан ещё один шаг и новая стратегия перебора задействована при выполнении операции переупаковки, что привело к ускорению на 70% переупаковки репозитория с ядром Linux, в котором накопилось 1000 pack-файлов;- Увеличена производительность вычислений идентификаторов патчей (patch ID), активно практикуемых при выполнении операции "git rebase". Идентификатор патча представляет собой хэш от изменений, внесённых в рамках одного коммита, что позволяет выявлять дубликаты коммитов и избегать операций переименования и слияния коммитов. В Git 2.11 скорость проверки дубликатов на основе идентификаторов патчей в некоторых ситуациях возросла до 50 раз;
- Реализован новый протокол для организации запуска фильтров, используемых для преобразования содержимого файла в представление локальной файловой системы. В том числе через фильтры можно подключить собственный обработчик, вызываемый при операциях с Git LFS. Старый протокол, подразумевал запуск отдельного процесса для обработки каждого файла, что при наличии большого числа файлов приводило к большим накладным расходам из-за запуска большого числа процессов, а также ограничивало возможности совместного использования ресурсов между разными экземплярами фильтра. Добавленный в Git 2.11 новый протокол позволяет организовать ц...
URL: https://github.com/blog/2288-git-2-11-has-been-released
Новость: https://www.opennet.ru/opennews/art.shtml?num=45590
>> Например, опубликованный в системе отслеживания ошибок идентификатор со временем может начать указывать на несколько объектов.Ну так а кто записывает сокращённый, тот ССЗБ. В мануале явно написано, что это сокращённый и сделан только для, эээ, локального удобства.
>С целью увеличения производительности продолжена работа по замене shell-скриптов Git на программы на языке Си.Надеюсь в планах есть замена не только shell-скриптов на Си, но и perl-скриптов и python-скриптов на Си.
Текущее состояние распределения по используемым языкам как видно из ссылки https://github.com/git/git такое:
>C 44.2% Shell 34.8% Perl 8.3% Tcl 5.6% Python 2.6% C++ 1.7% Other 2.8%
> Надеюсь в планах есть замена не только shell-скриптов на Си, но и perl-скриптов и python-скриптов на Си.А смысл? Это нормальные языки программирования, в отличие от ущербного шелла, и скорость работы у них на порядок выше
>Это нормальные языки программирования, в отличие от ущербного шелла, и скорость работы у них на порядок вышеЭто интерпретируемые языки, так же как и shell, а у интерпретируемых языков скорость самое слабое место.
Для начала посмотри, где используются скрипты, раз уж взялся кудахтать:
https://github.com/git/git/search?l=python
https://github.com/git/git/search?l=Perl
> Для начала посмотри, где используются скрипты, раз уж взялся кудахтать:
> https://github.com/git/git/search?l=python
> https://github.com/git/git/search?l=PerlА на баше они sha1(), думаешьЮ писали?...
Если твои титоны будут тормозть на винде, и их вручную транслируют.
> А смысл? Это нормальные языки программирования, в отличие от ущербного шелла, и
> скорость работы у них на порядок вышеПитон вообще должен сдохнуть. Достал постоянным террариумом - в убунте в репах уже три разных питона. 2.7, 3.чтототам и 3.5 - и они походу все несовместимые.
анончик заблуждается есть 2.7 и 3 ветки вот и все.
> анончик заблуждается есть 2.7 и 3 ветки вот и все.Ничего не знаю, в убунтах бидон 3.5 еще есть. Отдельно от остальных 3.х. Видимо в лучших питонячьих традициях опять полунесовместимо вышло.
Тем не менее - чуток посовместимее, чем perl5 и perl6...
> Тем не менее - чуток посовместимее, чем perl5 и perl6...Мне похрен. Я бы предпочел развидеть и то и другое.
>> анончик заблуждается есть 2.7 и 3 ветки вот и все.
> Ничего не знаю,Мы уже поняли, можете не повторять.
> в убунтах бидон 3.5 еще есть.
> Отдельно от остальных 3.х.Очевидно, это проблемы убунт и убунтоводов.
> Видимо в лучших питонячьих традициях опять полунесовместимо вышло.
Видимо, в лучших традициях анонимных незнателей домысливать, основываясь на собственном незнании, как все должно быть. Правда, реальность от этого не меняется, но анонимам хоть бы хны.
> Мы уже поняли, можете не повторять.Хороший перевод стрелок, но нет.
> Очевидно, это проблемы убунт и убунтоводов.
Врядли они все это организовали от хорошей жизни. Зная разработчиков бидона - наверняка в 3.5 что-нибудь отъехало и в результате в более старом софте, где авторы не повернуты на резком переписывании своего крапа под очередную весию гадюки - что-нибудь наверное отвалилось опять.
> Видимо, в лучших традициях анонимных незнателей домысливать, основываясь на собственном
> незнании, как все должно быть.Ну как минимум я видел отвалы портажей у знакомых гентушников и отвалы апгрейдера между релизами в убунте. И то и другое по очень характерной причине - "версия бидона не та". Алсо у меня есть ряд сриптов которые я когда-то скачал и которые напрочь не работают с современым бидоном. Хотя, возможно, ты про себя говорил? У тебя в нике ведь тоже "Аноним" написано :)
> Правда, реальность от этого не меняется, но анонимам хоть бы хны.
А реальность такова что меня за...ли проблемы совместимости и версионирования этого куска крапа.
Ага, а у других языков проблем с совместимостью между версиями быть не может по определению!
> Ага, а у других языков проблем с совместимостью между версиями быть не
> может по определению!Таких как у питона? Больше ни у кого не видел. Если уж про переписывание на си - так там до сих пор собираются сорцы C89. И мне не надо тащить для этого gcc 2.95 какой-нибудь, который так умел бы. Поэтому предложенная идея как минимум приведет к уменьшению отвалбашки там и тут.
>>>> анончик заблуждается есть 2.7 и 3 ветки вот и все.
>>> Ничего не знаю, в убунтах бидон 3.5 еще есть.
>> Мы уже поняли, можете не повторять.
> Хороший перевод стрелок, но нет.С какого препугу эта констатация факта (совершенно внезапно версия 3.5 принадлежит к третьей ветке) вдруг перевод стрелок? Или вы сами себя похвалили?
>> Очевидно, это проблемы убунт и убунтоводов.
> Врядли они все это организовали от хорошей жизни.Ну да. Кто-то заставлял писать все на питоне и теперь не дает переписать на си! Бедолаги, ага.
>> Ничего не знаю,
> Зная разработчиков бидона -В лучших традиция анонима. Ничего толком не знать, но зато с умным видом додумывать )
Давайте конкретные несовместимости 3.5 и 3.4 (или что там у вас в убунте) в студию.>> Видимо, в лучших традициях анонимных незнателей домысливать, основываясь на собственном
>> незнании, как все должно быть.
> Ну как минимум я видел отвалы портажей у знакомых гентушников и отвалы
> апгрейдера между релизами в убунте. И то и другое по очень
> характерной причине - "версия бидона не та".А я видел отвалы программ по причине "не той версии" libstdc++. Как и кучи других либ.
Правда, я не почему-то не спешу обвинять разработчиков гцц в ламеризме.
> Алсо у меня есть ряд сриптов которые я когда-то скачал и которые напрочь не работают
> с современым бидоном.Неосиляторы должны страдать :)
> Хотя, возможно, ты про себя говорил? У тебя в нике ведь тоже "Аноним" написано :)
Хорошая попытка перевода стрелок, но вроде бы совсем не я заявлял, что "ничего не знаю", при этом следом отпуская сентенции и рассказывая, как надо правильно.
>> Правда, реальность от этого не меняется, но анонимам хоть бы хны.
> А реальность такова что меня за...ли проблемы совместимости и версионирования этого куска
> крапа.А реальность такова, что кроме убунтоводов (и по совместимости кактусоедов) это почему-то никому не мешает. А значит, одно из двух: или питонщики не любят именно убунтуйщиков и делают им подлянки или же убунтуйщики не смогли даже в гвидобейсик )
> С какого препугу эта констатация фактаЭто фраза "мы уже поняли" - констатация факта? Что она консатирует? Что вы способны к пониманию? ИМХО, это - не факт.
> (совершенно внезапно версия 3.5 принадлежит к третьей ветке)
> вдруг перевод стрелок? Или вы сами себя похвалили?Формальное жонглирование фактами - это круто. Но если я вижу цуко три версии одной хни в репах - это, имхо, перебор.
> Ну да. Кто-то заставлял писать все на питоне и теперь не дает переписать на си!
Убунта выкинула немало бидонокрапа. Что-то на куть переписали, бидонный software center который "прославился" дичайшими тормозами, выбешивая юзерей - заменил gnome software. На сях как раз.
> Бедолаги, ага.
Некоторые люди учат dos и donts сложным маршрутом, чтож поделать.
> В лучших традиция анонима. Ничего толком не знать, но зато с умным видом додумывать )
Как скажете. Самокритика штука хорошая :)
> Давайте конкретные несовместимости 3.5 и 3.4 (или что там у вас в убунте) в студию.
Копание в бидонокрапе и его проблемах - без меня.
> А я видел отвалы программ по причине "не той версии" libstdc++. Как и кучи других либ.
А примеры таких программ будут? А то я привел две вполне конкретные штуки - портажи у гентушников и апгрейдер в убунте. ЧСХ совсем не то где хочется FAIL огрести.
> Правда, я не почему-то не спешу обвинять разработчиков гцц в ламеризме.
Может, потому что обвинять разработчиков компилятора за баги библиотеки было бы странно? А вот вас ламером я назову. Хотя-бы за то что не понимаете чем компилятор отличается от стандартной библиотеки. Тоже мне спец в плюсах.
> Неосиляторы должны страдать :)
Так я осилил грохнуть и кривые скрипты и туеву хучу питонокрапа в системе. Пока тут осиляторы рассказывают как без этого убунта дескать не работает. Зачем мне значок принтера который один 20Mb RSS жрет? :)
> Хорошая попытка перевода стрелок, но вроде бы совсем не я заявлял, что
> "ничего не знаю", при этом следом отпуская сентенции и рассказывая, как надо правильно.Ну я искренне надеялся что оппонент все-таки может в контекст. Я действительно знать не желаю о проблемах бидонокрапа.
> почему-то никому не мешает.
А вы как, лично опросили все 7 миллиардов населения, чтобы так храбро расписаться то за всех?
> А значит, одно из двух: или питонщики не любят именно убунтуйщиков и делают
> им подлянки или же убунтуйщики не смогли даже в гвидобейсик )Ла я как-то смотрю на тех кто смог в гвидобэйсик - и никак не могу найти 10 отличий от тех кто смог в просто BASIC. Такие же мегапрогеры.
> Это фраза "мы уже поняли" - констатация факта? Что она консатирует? Что
> вы способны к пониманию? ИМХО, это - не факт.Передерг такой передерг.
> Формальное жонглирование фактами - это круто. Но если я вижу цуко три
> версии одной хни в репах - это, имхо, перебор.А уж сколько версий гцц в репах дебиана! Ужас, да?
>> А я видел отвалы программ по причине "не той версии" libstdc++. Как и кучи других либ.
> А примеры таких программ будут?Если, хотя бы иногда, собирать софт самому
https://github.com/qTox/qTox/issues/3358
https://gitlab.com/gitlab-org/omnibus-gitlab/issues/911
https://forum.synology.com/enu/viewtopic.php?t=105573
или глянуть в ЧАВО
https://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.how_to...
> If you already have an older version of libstdc++ installed then the error might look
> like one of the following instead:
> ./a.out: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.20' not found
> ./a.out: /usr/lib/libstdc++.so.6: version `CXXABI_1.3.8' not found
> This means the linker found /usr/lib/libstdc++.so.6 but that library belongs to an
> older version of GCC than was used to compile and link the programто тот же "CXXABI_XXX not found" будет очень трудно проглядеть. Только обычно с этим занимаются извращенной любовью мейнтейнеры. Внезапно, да?
> А то я привел две вполне конкретные
> штуки - портажи у гентушников и апгрейдер в убунте. ЧСХ совсем
> не то где хочется FAIL огрести.Ух, какая конретика! Конкретнее некуда!
>> Правда, я не почему-то не спешу обвинять разработчиков гцц в ламеризме.
> Может, потому что обвинять разработчиков компилятора за баги библиотеки было бы странно?
> А вот вас ламером я назову.Ваше мнение очень важно для меня! Пишите еще! )
> Хотя-бы за то что не понимаете чем компилятор отличается от стандартной библиотеки. Тоже мне спец в плюсах.
Уважаемый Ыксперт похоже даже не в курсе, что входит в состав гцц, хотя об этом пишут в каждой новости:
https://www.opennet.ru/opennews/art.shtml?num=44326
> В runtime-библиотеке libstdc++ расширен наборкак и сразу на главной страничке
https://gcc.gnu.org/
> The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, Ada, and Go, as well as libraries for these languages (libstdc++, libgcj,...).Но важное мнение имеет )
> А вы как, лично опросили все 7 миллиардов населения, чтобы так храбро
> расписаться то за всех?Демагогия такая демагогия. Но вот почему-то здесь (и в почти каждой новости о питоне) кроме убунтуйщиков никто не отписывается )
>> А значит, одно из двух: или питонщики не любят именно убунтуйщиков и делают
>> им подлянки или же убунтуйщики не смогли даже в гвидобейсик )
> Ла я как-то смотрю на тех кто смог в гвидобэйсик - и
> никак не могу найти 10 отличий от тех кто смог в
> просто BASIC. Такие же мегапрогеры.Учитывая вашу «компетентность», это как раз ни о чем не говорит )
> Передерг такой передерг.Ну а смысл тончить, если вы в дверь ходите боком? :)
> А уж сколько версий гцц в репах дебиана! Ужас, да?
Не знаю чего ужасного - у меня стоит одна версия и собирает все. Там есть под разные архитектуры и проч. Удобно - можно для микроконтроллера фирмварь сбилдить или там ядро для ARMовской железки. На питоне такое вообще не получится ;).
> Если, хотя бы иногда, собирать софт самому
Я собираю довольно много софта сам. И?
> https://github.com/qTox/qTox/issues/3358
> https://gitlab.com/gitlab-org/omnibus-gitlab/issues/911
> https://forum.synology.com/enu/viewtopic.php?t=105573Ну да, не в лотерею, а в карты. Не выиграл а проиграл. Не си а си++, не компилер а либа, да еще с какими-то зюзебилдсервисами и прочими руби, что хорошо характеризует причастных. А при чем тут сишный компилер? И си? В плюсах с abi вообще сделали какую-то хню, но при чем тут я? Мне вообще нравтися софт на си и я не предлагал переписывать гит на плюсы, это было бы плохой идеей, имхо.
> то тот же "CXXABI_XXX not found" будет очень трудно проглядеть.
У меня ни разу не было. Сюрприз. Правда мне не нравится монструозный плюсатый софт, я си предпочитаю. За плюсы пусть плюсовики и отдуваются, что ты ко мне пристал? И таки моего gcc - хватит для сборки того же qTox. И не надо будет искать gcc 4.2 какой-нибудь, или что там еще или срочно переписывать полпрограммы.
> Только обычно с этим занимаются извращенной любовью мейнтейнеры. Внезапно, да?
А с питоном - извращения и майнтайнерам и мне достаются. И без переписывания полпрограммы новым питоном это на запустишь. Люблю когда на охоту ехать - собак кормить.
> Ух, какая конретика! Конкретнее некуда!
По крайней мере - без трехэтажных подтасовок и подгонов под ответ.
> Ваше мнение очень важно для меня! Пишите еще! )
Ну раз полезли отвечать - значит наверное жжот пониже спины.
> Уважаемый Ыксперт похоже даже не в курсе, что входит в состав гцц,
Все проще. Я сями пользуюсь, а ты ко мне с юсами примотался. Хотя я вообще про си говорил. Я иногда билдую плюсатые программы, но сам на плюсах не пишу. Да и программы на плюсах не люблю за монструозность. Особннно кути всякие, которые нынче тормозят почти как вебня уже.
>> The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran,
>> Java, Ada, and Go, as well as libraries for these languages (libstdc++, libgcj,...).
> Но важное мнение имеет )Да, ты знаешь, о java в gcc я помню только то что ее выкинуть собирались. Потому что на поддержку забили. Наверное логично что я про те или иные куски gcc не очень в курсе. Знаешь, у меня в системе вообще нет никаких gcj и фортранов. Нафиг они мне?
> Демагогия такая демагогия. Но вот почему-то здесь (и в почти каждой новости
> о питоне) кроме убунтуйщиков никто не отписывается )Да вот что-то нелестное мнение о редхатовском бидонопакетнике и его скорости работы встречается весьма регулярно и не только здесь.
>> просто BASIC. Такие же мегапрогеры.
> Учитывая вашу «компетентность», это как раз ни о чем не говорит )Нормально, сам перевел стрелки с сей на плюсы и теперь еще про компетентность вопит. А я разве настаивал что я крутой плюсовик или что мне нравится то что в плюсах с abi сделали? Только эт, плюсы все-таки другой язык. Хоть и имеющий кое-что общее с си.
> Ну да, не в лотерею, а в карты. Не выиграл а проиграл.
> Не си а си++, не компилер а либа, да еще с
> какими-то зюзебилдсервисами и прочими руби, что хорошо характеризует причастных. А при
> чем тут сишный компилер? И си? В плюсах с abi вообще
> сделали какую-то хню, но при чем тут я? Мне вообще нравтися
> софт на си и я не предлагал переписывать гит на плюсы,
> это было бы плохой идеей, имхо.Какой юлеж, какие экспрессии )
А кто же это тут, в #65 отвечал и просил примеры для отвала libstdc++? Неужели другой аноним? :O
>>> А я видел отвалы программ по причине "не той версии" libstdc++. Как и кучи других либ.
>> А примеры таких программ будут? А то я привел две вполне конкретные штуки
>>> Правда, я не почему-то не спешу обвинять разработчиков гцц в ламеризме.
>> Может, потому что обвинять разработчиков компилятора за баги библиотеки было бы странно?
>> А вот вас ламером я назову. Хотя-бы за то что не понимаете чем компилятор отличается от стандартной библиотеки.
>> Тоже мне спец в плюсах.Если вы совсем-совсем другой аноним, извольте прочитать не пятой точкой. Кстати, да будет вам извсесно: GCC это GNU Compiler Collection, а не Gnu C Compiler. Внезапно, да?
> У меня ни разу не было. Сюрприз. Правда мне не нравится монструозный
> прочий юлеж
>
>> Ух, какая конретика! Конкретнее некуда!
> По крайней мере - без трехэтажных подтасовок и подгонов под ответ.Аж целая куча подтасовов. Как же так – аноним не знал, что libstdc++ плюсовая либа, да и про «спеца в плюсах» упомянул другой воен^W сочувствующий. Ну-ну.
>> Ваше мнение очень важно для меня! Пишите еще! )
> Ну раз полезли отвечать - значит наверное жжот пониже спины.Зачетный перевод стрелок - «Это не я сел в лужу, это был другой аноним! А у вас бомбит, вотЪ!» )
>> Уважаемый Ыксперт похоже даже не в курсе, что входит в состав гцц,
> Все проще. Я сями пользуюсь, а ты ко мне с юсами примотался.
> Хотя я вообще про си говорил. Я иногда билдую плюсатые программы,
> но сам на плюсах не пишу. Да и программы на плюсах
> не люблю за монструозность. Особннно кути всякие, которые нынче тормозят почти
> как вебня уже.Все действительно проще -- стоит просто прочитать ветку _не пятой точкой_:
В #20 #37 - речь о си анонимы совсем-совсем не вели. Разве что #2 можно попытаться притянуть за уши, при этом забив на контекст </hint ;) >.В #61 я писал:
> А я видел отвалы программ по причине "не той версии" libstdc++.А в #65 какой-то аноним сначала попросил привести примеры, а потом взял да и сел в лужу:
> Может, потому что обвинять разработчиков компилятора за баги библиотеки было бы странно? А вот вас ламером я назову. Хотя-бы за то что не понимаете чем компилятор отличается от стандартной библиотеки.
> Тоже мне спец в плюсах.В #72 совсем-совсем другой аноним стал на защиту собрата и решительно начал вещать о подтасовках и о том, что он говорил о си (видимо, «спец в плюсах» или «примеры отвалов из-за несовместимости libstdc++» у него проходят под сишной категорией, кто их, экспертов знает …)
Забавно, да? =)>>> The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran,
>>> Java, Ada, and Go, as well as libraries for these languages (libstdc++, libgcj,...).
>> Но важное мнение имеет )
> Да, ты знаешь, о java в gcc я помню только то что
> ее выкинуть собирались. Потому что на поддержку забили. Наверное логично что
> я про те или иные куски gcc не очень в курсе.
> Знаешь, у меня в системе вообще нет никаких gcj и фортранов.
> Нафиг они мне?Зачетный юлеж. «Слона-то и не заметил!» )
>>> просто BASIC. Такие же мегапрогеры.
>> Учитывая вашу «компетентность», это как раз ни о чем не говорит )
> Нормально, сам перевел стрелки с сей на плюсы и теперь еще про
> компетентность вопит. А я разве настаивал что я крутой плюсовик или
> что мне нравится то что в плюсах с abi сделали? Только
> эт, плюсы все-таки другой язык. Хоть и имеющий кое-что общее с
> си.В общем, слив защитан.
> Питон вообще должен сдохнуть.А мужики-то не знали!
> А мужики-то не знали!Да почему же? Мужики в гугле вывели целое поколение go'пников и из той же вебни питон начал вылетать только в путь.
А причём здесь скорость? Эти языки лишние зависимости тянут.
Это распределение ничего особо не значит. Заметная часть - это реализация программных интефейсов к гиту на этих языках, и всякие дополнительные утилиты, особо никому не нужные, типа git-svn.
> Надеюсь в планах есть замена не только shell-скриптов на Си, но и
> perl-скриптов и python-скриптов на Си.
> Текущее состояние распределения по используемым языкам как видно из ссылки https://github.com/git/git
> такое:
>>C 44.2% Shell 34.8% Perl 8.3% Tcl 5.6% Python 2.6% C++ 1.7% Other 2.8%Ну, глянем поподробнее:
https://github.com/git/git/blob/35f6318d44379452d8d33e880d8d...
https://github.com/git/git/blob/35f6318d44379452d8d33e880d8d...
Это генератор документации при сборке. В чем тут будет глубокий смысл переписывания для конечного пользователя (да и для разработчика гита), кроме "эта документация сгенерирована программой на ПРАВИЛЬНОМ языке!" ? o_Ohttps://github.com/git/git/blob/35f6318d44379452d8d33e880d8d...
Вы так часто конвертируете из ртути?https://github.com/git/git/blob/35f6318d44379452d8d33e880d8d...
Гуй на tcl, прямо караул, да ...https://github.com/git/git/blob/35f6318d44379452d8d33e880d8d...
test_expect_success 'setup' '
git checkout -f -b base &&
git checkout -b to-rebase &&
git checkout -b upstream &&
for i in $(seq 100)
do
Тесты нужно тоже было забацать на си?
Отсутствие в зависимостях перла и питона для меня был бы огромный плюс.
Не люблю эти языки.
Почему, не буду объяснять.Разве плохо иметь возможность собрать гит без лишних зависимостей?
Обычно тесты и пишут на си, если код на си.
Тем самым проверяя код нативно.
Ну вот, например, есть t/helper/test-sha1.sh и t/helper/test-sha1.c файлы.
Скрипт передает параметры, а код выполняет проверку.
Что бы понять суть теста, надо смотреть оба файла.
Я бы смерджил это в один файл. Выглядело нагляднее.
Очевидно, что тратить на это время не стоит, если есть более приоритетные задачи.
> Отсутствие в зависимостях перла и питона для меня был бы огромный плюс.Два чая этому господину.
> Не люблю эти языки.
> Почему, не буду объяснять.А я вот объяснил что террариум из трех полунедосовместимых версий бидона и вытекающий оттуда breakage мну за...л! А perl - мне он просто по жизни не требуется.
> А я вот объяснил что террариум из трех полунедосовместимых версий бидона и
> вытекающий оттуда breakage мну за...л! А perl - мне он просто
> по жизни не требуется.А ссылочка будет, где там в гите три разных версии "бидона" используется? А разработчики об этом знают?
Кстати, может вы имели ввиду "питон"?
Это объясняет, почему вы не заметили такую замечательну опцию сборки "--without-python". Дарю, пользуйтесь на здоровье.
> А ссылочка будет, где там в гите три разных версии "бидона" используется?Да какая мне разница, в гите это или нет? Если кто тащит гадюку - я смотрю на это косо. Потому что каждый хочет разную версию гадины, блин. И зачем бы мне три похожие гадюки в системе, м?
> Кстати, может вы имели ввиду "питон"?
Я его назыаю бидоном. Его фанаты гремят много.
> Это объясняет, почему вы не заметили такую замечательну опцию сборки "--without-python".
Как по мне так это скорее должно быть --with-python для утонченных поклонников садомазо.
> Я его назыаю бидоном. Его фанаты гремят много.Пока что в этом треде гремишь только ты. Ты случаем не фанат? )
> Пока что в этом треде гремишь только ты. Ты случаем не фанат? )Если хочешь, можешь записать меня в фанаты ... git'а, разумеется ;)
Да будет лопухам известно, что ваша бубунта без питона просто перестанет работать.
Более того питон используется в САПР и даже либреофисе вместо убогого бейсика. И в отличие от вас там народ понимает, что питон в своей нише рулит и педалит.
Это вы ещё на js и рубях не кувыркались :)
> Да будет лопухам известно, что ваша бубунта без питона просто перестанет работать.Да будет ламакам с гвидобэйсиком известно: гвидобэйсик не требуется для работы системы. Вообще совсем никак. На этом крапе писана мелкая вспомогальщина и автоматизация. Которая и отваливается периодически, как тот же апгрейдер убунты. Для работы системы все это не требуется - местами я бидон как раз и оборвал целиком.
Так что вместо куска бидонокрапа при апгрейде системы проще оказывается самому извините sed -> apt-get update -> apt-get dist-upgrade сделать. Просто потому что бидонокрап падает с стэктрейсом на три страницы (это на самом деле означает "версия питона не та" XD). Вот накуа мне такая "автоматизация"? Kill it with fire!
> Более того питон используется в САПР и даже либреофисе вместо убогого бейсика.Как по мне так что гвидобэйсик, что бэйсик, что програмеры на них - хрен отличишь. Даже синтасис чем-то похож - рассчитан на полных кретинов проносящих ложку мимо рта. Которых надо строить здюлями чтобы они хотя-бы код отформатировали. Получается... чудесно отформатированный гамнокод.
> И в отличие от вас там народ понимает, что питон в своей нише рулит и педалит.Мне без этого крапа как-то лучше. И в САПР-ах я гвидобэйсиком тоже не пользуюсь. Нахрена он мне там?
> Это вы ещё на js и рубях не кувыркались :)
В JS я таки кувыркался немного. Тоже поганенький ЯП, но скоро webassembmly его имхо подвинет. А так - да, гадюку на рельсы и электричку навстречу.
> Да будет ламакам с гвидобэйсиком известно: гвидобэйсик не требуется для работы системы. Вообще совсем никак. На этом крапе писана мелкая вспомогальщина и автоматизация. Которая и отваливается периодически, как тот же апгрейдер убунты. Для работы системы все это не требуется - местами я бидон как раз и оборвал целиком.Дальше не читал. LFS. Только LFS, батенька. Gentoo не катит, т.к. Portage написан на Python.
> В JS я таки кувыркался немного. Тоже поганенький ЯП, но скоро webassembmly его имхо подвинет. А так - да, гадюку на рельсы и электричку навстречу.
Ох лол. Пора бежать с этого треда.
> Дальше не читал. LFS. Только LFS, батенька.Это вы к Zenkov'у с такими развлечениями, я предпочитаю менее хардкорно :)
> Gentoo не катит, т.к. Portage написан на Python.
Дык зачем мне этот крап? Я делаю чемодан-вокзал-debootstrap ;).
> Ох лол. Пора бежать с этого треда.
Там вон гугель go запилил - так что лучше сразу с этого глобуса наверное.
>> Да будет лопухам известно, что ваша бубунта без питона просто перестанет работать.
> Да будет ламакам с гвидобэйсиком известно: гвидобэйсик не требуется для работы системы.И чего тогда неламаки ноют?
> Вообще совсем никак. На этом крапе писана мелкая вспомогальщина и автоматизация.
> Которая и отваливается периодически, как тот же апгрейдер убунты. Для работы
> системы все это не требуется - местами я бидон как раз
> и оборвал целиком.Напишите замену, в убунтах наверняка обрадуются.
> Так что вместо куска бидонокрапа при апгрейде системы проще оказывается самому извините
> sed -> apt-get update -> apt-get dist-upgrade сделать. Просто потому что
> бидонокрап падает с стэктрейсом на три страницы (это на самом деле
> означает "версия питона не та" XD).Это на самом деле простое неосиляторство гвидобейсика. Ничего иного от убунтуйщиков и прочих «неламаков» не ожидалось XD
> Как по мне так что гвидобэйсик, что бэйсик, что програмеры на них
> - хрен отличишь. Даже синтасис чем-то похож - рассчитан на полных
> кретинов проносящих ложку мимо рта. Которых надо строить здюлями чтобы они
> хотя-бы код отформатировали. Получается... чудесно отформатированный гамнокод.И все равно его не осиливают неламаки в убунтах. Что же тогда будет, если переписать на плюсы, валу или сишку?
> Мне без этого крапа как-то лучше. И в САПР-ах я гвидобэйсиком тоже
> не пользуюсь. Нахрена он мне там?Видимо, чтобы поныть и продолжать пользоваться. Ведь не неламаковское это дело, замену написать или на что-то другое перейти. То ли дело возможность поныть и поучить всех, как оно должно быть на самом деле )
> И чего тогда неламаки ноют?Вы наверное тоже будете не в восторге если сосед камаз коровяка перед вашим домом вывалит.
> Напишите замену, в убунтах наверняка обрадуются.
Замену чему? Глючному апгрейдеру? Я вообще не понимаю нафиг он: sed + пакетник работают как минимум не хуже и не фэйлят по причине "версия питона не та".
> Это на самом деле простое неосиляторство гвидобейсика. Ничего иного от убунтуйщиков и
> прочих «неламаков» не ожидалось XDВот лично мне например - не вперлость осиливать кривой крап и махаться с его проблемами.
> И все равно его не осиливают неламаки в убунтах.
"Создайте систему которой может пользоваться даже дурак - и только дурак захочет ей пользоваться".
> Что же тогда будет, если переписать на плюсы, валу или сишку?
Питонисты это не смогут. Из них программисты - как из гамна пуля.
> Видимо, чтобы поныть и продолжать пользоваться.
Дык я не пользуюсь бидоном :)
> Ведь не неламаковское это дело, замену написать или на что-то другое перейти.
Замену, простите, чему? Глючному апгрейдеру убунты? Так он заменяется sed'ом и apt-get'ом, которых до меня написали. Я этот кусок крапа просто деинсталлю. Сразу. как post-install фаза. Которую прогоняет простой скрипт на баше. И вот он в отличие от бидона - не ломается раз в год.
> Отсутствие в зависимостях перла и питона для меня был бы огромный плюс.
> Не люблю эти языки.
> Почему, не буду объяснять.
> Разве плохо иметь возможность собрать гит без лишних зависимостей?Не плохо. Но, как вы сами заметили, задачи переписывания тестов или сборочных скриптов далеко не приоритетны.
А так как количество человеко-часов в любой разработке ограничено ... по мне, то пусть лучше и далее оптимизируют упаковку, индексацию и работу с дельтами, а уж зависимости от перла или питона (тем более, вроде как можно собрать с "--without-python") я уж как нибудь переживу :)ЗЫ:
> Очевидно, что тратить на это время не стоит, если есть более приоритетные
> задачи.Судя по комментариям к новости, это далеко не всем очевидно. Видимо, существует некий параллельно-анонимный мир, где разработчики тратят одинаковое количество времени, независимо от используемого инструмента и все упирается лишь в желание и "осиливание" этих самых разработчиков. Жаль, что в нашу вселенную доходят лишь негодования анонимов вместо кода )
> Отсутствие в зависимостях перла и питона для меня был бы огромный плюс.
> Не люблю эти языки.
> Почему, не буду объяснять.А почему ты не можешь прочитать, что тебе написали, объяснишь?
|
Добавлю: питона вот здесь ("пустой" chroot debian wheezy), например, нет:root@chroot:/# aptitude show git|grep Version
Version: 1:1.7.10.4-1+wheezy3
root@chroot:/# aptitude install git </dev/null
The following NEW packages will be installed:
git git-man{a} libcurl3-gnutls{a} liberror-perl{a} libexpat1{a} libgcrypt11{a}
libgnutls26{a} libgpg-error0{a} libgssapi-krb5-2{a} libidn11{a} libk5crypto3{a}
libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} libldap-2.4-2{a} libp11-kit0{a}
librtmp0{a} libsasl2-2{a} libssh2-1{a} libtasn1-3{a}
The following packages are RECOMMENDED but will NOT be installed:
ca-certificates krb5-locales less libsasl2-modules openssh-client rsync
0 packages upgraded, 20 newly installed, 0 to remove and 0 not upgraded.
Need to get 10.7 MB of archives. After unpacking 20.9 MB will be used.
Do you want to continue? [Y/n/?] Abort.|
Вот с локальным ребилдом версии поновее:root@chroot:/# aptitude show git|grep Version
Version: 1:2.7.4-0.1~local1
root@chroot:/# aptitude install git </dev/null
The following NEW packages will be installed:
git git-man{a} libcurl3-gnutls{a} liberror-perl{a} libexpat1{a} libgcrypt11{a}
libgnutls26{a} libgpg-error0{a} libgssapi-krb5-2{a} libidn11{a} libk5crypto3{a}
libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} libldap-2.4-2{a} libp11-kit0{a}
libpcre3{a} librtmp0{a} libsasl2-2{a} libssh2-1{a} libtasn1-3{a}
The following packages are RECOMMENDED but will NOT be installed:
ca-certificates krb5-locales less libsasl2-modules openssh-client rsync
0 packages upgraded, 21 newly installed, 0 to remove and 16 not upgraded.
Need to get 7446 kB of archives. After unpacking 28.9 MB will be used.
Do you want to continue? [Y/n/?] Abort.
> root@chroot:/# aptitude show git|grep VersionПипец, митрорфан превращается в изена!
>> root@chroot:/# aptitude show git|grep Version
> Пипец, митрорфан превращается в изена!Да! https://www.opennet.ru/openforum/vsluhforumID3/109353.html#125 "готовлюсь влиться" //Зоркий Глаз заметил??
Нет! https://www.opennet.ru/openforum/vsluhforumID3/109668.html#46 "своя конкурирующая секта"
"Маргинал"? Может быть... "Ламер эталонный"? Надеюсь, что нет. ++Спасибо за заботу.
Не, ну до эталона ламера еще работать и работать. Но флудить копипастами как изен - уже научился!
> А почему ты не можешь прочитать, что тебе написали, объяснишь?Что прочитать? Я все прочитал.
> Добавлю: питона вот здесь ("пустой" chroot debian wheezy), например, нет:
Зато в коде есть.
В очередной раз у гита просто образцовый список изменений
Конечно! Как бы вы описывали любимую программу, ради написания которой завели целый проект свободного ядра.
> В очередной раз у гита просто образцовый список измененийПоддерживаю на все сто. Ребята не просто молодцы, они прямо-таки титаны. Я даже не говорю об улучшениях удобства работы, чего стоят те же indenet-heuristic и новый git status! :)
И я конечно понимаю, что кто о чём, а вшивый о бане, но..
> 03.09.2016 09:59 Выпуск распределенной системы управления исходными текстами Git 2.10.0
> 30.11.2016 14:48 Релиз распределенной системы управления исходными текстами Git 2.11.0и
> - Переработан алгоритм формирования сокращённой формы отображения идентификаторов объектов.
> - Ускорен доступ к delta-цепочкам в базе объектов, что положительно сказалось на производительности многих типовых операций.
> - полностью переработана реализация кэша недавно восстановленных объектов, что позволило примерно на 10% ускорить работу в больших репозиториях
> - при увеличении core.deltaBaseCacheLimit до 1 Гб можно повысить скорость работы с репозиторием ядра Linux возросла на 32%
> - Увеличена производительность поиска объектов, в условиях наличия нескольких pack-файлов в репозитории.
> - на 70% ускорить переупаковку репозитория с ядром Linux, в котором накопилось 1000 pack-файлов
> - скорость проверки дубликатов на основе идентификаторов патчей в некоторых ситуациях возросла до 50 раз
> - новый протокол для организации запуска фильтров, используемых для преобразования содержимого файла в представление локальной файловой системы ... позволяет увеличить скорость применения фильтра в 80 разРасскажите кто-нибудь Поттерингу о том, что если спроектировать систему *до* того, как начать её писать, то потом всего за один квартал можно будет творить вот такие вот чудеса.
> В команду "git diff" добавлена опция "--submodule=diff", при которой будут показаны изменения субмодулей в форме патча между двумя состояниями субмодуля;Джва года этого ждал. При работе с сабмодулями постоянные проблемы - типа что-то изменилось, а если хочешь узнать - сходи в него ручками и посмотри изменения сам.
Слава Линусу, Git приносящему! А большего мне и не надо.
>Слава Линусу, Git приносящему!Тогда уж принёсшему, потому что как видно из https://github.com/git/git/graphs/contributors
torvalds там только на 17 месте по числу коммитов и имел высокую активность в период с 2007 по 2010, а на первом месте gitster (Junio C Hamano).
Слава Junio, Git приносящему! А большего мне и не надо.
> Слава Junio, Git приносящему! А большего мне и не надо.Угу, спасибо Линусу, отобравшему его у Ларри. ...и Джунио за мерж параллельного репака (то ли в 2.0, то ли в 2.1...).
чё та с сайта качается только 2.10.2! обман же в новости.
на окна еще не завезли, а вообще вот https://github.com/git/git/releases
Вендузятник должен страдать.
А мусье мазохист-вендузятник или садист-линуксоид?По поводу сабжа - уже завезли и для винды. Налетай!
Моя первая система контроля версий это была csv,
потом пришлось перейти на svn. Честно говоря не пользовался ими уже достаточно давно.
Ну а потом я познакомился с гитом.
Поначалу было не привычно, но потом я его полюбил.
Первое что пытался использовать это подмодули(submodule).
Но потом я бросил эту затею, все же лучше код разделять на репозитории.
Hg немного читал, но на практике использовать не приходилось.
И честно говоря единственный код, который мне доводилось читать в нем это код mozilla(firefox и thunderbird).Хорошая новость.
Тролльвальдс знает как это делать правильно. У него большая распределенная команда. И это не замшелый апач или какие-то хипстюки у которых из достоинств "зато на питоне". А остальное - грабли и недостатки.
> была csvточнее cvs:)
> MinixТаненбаум с его сегодняшними студентами сидят на поделке предыдущего его студента =)
--
и кстати не Minix, а Minix3, первая мертвая уже, как и вторая
Торвальдс никогда не был его студентом. Переписка между ними была, но студентом он никогда не был, не пишите чуши.
Кто чей студент?