GitHub, M$ и SourceForge
Jun. 4th, 2018 12:45 pmНа /. пишут, что MicroSoft покупает GitHub. Официально сделка еще не объявлена, но инсайдерские источники утверждают что стороны пришли к соглашению.
По этому поводу SourceForge выкатила GitHub importing tool, надеясь что народ с гитхаба теперь ломанется, а куда крестьянину кроме сурсфорджа-то податься?
Вообще похоже надо фрешмит возрождать. В смысле делать поисковик по проектам которые хостятся хрен знает где. Но с учетом нынешней моды на распределенные VCS делать его таким, чтобы он показывал, где СЕГОДНЯ находится главный репозиторий проекта.
Для этого стырить микрософтовскую же (уже забытую самим M$) технологию выбора мастер-бровсера в SMB и прикрутить ее к распределенным VCS.
Upd еще пост на слэшдот
Upd2 О сделке уже объявлено.
По этому поводу SourceForge выкатила GitHub importing tool, надеясь что народ с гитхаба теперь ломанется, а куда крестьянину кроме сурсфорджа-то податься?
Вообще похоже надо фрешмит возрождать. В смысле делать поисковик по проектам которые хостятся хрен знает где. Но с учетом нынешней моды на распределенные VCS делать его таким, чтобы он показывал, где СЕГОДНЯ находится главный репозиторий проекта.
Для этого стырить микрософтовскую же (уже забытую самим M$) технологию выбора мастер-бровсера в SMB и прикрутить ее к распределенным VCS.
Upd еще пост на слэшдот
Upd2 О сделке уже объявлено.
no subject
Date: 2018-06-04 10:31 am (UTC)Аналог freshmeat это хорошо, особенно если он будет таким "гуглом" (в смысле, что будет иметь свой поисковый бот, и будет искать проекты сам, а не ждать пока кто-то (автор) почешется его туда добавить). Предполагаю, что похожий функционал появится где нибудь в районе repology в ближайший год (если наступит таки разбегание).
no subject
Date: 2018-06-04 10:35 am (UTC)no subject
Date: 2018-06-04 10:51 am (UTC)С моей точки зрения -- скайп стал лучше, я могу поговорить с отцом зайдя на скайп.ком браузером, а раньше приходилось ставить падучий клиент, который еще любил свои конфиги терять.
Тем не менее, МС это удалось
Date: 2018-06-04 12:35 pm (UTC)Как в классическом пирожке:
"... а если за говно берётся
то просто тратит меньше сил")
"В моей вселенной" всё хуже: на одни компьютеры не ставится, на других не запускается, на третьих не работает (как в м/ф "Дудочка и кувшинчик".
С некоторыми абонентами соединяется через раз -- как в "Не можем отправить почту далее 500 миль".)
(На хабре говорят, что в _совсем_ последнее время он стал улучшаться, но дна достигал однозначно.)
no subject
Date: 2018-06-04 12:37 pm (UTC)У меня клиент вообще перестал работать — у меня 32-битный Linux, а Скуп теперь исключительно 64. Тоже пользуюсь web-версией.
no subject
Date: 2018-06-04 04:00 pm (UTC)no subject
Date: 2018-06-04 04:15 pm (UTC)no subject
Date: 2018-06-04 04:30 pm (UTC)no subject
Date: 2018-06-04 10:52 am (UTC)no subject
Date: 2018-06-04 12:38 pm (UTC)no subject
Date: 2018-06-05 04:08 pm (UTC)no subject
Date: 2018-06-04 10:58 am (UTC)no subject
Date: 2018-06-04 11:09 am (UTC)no subject
Date: 2018-06-04 11:04 am (UTC)Я возможно ошибаюсь, но, по-моему, стандартная практика использования гита с этим вполне согласуется (у меня в любом локальном репозитории штук по пять remote, а cherry-pick - одна из частых комманд).
no subject
Date: 2018-06-04 11:08 am (UTC)Это еще и issue tracker, который как бы не важнее коммитов, это wiki, бинарные тарболлы релизов (которые в первую очередь нужны пользователям).
Засада в том, что git сам по себе ничего этого не умеет. Он полагался на внешние сущности вроде gilhub-а и gitlab-а. Хотя есть проекты, в которых все это внутри, но они менее популярны.
В общем для настоящей распредленности надо сначала из git сделать fossil, а потом уже решать проблему поиска нужного источника для clone в сети.
no subject
Date: 2018-06-04 12:20 pm (UTC)no subject
Date: 2018-06-04 12:32 pm (UTC)Сваливать все в кучу надо чтобы оно совместно синхронизировалось между всеми, кто держит рабочую копию проекта. И чтобы в случае гибели одного сайта, значительная часть связанного с проектом контента не оказалась потерянной.
Раздавать бинарники через торрент не имеет смысла практически никогда. Ну разве что DVD-образы дистрибутивов. И то их быстрее скачать wget-ом на нужную машину, чем вспоминать, где у тебя есть торрент-клиент и думать как оттуда тащить исходники на нужную виртуалку.
no subject
Date: 2018-06-04 04:03 pm (UTC)no subject
Date: 2018-06-04 08:05 pm (UTC)no subject
Date: 2018-06-04 08:29 pm (UTC)Но гит сделан прагматичнее по моему. И там хорошо прослеживаются абстракции (первые версии гита же вообще были кучей шелл скриптов насколько я помню). Хотя я в кишки фоссила не смотрел, как он устроен не знаю -- если у вас есть возможность кратко сформулировать (на абзац) -- сделайте плиз.
no subject
Date: 2018-06-05 04:23 am (UTC)Поэтому, скажем, для того чтобы поставить git в windows, требуется принести туда половину msys.
fossil это один бинарник, котрый просто копируешь и им же регистрируешь как сервис. и voila, твой виндовый тостер превращается в полноценный сервер SCM, с которого можно делать pull и clone.
А если тебе надо не посторонних людей пускать а самому воспользоваться web-интерфейсом локально (по вики там полазить с поиском, issues поменеджить) то и сервиса регистрировать не надо.
Проблем с firewall penetration тоже нет. Все ходит поверх либо http(s), либо ssh.
А форматом хранения является база sqlite, благо автор у них общий.
И еще - в git предусмотрена орвеллианская возможность редактирования прошлого - переупорядочения прошлых коммитов, --amend и прочие rebase. Которые как правило приводят к очень большим граблям, если старые коммиты уже успели уехать в удаленные репозитории. В fossil история вечна и неизменна, что сильно снижает проблемы синхронизации по схеме, отличной от звезды.
Конечно, у fossil есть и недостатки. Например, отсутствие глобального пространства имен пользователей. И в нашем случае, при замене github на распределенную сеть, этот недостаток становится существенным. Впрочем в git, где коммитеры идентифицируются E-mail-ами и эти E-mail-ы никак не верифицируются, все тоже не слишком хорошо.
no subject
Date: 2018-06-05 12:16 pm (UTC)> имеющей связной системы абстракций.
Ну почему же, там есть уровень работы с raw объектами (cat-file/hash-object/git-mktree). Есть уровень хранилища (raw files и indexed packs, можно хоть тот же sqlite добавить -- по идее любой k/v storage подойдет).
> Поэтому, скажем, для того чтобы поставить git в windows, требуется принести туда
> половину msys.
Вот я не про это, а про то, что зная концепции можно написать свой гит за полдня.
> И еще - в git предусмотрена орвеллианская возможность редактирования прошлого - переупорядочения прошлых коммитов
вот я посмотрел (опять) одним глазом на документацию фоссила -- rebase там отсутствует только в командах, в принципе ничего не мешает ребейсить ветки тем же методом что и гит.
Идеологически же рассуждать нужен ли ребейс можно долго, учитывая что его и для синхронизации сильно разъехавшихся веток используют, и еще много для чего. И в том что перед публикацией бывает надо подчистить код тоже правда (если я в приступе мигрени off-by-one посадил в тривиальном алгоритме, а нашел только на утро, мне это что -- всему миру показывать?)
Формат артефактов у фоссила сделан чуть поумнее чем tree/commit объектов у гита, видимо просто в силу того, что позже и какие-то детские болезни гита были уже видны.
Формат tree (aka manifest у фоссила) -- тут я вижу плюсы и минусы у обоих. У фоссила можно использовать разные алгоритмы хешей (втч добавлять новые), у гита sha1 забит гвоздями. Я бы честно говоря взял какой нибудь multihash формат записи, который в себе несет тип хеша. Минус у фоссила, что у него 1 манифест на весь коммит, а не tree на каждый узел файлового дерева. Для больших проектов типа ядра, оно будет делать многомегабайтные манифесты на каждый мелкий коммит.
Ну и гит в силу своей текущей реализации (libgit, много мелких утилит) -- предполагает, что его можно использовать как хранилище другими софтами. Багтрекер (как минимум один) на базе гита я видел -- bug everywhere, вот как можно что-то сделать на базе фоссила без поддержки его автора -- я плохо представляю.
no subject
Date: 2018-06-05 12:24 pm (UTC)Кстати, кроме bugs-everywhere есть еще ticgit, который на мой взгляд, имеет большое преимущество - он хранит баги не в директории, а в ветке. Поэтому если проект использует какую-нибудь CI-систему, операции с баг-репортами не будут триггерить билдов.
no subject
Date: 2018-06-04 09:56 pm (UTC)Бинарные тарболы, да и вообще системы сборки, мне кажется, что-то отдельное должно быть. Хотя бы потому, что пилить единую систему сборки для всего на свете, как-то сомнительно.
Есть еще момент с управлением доступом, и вот тут всё грустно — по крайней мере, когда я этим интересовался, ничего подходящего без большого оверхеда не нашел. А штатными средствами можно только дать полный доступ ко всему, на запись или на чтение, варианта с записью только в отдельные ветки/объекты не просматривается. Впрочем, задача тоже представляется решаемой...
no subject
Date: 2018-06-05 04:14 am (UTC)По части issie tracker-а, я бы конечно, проголосовал за ticgit.
Но есть, например git-issues, bugs-everywhere и т.д.
И наверняка еще десяток можно найти.
Что касается wiki, то все пожалуй еще хуже - есть пожалуй, десяток wiki c git-бэкэндом, но почти все они заточены под отдельный репозиторий. О хранении wiki в том же репозитории, что и код, на уровне соглашений - никто не думал.
О запуске web-интерфейса прямо над рабочей копией, как это сделано в fossil, тоже.
no subject
Date: 2018-12-21 10:08 pm (UTC)Ну, я вот это тоже хотел сказать.
Но я таки думаю, что постепено какое-то расширение гита приживется, и это будет лучше, чем совершенно отдельная система контроля версий.
no subject
Date: 2018-06-04 09:12 pm (UTC)no subject
Date: 2018-06-04 10:12 pm (UTC)no subject
Date: 2018-06-04 10:40 pm (UTC)no subject
Date: 2018-06-05 04:41 am (UTC)no subject
Date: 2018-06-04 11:35 am (UTC)а гитлабы с битбакетами чем плохи? дубли там и на локально развернутой гитлабе и пусть себе хаб продается.
no subject
Date: 2018-06-04 11:46 am (UTC)no subject
Date: 2018-06-04 12:59 pm (UTC)no subject
Date: 2018-06-04 01:02 pm (UTC)Да наплевать на то что лучше, а что хуже. Важно где тусуется народ, способный постить вменяемые багрепорты.
no subject
Date: 2018-06-04 02:35 pm (UTC)ай, ладно. время было, монолитных комбайнов.
no subject
Date: 2018-06-04 02:40 pm (UTC)no subject
Date: 2018-06-04 06:36 pm (UTC)no subject
Date: 2018-06-04 08:03 pm (UTC)no subject
Date: 2018-06-06 12:18 pm (UTC)no subject
Date: 2018-06-06 12:21 pm (UTC)Но вообще поделка на рельсах за 7.5 гигабаксов это круто. Учитывая, что целая Монсанта пошла всего-то за 63.
no subject
Date: 2018-06-06 03:41 pm (UTC)а так да. прикольно. мы пилили-пилили и напилили.
SourceForge -- это же те "красавчики",
Date: 2018-06-04 12:50 pm (UTC)Re: SourceForge -- это же те "красавчики",
Date: 2018-06-04 12:52 pm (UTC)Голосом Оби-Вана
Date: 2018-06-06 10:57 am (UTC)Тем более, что она построена на броадкастах и в сети с роутерами явно запрещена на уровне RFC.
Есть же более адекватные решения вроде Kademlia.