Подготовлен (https://lkml.org/lkml/2018/4/2/425) выпуск распределенной системы управления исходными текстами Git 2.17.0 (http://git-scm.com/). Git является одной из самых популярных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям задним числом используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов. По сравнению с прошлым выпуском в новую версию принято 516 изменений, подготовленных при участии 71 разработчика, из которых 20 впервые приняли своё участие в разработке.Основные изменения (https://github.com/git/git/blob/v2.17.0/Documentation/RelNot...):
- В команду diff добавлена опция "--find-object=object-id" для оценки изменений, связанных только с заданным именованным объектом;- В "git format-patch" при передаче данных в diffstat обеспечено форматирование патча с ограничением ширины в 72 символа, что соответствует ограничениям, применяемым в других субкомандах;
- В "git daemon" добавлена возможность вывода лога в stderr вместо syslog в случае запуска из inetd;
- В "git rebase" добавлена опция "--allow-empty-message";
- В "git am" добавлена опция "--quit" в дополнение к уже существующей опции "--abort" для синхронизации с опциями других команд, таких как "rebase" и "cherry-pick";- В "git worktree add" добавлена возможность вызова обработчика после выполнения checkout, по аналогии с вызовом обработчика перед checkout в "git clone";
- В "git tag" добавлена опция "--edit" для редактирования сообщения, переданного через флаги "-m" и "-F";- Добавлена команда "git fetch --prune-tags", которую можно использовать для чистки устаревших локально сохранённых тегов;
- Добавлена опция "--show-current-patch", позволяющая посмотреть патч на котором остановился "git rebase" при возникновении конфликта;
- В "git merge" применение "--no-ff" (создаётся коммит для слияния вместо быстрого перенаправления (fast-forwarding), даже если присоединенная ветвь является потомком текущего коммита) по умолчанию теперь ограничено слиянием тегов, находящихся не в типовых местах иерархии refs/tags/. Старое поведение было приемлемо для интеграторов, которые принимают подписанные теги от разработчиков downstream-проекта, но не было удобно для разработчиков downstream-проектов, которые "догоняли" upstream до очередного тега с релизом;
- В "git status" добавлена опция "--no-ahead-behind" для отключения ресурсоёмких операций вычисления связи между текущей веткой и её upstream;- В "git send-email" добавлена опция "--reply-to=address";
- В "git config" по аналогии с "git tag" страничная прокрутка теперь не применяется в операциях, не связанных с отображением данных (например, при установке параметров).
URL: https://lkml.org/lkml/2018/4/2/425
Новость: https://www.opennet.me/opennews/art.shtml?num=48383
>Для обеспечения целостности истории и устойчивости к изменениям задним числом используются неявное хеширование всей предыдущей истории в каждом коммитеТолько сейчас дошло, это же, по сути, блокчейн?
>>Для обеспечения целостности истории и устойчивости к изменениям задним числом используются неявное хеширование всей предыдущей истории в каждом коммите
> Только сейчас дошло, это же, по сути, блокчейн?Та ты https://en.wikipedia.org/wiki/Merkle_tree чо?! https://ru.wikipedia.org/wiki/%D0%94%D0%... Правда?7
Памятка для тех кто не знал или забыл, как вставлять ссылки с кирилицей в виде читаемого текста - дописываем в конце ссылки символ "/" при копировании.
В Firefox можно дописать в строке адреса любой символ и стереть, например, пробел. Любое изменение текста в той строке позволит скопировать ссылку с кириллицей.
в рамках HTTP можно просто дописывать символ ?
> Памятка для тех кто не знал или забыл, как вставлять ссылки с
> кирилицей в виде читаемого текста - дописываем в конце ссылки символ
> "/" при копировании.Ух, ты! Работает!11 http://www.opennet.me/openforum/vsluhforumID4/416.html
https://ru.wikipedia.org/wiki/п■п╣я─п╣п╡п╬_я┘п╣я┬п╣п╧
https://ru.wikipedia.org/wiki/п■п╣я─п╣п╡п╬_я┘п╣я┬п╣п╧/
https://ru.wikipedia.org/wiki/Дерево_хешей///ссылки ломаются при [Посмотреть] - надо пере-копи-пастивать.
//копирование зависит от броузера. перешёл на ff52-esr, кажется, "оттуда" копируются правильные %XX-ссылки и перл-однострочник (спасибо, XAnder!) не нужен
ну... Если любой log-based формат считать предельно вырожденной формой блокчейна...А если серьёзно - то под блокчейном каждый сейчас понимает что-то своё, настолько, что как термин оно слабо применимо.
Ну, здесь нет блоков, здесь каждая транзакция заверена так-то получается. Так что это блокчейн - укороченный или компактный вариант.))
Я ж говорю - вырожденный. В пределе можно же представить и блок из одной записи
Причем тут лог? Это называется hash tree (или, как уже упомянули выше, Merkle tree). Эта структура данных используется как в git/mercurial, так и во всяких биткоинах с эфирами.
То, что используется дерево хэшей, а не просто хэш предыдущего элемента - деталь реализации, не более. Общая структура - "актуальный" элемент ссылается на предыдущую версию (и есть возможность проверить целостность этого дела) - это именно из versioned/log-based структур данных.
Н уи что, linked list - частный случай дерева.
В отличие от, замена сквозного хэширования на merkle tree - это просто оптимизация, не меняющая прицнипиальных свойств. Во всяком случае, в контексте git, в криптовалютах ситуация другая (там это, например, на приватность влияет).
> Только сейчас дошло, это же, по сути, блокчейн?Ага, причем git появился раньше bitcoin...
То есть если я накоммитал вчера пару раз, где мои биткоены?
когда переход на sha-3 ?
> когда переход на sha-3 ?А в чём такая необходимость?
в том что sha3 текущий стандарт с минимальными коллизиями?
>> когда переход на sha-3 ?
> А в чём такая необходимость?лизнуть АНБ, конечно же.
>АНБSHA-3 - это к NIST, а не NSA, кури гугл.
>>АНБ
> SHA-3 - это к NIST, а не NSA, кури гугл.https://duckduckgo.com/?q=NIST+NSA+snowden
И?
>> когда переход на sha-3 ?
>
> А в чём такая необходимость?мне надаели старые значения хешей.. хочу уже новые
>>> когда переход на sha-3 ?
>>
>> А в чём такая необходимость?
> мне надаели старые значения хешей.. хочу уже новыеКоммить новый [пустой] инит-комит с текстом мз /dev/urandom-а и ребейзь всю историю на него.
Все хеши коммитов поменяются. Я гарантирую это.
>>>> когда переход на sha-3 ?
>>>
>>> А в чём такая необходимость?
>> мне надаели старые значения хешей.. хочу уже новые>
>
> Коммить новый [пустой] инит-комит с текстом мз /dev/urandom-а и ребейзь всю историю на него.
>
> Все хеши коммитов поменяются. Я гарантирую это.не. я хочу чтобы у меня были новые хэши а у моих коллег-консерваторов оставались бы старые..
и чтобы была бы совместимость (хотя бы в одну сторону) между нами. чтобы я мог бы пользоваться и своими хешами (модными свежими) и старыми, а коллеги ды хрен с ними если у них что-то работать не будет, сами виноваты :-) .
> а коллеги ды хрен с ними если у них что-то работать не будет, сами виноваты :-)Опенсорс разработка.
знаю что работа в этом направлении ведется. вероятно будут команды конвертирующие хранилище
быстрей бы
svn -- гoвно, git -- гoвно, все СКВ -- гoвно. Но лучше никто пока ничего не придумал.
Вам гoвно с изюмом или с арахисом? Ах, вы гурман и любите гoвно как есть...Пока так.
pijul
пижуль... "Запижулил в пижулерепу пижулеветку, проверяй" -- "Да, подтверждаю, ща запижулю твою пижулеветку в пижулемастер"
svn -- гoвно, git -- гoвно, все СКВ -- гoвно.Нет ты - это же очевидно.
> В "git tag" добавлена опция "--edit" для редактирования сообщения, переданного через флаги "-m" и "-F";
> Добавлена команда "git fetch --prune-tags", которую можно использовать для чистки устаревших локально сохранённых тегов;
> Добавлена опция "--show-current-patch", позволяющая посмотреть патч на котором остановился "git rebase" при возникновении конфликта;Ну наконец!!! Джва года ждал!
я лично джва года ждал "git fetch --prune-tags"
...приняли участие... Просто. Без "своё".
> В "git status" добавлена опция "--no-ahead-behind"в прошлых версиях как-то можно такого поведение достичь? статус задрал лагать