Компании Microsoft и GitHub объявили (https://blogs.msdn.microsoft.com/bharry/2017/11/15/connect-a.../) на конференции connect() о совместной работе по портированию надстройки GVFS (http://www.gvfs.io/) (Git Virtual File System) для Linux и macOS, а также интеграции поддержки GVFS в GitHub. Проект GVFS разработан (https://www.opennet.me/opennews/art.shtml?num=45978) компанией Microsoft для оптимизации доступа к Git-репозиторию с исходными текстами Windows, который занимает около 300 Гб и насчитывает 3.5 млн файлов. Клонирование столь большого репозитория на систему разработчика в обычных условиях занимает 12 часов, а при использовании GVFS сокращается до 5 минут. GVFS также позволил сократить время выполнения checkout с 3 часов до 30 секунд, status с 8 минут до 4 секунд, commit с 30 минут до 13 секунд.
GVFS представляет собой прослойку с реализацией виртуального репозитория, в котором с сервера на локальную систему разработчика загружаются только востребованные данные, но при этом создаётся видимость наличия всех данных (содержимое загружается только при первом открытии). Для поддержки GVFS требуется реализация на сервере специального протокола GVFS и внесение изменений в код Git-клиентов.URL: https://blogs.msdn.microsoft.com/devops/2017/11/15/updates-t.../
Новость: http://www.opennet.me/opennews/art.shtml?num=47582
ЕЕЕ, по-тихоньку, по-немногу.
> ЕЕЕ, по-тихоньку, по-немногу.https://duckduckgo.com/?q=well+poisoning
https://ru.wikipedia.org/wiki/%D0%94%D0%...
https://ru.wikipedia.org/wiki/%D0%A1%D0%...
>> ЕЕЕ, по-тихоньку, по-немногу.
> https://duckduckgo.com/?q=well+poisoningБез ссылок на bingbinggo.com было бы недостаточно цинично.
В смысле? Расшифруй метафору! Ты считаешь это диверсией и призываешь к созданию контрдиверсионной организации на манер "Смерша"?
> В смысле? Расшифруй метафору! Ты считаешь это диверсией и призываешь к созданию.
.
Для тех, кто не устал читать одно и то же -- подборка ссылок от того, кто устал оное писать....>
.
.http://www.opennet.me/openforum/vsluhforumID3/111315.html#33
http://www.opennet.me/openforum/vsluhforumID3/111315.html#38http://www.opennet.me/openforum/vsluhforumID3/111315.html#34
http://www.opennet.me/openforum/vsluhforumID3/111315.html#36
http://www.opennet.me/openforum/vsluhforumID3/111315.html#43
http://www.opennet.me/openforum/vsluhforumID3/111315.html#48
http://www.opennet.me/openforum/vsluhforumID3/111315.html#50 #идёткуспеху
http://www.opennet.me/openforum/vsluhforumID3/111315.html#53
http://www.opennet.me/openforum/vsluhforumID3/111315.html#206+
http://www.opennet.me/openforum/vsluhforumID3/110347.html#37http://www.opennet.me/openforum/vsluhforumID3/110347.html#56
http://www.opennet.me/openforum/vsluhforumID3/110347.html#149
http://www.opennet.me/openforum/vsluhforumID3/110347.html#57
http://www.opennet.me/openforum/vsluhforumID3/110347.html#142
http://www.opennet.me/openforum/vsluhforumID3/110347.html#38
http://www.opennet.me/openforum/vsluhforumID3/110347.html#152
http://www.opennet.me/openforum/vsluhforumID3/110347.html#159.
http://www.opennet.me/openforum/vsluhforumID3/107969.html#18
http://www.opennet.me/openforum/vsluhforumID3/107969.html#79
http://www.opennet.me/openforum/vsluhforumID3/107969.html#38
.
http://www.opennet.me/openforum/vsluhforumID3/104784.html#22> контрдиверсионной организации на манер "Смерша"?
Теперь модно санкции вводить. Да, новое слово (или нет?) -- против корпораций.
В общем, Сталина на _них_ нет.http://www.opennet.me/openforum/vsluhforumID3/104784.html#134
http://www.opennet.me/openforum/vsluhforumID3/104784.html#63
http://www.opennet.me/openforum/vsluhforumID3/110245.html#44
http://www.opennet.me/openforum/vsluhforumID3/110245.html#39
http://www.opennet.me/openforum/vsluhforumID3/101723.html#131
http://www.opennet.me/openforum/vsluhforumID3/106322.html#19
http://www.opennet.me/openforum/vsluhforumID3/105876.html#129
что, еее? Эти энтерпрайзные помои, наряду с аналогичными костылями fb для hg, не нужны.
> в котором с сервера на локальную систему разработчика загружаются только востребованные данные, но при этом создаётся видимость наличия всех данныхНо... но... но как же распределенность VCS? Mein Führer
> Но... но... но как же распределенность VCS? Mein Führer"commit с 30 минут до 13 секунд"
все еще хочешь распределенную vcs с таким временем реакции? Поправил if (a = b) на == - и сиди, через пол-часика закомитит. Локально, чувак, локально - речь о том, сколько она _твой_ диск роет.а от самой идеи распределенной vcs ты торжественно отказался ровно в тот момент, когда вместо git clone и поднятия _своего_ сервера для дальнейшей работы, ты сделал "clone" внутри гитхаба, ясно продемонстрировав, что тебе на самом деле нужнее - сосияльная сеточка, а не vcs.
И все, руны с рукава можно срезать, но душой ты навсегда наш.забавно скорее другое - при всей очевидно полной непригодности гита для проектов такого размера, громадина ms, когда-то шедшая _впереди_ индус-трии в вопросах организации разработок, не нашла ничего лучшего, чем улучшать механизмы чужой социальной сеточки.
Интересно, гитхаб хоть поделился с ними кодом, или даже этого не понадобилось?
да, факт.Я то не большой любитель гитхаба, теперь понял, что они, вероятно, подняли именно эдакий гитхаб себе, внутри мс. И, по сути, работают с одной копией данных (ну, исключая бекапы). Вряд ли кто попало может билдить всё дерево. Стягивают директорию, там рядышком тестики лежат... Ну, имеет право на жизнь, при таком то размере
> Я то не большой любитель гитхаба, теперь понял, что они, вероятно, подняли именно эдакий гитхаб
> себе, внутри мс.это если гитхаб с ними таки поделился кодом - что не факт. Возможно, все же пришлось изобретать свой, с иконами и окошками.
Эх... когда-то "внутри ms" было поинтереснее, чем снаружи. Не уверен, что это наследие сохранилось по сей день.> И, по сути, работают с одной копией данных (ну, исключая бекапы).
почему с одной, с неодной - хоть по копии на группу разработчиков, но все копии - там, в смысле, это кнопочка clone в интерфейсе ms-хаба, а полноценного clone на личную машину - нафиг не надо, машина трещит, пересобрать это целиком ты все равно не сможешь (собирает билдферма, еще и distributed компилятором, наверняка, чтоб опять же не ждать две недели каждой ерундовой правки) - вот они и сделали себе щастье, когда стандартная команда отрабатывает нестандартным образом.
кнопочка clone, кстати, вполне может еще и обеспечить тебя ресурсами для сборки и тестирования именно твоей ветки. В рамках одобренного менеджером, разумеется.
> это если гитхаб с ними таки поделился кодом - что не факт. Возможно, все же пришлось изобретать свой, с иконами и окошками.
>> это если гитхаб с ними таки поделился кодом - что не факт. Возможно, все же пришлось изобретать свой, с иконами и окошками.
> https://enterprise.github.comтак там код, вроде, не раздается? И не факт, что этот ентерпрайс подходит ms.
(глядя на конкурентов из гитлаба, где то, что раздают, мягко говоря, не совсем похоже на то, что предоставляют как сервис)
Без Баллмера M$ явно не та. А ведь как его все ругали в своё время.
> Без Баллмера M$ явно не та. А ведь как его все ругали в своё время.Лучше бы оставили. Он так здорово саботировал работу компании! Никто другой так уже не сможет.
Это уж с какой стороны смотреть… Пока Баллмер был у руля, майки не скатывались до такого унылого состояния во всех сегментах своего бизнеса. На то, что сейчас делает M$, я не могу смотреть без содрогания.
В рамках ОДНОЙ организации с очень крупной разработкой сильная распределённость не очень нужна, а вот скорость операций, с громадными репами как раз таки нужна.
Ну вот не хочется им разбиваться на несколько реп. Наверное в этом у них есть своя логика, я не знаю как их разработка устроена. Придумали такое решение, почему бы и нет, в принципе. Ситуации всякие бывают.И этож, как я понимаю, не в принципе Git переделывают, только протокол в него добавляют. Остальное - внешнее. Не надо - можно и не пользоваться.
> Наверное в этом у них есть своя логика, я не знаю как их разработка устроена.Нет никакой логики, просто все тупые и не хотят делать нормально. Можешь пофантазировать сколько собираются проекты в таких репозиториях-помойках, status на минуты ещё не вся беда.
Внутри корпораций? Да и никто же не мешает выкачать репозиторий полностью. Это как git-lfs - опциональная нашлепка.
А ечюсли репа весит несколько сот ГБ? На каждую машину её качать расточительно.Другой вопрос, что делать так не стоит, т.к. это более SVN-style.
*если
Да уже на десятках Гб работается хреново, трудно представить какую силу духа нужно иметь чтобы пробовать репизиторий на соти Гб и потом ещё неспешно заниматься оптимизациями.
А где страдает распределённость?
Девелопер А склонировал с Гитхаба.
Если у него поднят гит с GVFS протоколом, то девелопер Б спокойно форкнет с него.Где вы видите проблему?
> Девелопер А склонировал с Гитхаба.
> Если у него поднят гит с GVFS протоколом, то девелопер Б спокойно форкнет с него.А вы читали доки и оно именно так работает?
Я подозреваю, что в худшем случае при попытке такого форка у девелопера A внезапно окажутся все 300 мегабайт, потому что система решит что это обращения ко всем файлам подряд.
В лучшем Б сразу обломится со словами "gvfs'ные репо не клонируем, делай клон с master"В корпоративной среде не принято клонировать репы с компьютера соседа по пиханию локтями в опенспейсе. Хз что там этот Кумар Наcpал нахимичил у себя без ревью и тасков. Принято именно клонировать внутри корпоративной замены гитхаба, если такой клон вообще зачем-то потребовался вместо создания бранча и нормальной работы в нем.
Вот это связанность кода, 300Gb перемешанной лапши. Настолько нельзя это было раскидать по разным репам, что пришлось пилить костыль.
Там несколько сот человеколет на это нужно, а напилить систему что-бы работала всего пара.
Неплохо было бы сначала изучить вопрос.
Монорепозиторий это осознанный выбор компаний, как МС, так и гугла, фейсбука и многих других
IMHO это выбор не технический, а политический
https://www.youtube.com/watch?v=W71BTkUbdqE
> https://www.youtube.com/watch?v=W71BTkUbdqEhttps://cacm.acm.org/magazines/2016/7/204032-why-google-stor...
99% этих файлов лучше обновлять через rolling release, а не через VCS. Сейчас какая-то нездоровая мода на VCS, их используют даже вместо rsync.
> Сейчас какая-то нездоровая мода на VCS, их используют даже вместо rsync.В великой компании S... VCS используют как файлопомойку и буфер обмена. А Вы rsync...
не политический, а исторический. Раньше svn-ноподобные помойки были пределом мечтаний и не было проблем с масштабированием. А потом стало проблематичным переводить разросшиеся помойки на иные рельсы. Потому вместо деления помойки на проекты пилят костыли к современным vcs чтобы немного отодвинуть конец. Нужно же понимать, что костыли впроде gvfs дают большую нагрузку на сеть и не решают проблем с большим потоком коммитов.
Как же они бедолаги жили без гита?
чот я тоже хотел бы узнать, как проходил процесс принятия изменений в код до гита. Подозреваю многоуровневую иерархию ответственных. А сейчас они все молчат из-за зубастого NDA
> Как же они бедолаги жили без гита?да элементарно жили - без распределенной vcs вообще. Как многие и по сей день живут.
Комиты - в единственный центральный repo, на дороге у комита хук на тему "быстренько прогнать regression tests". Доступ конкретным индусам - только к конкретным веткам. Пересобирать на своей системе не то что неудобно, а вообще запрещено корпоративной политикой, меньше будет шансов что-то стырить.
Для корпоративной разработки, где жестко поделены задачи и ответственные, в общем-то вполне достаточно.единственный минус - нельзя использовать vcs в качестве умного undelete.
>> Пересобирать на своей системеПересобрать Винду на компьютере разработчика? Это что за компьютеры такие
>>> Пересобирать на своей системе
> Пересобрать Винду на компьютере разработчика? Это что за компьютеры такиену а в чем проблема-то, линукс ты же можешь пересобрать, потратив кучу времени и ресурсов - включая все мазилы и гномов, а не только ядро и мелкие утилиты. Некоторые по сей день "ждут ебилдов".
Просто долго, даже инкрементальной сборкой, нафиг не надо и вообще опасно. Готовые подписанные сборки вон кто-то ж тырит, не смотря на все меры предосторожности и недетские срока если поймают на горячем, а так и исходный код хакерам и АНБ уйдет за мелкий прайс.
Вроде как до недавнего времени в мс была еженочная сборка с автоматической установкой собранного на все компы. Ну и сбором багрепортов.А еще кто-то рассказывал, что сломавшего билд заставляли бегать круг вокруг кампуса в позорном колпачке.
> Вроде как до недавнего времени в мс была еженочная сборка с автоматической
> установкой собранного на все компы. Ну и сбором багрепортов.В своё время не с автоматической, а с ручной. Как сейчас --- не знаю.
> Вроде как до недавнего времени в мс была еженочная сборкатак тырят-то подписанные релизы, а не автобилды (которые, конечно, тоже тырят, только нафиг они нужны, ты ж даже багрепорт отправить не сможешь). Их, по идее, должны хранить в месте с ограниченным доступом. Ну, видимо, кто хранит, те и тырят.
и там не гугль, да, во всяком случае раньше было можно выбирать, бежать за комсомолом, или впереди, на самой распоследней сборке. Правда, у меня все знакомые сбежали еще при Балмере, до индусов никто не дожил.
Плохо. Очень плохо. Я там работал когда-то, в M$. Там все плохо.
> Как же они бедолаги жили без гита?Как, как? Вот так:
windows_xp_src_v5.2.1.zip
windows_xp_src_v5.2.2.zip
windows_xp_src_v5.2.2-backup.zip
windows_xp_src_v5.2.2-new.zip
windows_xp_src_v5.3.0.zip
s/zip/rar/
> s/zip/rar/Ох уж эти "вежественные" знатоки:
s/zip/rar/g
Вы таки хотите рассказать мне за перл или за вим? Или за sed? Я уже приготовил тетрадь с ручкой и готов конспектировать.
>> s/zip/rar/
> Вы таки хотите рассказать мне за перл или за вим? Или за sed?
> Я уже приготовил тетрадь с ручкой и готов конспектировать.
$ perl -e '$_ = "windows_xp_src_v5.2.1.zip
windows_xp_src_v5.2.2.zip
windows_xp_src_v5.2.2-backup.zip
windows_xp_src_v5.2.2-new.zip
windows_xp_src_v5.3.0.zip"; s/zip/rar/; print "$_";'windows_xp_src_v5.2.1.rar
windows_xp_src_v5.2.2.zip
windows_xp_src_v5.2.2-backup.zip
windows_xp_src_v5.2.2-new.zip
windows_xp_src_v5.3.0.zip
Как там, в лу^W грязевом бассейне, не холодно?
На Опеннет принимают после удаления чувства юмора?
s/zip/cab
а всем наплевать что gvfs уже Gnome Viirtual File System?
Думаю этот вопрос надо расширить. А есть те, кому не наплевать на Gnome?
Это один из немногих годных компонентов GNOME, и используется он не только в GNOME.
> Это один из немногих годных компонентов GNOME, и используется он не только
> в GNOME.и чего в нем годного при наличии fuse?
> а всем наплевать что gvfs уже Gnome Viirtual File System?M$ только Гном забыть спросили.
> M$ только Гном забыть спросили.Microsoft только авторов FOSS забыть спросили.
//Fixed
разработчики гнома теперь должны были написать приложение о чём-то отвратительном и назвать его windows. Но поскольку они рабы у любимого партнёра того же самого микрософта, то просто промолчат в сторонке.
У гугла тоже монорепа, если что: http://m.cacm.acm.org/magazines/2016/7/204032-why-google-sto... (взято из https://talks.golang.org/2016/refactor.article).
> У гугла тоже монорепа, если чтоо, надо ж, так и запишем - перфорсы на единственном сервере даже гуглю вполне хватило на десять лет развития.
значит, мне можно вообще не беспокоиться.
> для оптимизации доступа к Git-репозиторию с исходными текстами Windows, который занимает около 300 Гб и насчитывает 3.5 млн файлов.Ещё один пример, как создать себе проблемы, а потом героически их преодолевать.
>> для оптимизации доступа к Git-репозиторию с исходными текстами Windows, который занимает около 300 Гб и насчитывает 3.5 млн файлов.
> Ещё один пример, как создать себе проблемы, а потом героически их преодолевать.Можно было денег заработать, можно было проблем не создавать, всё сразу не получилось.
Других примеров подтверждающих что можно не создавать проблем и заработать примерно столько-же я не припомню.
>> для оптимизации доступа к Git-репозиторию с исходными текстами Windows, который занимает около 300 Гб и насчитывает 3.5 млн файлов.
> Ещё один пример, как создать себе проблемы, а потом героически их преодолевать.Уверен, что проблемы создают не тебе?...
Ну да, если модные мальчики подхватят идею, проблемы будут у многих.
> Ещё один пример, как создать себе проблемы, а потом героически их преодолевать.На этом строится любой "относительно честный рэкет". На создании проблем и их "решении".
Microsoft это цифровые неофашисты.
ровно как и гугл с эплом
В принципе да, но не ровно. Microsoft равнее всех вместе взятых.
никакой разницы, гугл еще хуже даже, потому что навязывает образ якобы "don't be evil"
> гугл еще хуже даже, потому что навязывает образ якобы "don't
> be evil""Microsoft loves linux"
>> гугл еще хуже даже, потому что навязывает образ якобы "don't
>> be evil"
> "Microsoft loves linux"Да-да... А кончается всё изнасилованием типа сабжа.
То "особенные" люди с виндами коммитили-перекоммитили в _мейнлайновый_ git какие-то кеши FS-ов и пр.х--ни, которая на мс-овской поделке почему-то отрмозит там, где у всех остальных всё летает. Бедные!
Теперь сам вурдалак "пришёл с дарами"tm.
Они не пробовали сделать, чтоб win[-server] не тормозил?... Впрочем, о чём это я?! _Это_ ж часть б.-модели, продают они именно это.
"Подойдите ближе, бандерлоги! Вурдалак продаст вам винду. Бли-и-и-иже!111"
> "Подойдите ближе, бандерлоги! Вурдалак продаст вам винду. Бли-и-и-иже!111"- Винда не тормозит*!
* Свежеустановленная, на свежем топовом железе, звоните и заказывайте прямо сейчас.
>> "Подойдите ближе, бандерлоги! Вурдалак продаст вам винду. Бли-и-и-иже!111"
> - Винда не тормозит*!
> * Свежеустановленная, на свежем топовом железе, звоните и заказывайте прямо сейчас.Да-да, точно-точно... Для этого есть Linux!
" In our benchmarks of Windows Subsystem for Linux that allows a Linux environment to run atop Windows 10 via this new WSL kernel subsystem, the performance overall has overall been very good and often performing better than virtualized options. But the main area of poor performance is I/O, except now it's being worked on by Microsoft for greater improvements... "
http://www.phoronix.com/scan.php?page=news_item&px=Microsoft...
Гугл такой же троянский конь что и некрософт.
Поздравляю линуксоидов.
> Поздравляю линуксоидов.Спасибо. И тебе побольше alpha.gnu.org в твои я-Дивайсы.
.. Но есть хорошая новость:
> с исходными текстами Windows, который занимает около 300 ГбWindows у нас много
> Клонирование ... занимает 12 часов"--depth 1"? Нет, не читали.
>> Клонирование ... занимает 12 часов
> "--depth 1"? Нет, не читали.Не мешайте -- они же делают git для FreeBSD! Windows-серверов им продадут -- заживут.
> --depth 1тогда проще svn сразу
так они это и сделали.
> который занимает около 300 Гб и насчитывает 3.5 млн файлов. Клонирование столь большого репозитория на систему разработчика в обычных условиях занимает 12 часов, а при использовании GVFS сокращается до 5 минут. GVFS также позволил сократить время выполнения checkout с 3 часов до 30 секунд, status с 8 минут до 4 секунд, commit с 30 минут до 13 секунд.говорят, под GVFS ещё и скорость света в 240 раз возрастает
Читай дальше - хак представляет собой чистое читерство.
индусам проще создать GVFS, чем научиться не коммитить сгенерированные файлы
Вот что бывает с теми, у кого репозиторий не влезает на SSD.
- Ты когда-нибудь слышал о Масаде? 2 года 900 евреев держались против 15000 римских солдат. Они предпочли рабству смерть. И где теперь эти римляне?
- Я думал, ты спросишь: где теперь эти евреи?
> Клонирование столь большого репозитория на систему разработчика в обычных условиях занимает 12 часовда просто винда тормозная. m$ сделали костыль, что б не так сильно тормозило. git под linux и так шустро работает с большими репозитариями.
Удивляет другое: как система с 300Гб кода вообще способная нормально работать? Браво!
> Удивляет другое: как система с 300Гб кода вообще способная нормально работать? Браво!Посчитай объем кода у любого распространенного дистрибутива linux. Цифра будет тоже немаленькой. Да и не факт что там один код 300гб весит...
Я сильно удивлюсь, если там нет ни одного MSI или даже ISO.
> Посчитай объем кода у любого распространенного дистрибутива linux. Цифра будет тоже немаленькой. Да и не факт что там один код 300гб весит...Кодовая база Android'а 5 (под git'ом) ~1.5G. Сборка --- ~7G.
Вероятно, там помойка не конкретного релиза или хотя бы поколения оффтопика, а кишки _всех_ его компонентов и релизов, начиная с самого первого.
Да скорее всего кишки всех существующих редакций, включая серверные.
Серверные же только настройками реестра отличаются
Не только.
> нормально работать?нет, конечно. это ж венда
Переименовали бы хоть в GitVFS, а то что нам теперь делать с двумя GVFS? Red Hat не собирается судиться с ними из-за кражи названия?
Не понимаю, зачем оно нужно? Нормальные люди не раздувают свои репы до 300 Гб, а если уж так исторически сложилось, то ССЗБ. Да и в любом случае, таких людей будет пару штук, но при этом надо бить себя в грудь и кричать смотрите как мы погоаем и любим open source
Вот таким ССЗБ и нужно. Подобная дикость часто встречается в кровавом ентерпрайзе (видел трижды), часто из-за того, что миграцию с svn, в котором проекты были разложены по директориям, проводили не очень умные люди и перелили всю эту кучу кода в единственный git-репозиторий.
Ну написать скрипт который разобьёт тебе этоту монорепозиторий на много мелких с сохранением истории куда проще.
> Ну написать скрипт который разобьёт тебе этоту монорепозиторий на много мелких с
> сохранением истории куда проще.Они не могут в make и паетный менеджер. Пожалей их[I]!
Забавно что недавно в радио-т приходил чел который работал в ms и рассказывал что у Майкрософт не монорепозиторий.
> Забавно что недавно в радио-т приходил чел который работал в ms и
> рассказывал что у Майкрософт не монорепозиторий.Гоните этих элопов!
---У англичан ружей кирпичом не чистят.
сначала мы не думаем и все фекалии кладём в общую кучу. а потом придумываем костыль как с этим работать. вполне в духе корпораций (и неважно в данном случае как они называются)
p.s. с каких это пор обозначение фекалий является ненормативной лексикой?!