The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Facebook представил новую систему управления исходными текстами Sapling

16.11.2022 12:11

Facebook (запрещён в РФ) опубликовал систему управления исходными текстами Sapling, применяемую при разработке внутренних проектов компании. Система нацелена на предоставление привычного интерфейса управления версиями, который может масштабироваться для очень крупных репозиториев, охватывающих десятки миллионов файлов, коммитов и веток. Код клиента написан на языках Python и Rust, и открыт под лицензией GPLv2.

Отдельно разработана серверная часть для эффективной удалённой работы с репозиториями и виртуальная файловая система для работы с локальным срезом части репозитория как с полным репозиторием (разработчик видит весь репозиторий, но на локальную систему копируются только востребованные данные, к которым осуществляются обращения). Используемый в инфраструктуре Facebook код данных компонентов пока не открыт, но компания обещала опубликовать его в будущем. Тем не менее, в настоящее время в репозитории Sapling уже можно найти прототипы сервера Mononoke (на языке Rust) и VFS EdenFS (на С++). Данные компоненты являются не обязательными и для работы достаточно клиента Sapling, который поддерживает клонирование Git-репозиториев, взаимодействие с серверами на базе Git LFS и работу с git-хостингами, такими как GitHub.

Основная идея системы в том, что при взаимодействии со специальной серверной частью, обеспечивающей хранение репозитория, все операции масштабируются в зависимости от числа файлов, реально используемых в коде, над которым работает разработчик, и не зависят от общего размера всего репозитория. Например, разработчик может использовать лишь небольшую порцию кода из очень большого репозитория и на его систему будет перенесена только эта небольшая часть, а не весь репозиторий. Заполнение рабочего каталога производится динамически, по мере обращения к файлам из репозитория, что с одной стороны позволяет существенно ускорить работу со своей частью кода, но с другой стороны приводит к замедлению при первом обращении к новым файлам и требует наличия постоянного доступа к сети (отдельно предусмотрен и offline-режим подготовки коммитов).

Кроме адаптивной загрузки данных в Sapling также реализованы и оптимизации, направленные на сокращение загрузки информации с историей изменений (например, 3/4 данных в репозитории с ядром Linux приходится на историю изменений). Для эффективной работы с историей изменений, связанные с ней данные хранятся в сегментированном представлении, позволяющем загружать с сервера отдельные части графа коммитов. Клиент может запросить у сервера информацию о связи нескольких коммитов и загрузить только необходимую часть графа.

Проект развивается на протяжении последних 10 лет и был создан для решения проблем при организации доступа к очень крупным монолитным репозиториям с одной master-веткой, в которых практиковалось применение операции "rebase" вместо "merge". В то время открытые решения для работы с подобными репозиториями отсутствовали и инженеры Facebook решили создать новую систему управления версиями, отвечающую потребностям компании, вместо дробления проектов на мелкие репозитории, что привело бы к усложнению управления зависимостями (в своё время для решения аналогичной проблемы компания Microsoft создала прослойку GVFS). Изначально в Facebook применялась система Mercurial и проект Sapling на первом этапе развивался как дополнение к Mercurial. Со временем система трансформировалась в самостоятельный проект со своим протоколом, форматом хранения и алгоритмами, который также был расширен возможностью взаимодействия с Git-репозиториями.

Для работы предлагается утилита командной строки "sl", реализующая типовые концепции, рабочие процессы и интерфейс, привычные для разработчиков, знакомых с Git и Mercurial. Терминология и команды в Sapling немного отличаются от Git и более близки к Mercurial. Например, вместо веток используются "закладки" (именованные ветки не поддерживаются), по умолчанию при выполнении clone/pull загружается не весь репозиторий, а только основная ветка, отсутствует предварительная маркировка коммитов (staging area), вместо "git fetch" применяется команда "sl pull", вместо "git pull" - "sl pull --rebase", вместо "git checkout COMMIT" - "sl goto COMMIT", вместо "git reflog"- "sl journal", для отмены изменения вместо "git checkout -- FILE" указывается "sl revert FILE", а для идентификации ветки "HEAD" применяется ".". Но в целом, общие концепции веток и операций clone/pull/push/commit/rebase сохраняются.

Из дополнительных возможностей инструментария Sapling выделяется поддержка "умного лога" (smartlog), позволяющего наглядно оценить состояние своего репозитория, выделить наиболее важную информацию и отсеять второстепенные детали. Например, при запуске утилиты sl без аргументов на экран выводятся только собственные локальные изменения (чужие сворачиваются), показывается состояние внешних веток, изменённые файлы и новые версии коммитов. Дополнительно предлагается интерактивный web-интерфейс, дающий возможность быстро перемещаться по умному логу, дереву изменений и коммитам.

Другим заметным улучшением в Sapling является упрощение процесса исправления и разбора ошибок, и возвращения к прошлому состоянию. Например, для отката многих операций предлагаются команды "sl undo", "sl redo", "sl uncommit" и "sl unamend", для временного скрытия коммитов команды "sl hide" и "sl unhide", а для интерактивной навигации по старым состояниям и возвращению к указанной точке команда "sl undo -i command". В Sapling также поддерживается концепция стека коммитов, позволяющая организовать пошаговое рецензирование через дробление сложной функциональности на набор из небольших и более понятных инкрементальных изменений (от базового каркаса до готовой функции).

Для Sapling подготовлено несколько дополнений, среди которых интерфейс для рецензирования изменений ReviewStack (код под GPLv2), позволяющий обрабатывать pull-запросы на GitHub и использовать стековое представление изменений. Кроме того, опубликованы дополнения для интеграции с редакторами VSCode и TextMate, а также реализация интерфейса и сервера ISL (Interactive SmartLog).

  1. Главная ссылка к новости (https://engineering.fb.com/202...)
  2. OpenNews: Проект OpenBSD опубликовал git-совместимую систему управления версий Got 0.76
  3. OpenNews: Представлен Breezy, форк системы управления версиями Bazaar
  4. OpenNews: Открыты исходные тексты системы управления версиями BitKeeper
  5. OpenNews: Создатель системы управления версиями Mercurial передаёт проект в руки сообщества
  6. OpenNews: Компания Microsoft представила GVFS, виртуальную файловую систему для Git
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/58123-sapling
Ключевые слова: sapling, facebook, git, mercurial
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (122) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, ip1982 (ok), 12:29, 16/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    КОБОЛ многословный говорили они, а сами понаписали тонны кода.
     
     
  • 2.86, Аноним (86), 19:42, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > КОБОЛ многословный говорили они

    Я понял! В расте внедряют смайликовое многословие!

     
  • 2.132, shardddin (?), 16:11, 19/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Насколько вероятно наличие в подобных поделках трояна какого-нибудь?
     
  • 2.139, А (??), 13:20, 21/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    И ладно бы тонны кода. Код разный бывает.

    Но попытка использовать их софт с такой большой историей приводит в тех.поддержку и тут становится ясно - вероятно, не зря и за дело у них сокращения.

     

  • 1.4, Аноним (4), 12:29, 16/11/2022 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –7 +/
     

     ....ответы скрыты (4)

  • 1.5, ip1982 (ok), 12:31, 16/11/2022 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +3 +/
     

  • 1.8, Аноним (8), 12:34, 16/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Какая-то каша из С++, rust и Python. Кажется разрабы вообще не думают о том, как этот проект будут собирать другие люди, а ведь это очень важно для по.
     
     
  • 2.10, Аноним (10), 12:39, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Поэтому и не релизили. Это важно для ПО которые распространяется как самостоятельный продукт.

    Внутреннее ПО на то и внутреннее чтобы только внутри несколько человек знали как это всё работает. Даже если они уже давно уволились.

     
     
  • 3.134, Аноним (-), 21:13, 20/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Просто у корпорасовых макак типа этих на ниипическом воркстэйшне скачано половина интернета. Впрочем одни уже так допрыгались, до что-то типа -2 миллиардов прфита, чтоли, за что и были подвергуты элоном жесточайшей децимации.
     
  • 2.11, Самый Лучший Гусь (?), 12:40, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Те кто собирают по могут уж и поднапрячь думательные органы а то сидят там в своих сепулькариях из слоновой кости и жуют смузи.
     
     
  • 3.80, YetAnotherOnanym (ok), 19:25, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > жуют смузи

    Тонко. Зачот.

     
  • 2.12, Аноним (12), 12:40, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    С 2005 по 2019 использовал LFS (Linux From Scratch).

    Слез именно по прочине "разрабы вообще не думают о том, как этот проект будут собирать другие люди". Пусть (размножаются) как хотят.

     
  • 2.15, Аноним (15), 12:44, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    очевидно, каждый тимлид хочет пощупать новую хрень, а потом пощупать вторую, а потом третью. ну а сопровождением не ему же заниматься
     
     
  • 3.149, Аноним (149), 20:32, 02/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    С этим согласен, ПОЩУПАТЬ ты просто обязан. Иначе застрянешь в пыли на обочине истории. Но вот внедрять - только после адекватного и рационального обоснования. И это уж точно не про языки - если что-то одно выбрали, прыгать по языкам (тем более г***ну типа Пестона) - нельзя. Это тупой Цукер может нанять на свою вавилонскую башню 50 языков! Сообществу нужен ОДИН.
     
  • 2.21, Аноним (21), 12:59, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А в чем проблема написать скрипт, хоть на баше, который поставить настроит все окружение?
     
     
  • 3.64, Аноним (64), 18:07, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Для этого окружение надо знать, а как ты его узнаешь, если проект сетапил настоящий сишник, которому вручную запускать gcc за радость, а любую автоматизацию сборки он считает личным оскорблением?
     
     
  • 4.69, Я (??), 18:25, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    нормисы так вообще возьмут докер контейнер развернут со всем фаршем и работать пойдут а не вот этот вот пердолинг с изи сетапами
     
     
  • 5.140, Аноним (-), 14:50, 21/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    нормисы уроют продакшн и сломают дев, что они еще могут? :)
     
  • 3.150, Аноним (149), 20:33, 02/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот LFS написали "скрипт на баше" - и чо? Думаешь, он работает? Только ручками, только через мозг компьютерщика.
     
  • 2.67, Я (??), 18:24, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    простота сборки нынче не такой важный критерий как дополнительные фичи и решаемые софтом задачи.
     
     
  • 3.136, Аноним (-), 21:17, 20/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Если вы корпорация размером с фэйсбук, чтобы пару билд-инженеров нанять и серваков при необходимости докупить, тогда конечно.

    А если этого монстра в среднего пошиба проектик воткнуть - ну, проектик умрет после того как автору в него комитить надоест. Потому что остальным разворачивать за свой счет целый энтерпрайз не очень надо, особенно если за это не платят как в фэйсбуке.

     

  • 1.9, anonymous (??), 12:37, 16/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Система контроля версий, код которой находится в git... Незрелая технология.
     
     
  • 2.13, Аноним (10), 12:40, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Покажи где находится MercurialHub? Может ты сам его запустишь?
     
     
  • 3.18, Аноним (17), 12:57, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Строго говоря, а зачем меркуриал ещё нужен? Я ещё понимаю какие-нибудь бинари в сабвершене по старинке тащить...
     
  • 3.19, Аноним (19), 12:58, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    bitbucket был таким, пока не пришли эффективные менеджеры.
     
  • 3.20, anonymous (??), 12:58, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Mercurial - очередной проект, который не смог побороть свои детские болезни в виде кодовой базы на Python 2. И да, если ты застрял на Mercurial, для твоих проектов есть резервация https://heptapod.net/
     
     
  • 4.33, Аноним (33), 14:10, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    К счастью нет. Проекты на Меркуриале как-то сами по себе остались в Меркуриале навсегда.
     
  • 4.118, MT (ok), 16:23, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Если что, Mercurial 6.2+ работает на Python 3.
     
  • 4.135, Аноним (-), 21:15, 20/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > для твоих проектов есть резервация /dev/null

    Fix, for teh great justice.

     
  • 3.44, Аноним (44), 15:58, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Mercurial был популярен во времена, когда был популярен и Redmine. И эта связка вполне себе ещё живёт в некоторых конторах. И не шибко они собираются переходить на что-то другое (работает не трошь).
     
     
  • 4.79, Аноним (64), 19:24, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > работает не трошь

    Помню, помню, как оно работает. Каждый апдейт как забег по минному полю. Если ничего не отвалилось по дороге — значит апдейтил не тот сервер. В итоге постепенно на апдейты забивают вообще, а чтобы не взломали и майнер не подсунули туда все ходят через vpn, даже из интранета.

     
  • 4.137, Аноним (-), 21:20, 20/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Анон, ты из параллельной реальности в неправильное измерение попал. В этой реальности Mercurial не был популярным. Никогда. Вообще совсем.
     
     
  • 5.151, Аноним (149), 20:40, 02/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это тот самый случай, когда миллионы мух выбрали г***но (спасибо npидyрку Трольвадсу), а пчёлы выбрали Меркуриал.
     
  • 2.16, Аноним (16), 12:52, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Гит оказался недостаточно функционален для них, а незрелый здесь ты.
     
     
  • 3.22, Аноним (17), 13:00, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    А что в нём недостаточно функционального? Ну кроме того что половина разрабов не только не умеет им пользоваться, но и разбираться не хочет, потому что возможностей того что в IDE есть для вебмкак - выше крыши
     
     
  • 4.97, Аноним (97), 00:23, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так там же прямым текстом написано - не справляется с объемами данных. Это известная проблема гита (и других публичных VCS). У Яндекса ровно такая же история.
     
  • 4.152, Аноним (149), 20:43, 02/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Видишь - ты считаешь себя умнее только потому, что думаешь, что ЯКОБЫ знаешь git. На деле твои знания - г***вно, ты и 10 сложных вопросов по гиту не ответишь. А люди не хотят использовать трольвадскую п@р@шу, потому что они умные и не хотят изучать криворылый инструмент.
     
  • 3.38, Пароним (?), 14:44, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Скорее с непродуманной архитектурой, при которой низкоуровневые концепции торчат наружу и для любого немного более сложного сценария уже нужно гуглить небольшой баш-скрипт
     
     
  • 4.82, YetAnotherOnanym (ok), 19:30, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Архитектура git вполне продуманная, только она продуманная под стиль мышления Линуса, а он у него, скажем так, своеобразный.
     
     
  • 5.153, Аноним (149), 20:45, 02/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ты походу из тех креTuнов, которые придумали сочетание "отрицательный рост". Если ниструмент - х****ня, не надо называть его "альтернативно продуманным" - он просто НЕПРОДУМАН, как тебе и сказали.
     
     
  • 6.154, YetAnotherOnanym (ok), 20:52, 02/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если ты uдuoт, который не смог понять смысл комментария, незачем демонстрировать это всем.
     
  • 2.85, FSA (??), 19:38, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Система контроля версий, код которой находится в git... Незрелая технология.

    Нет. Тут вылезает проблема этой системы контроля версий - нет доступных публичных репозиториев хотя бы для открытых проектов. И саму систему приходится размещать в git, чтобы ещё хоть как-то могли другие получить.

     

  • 1.23, OpenEcho (?), 13:10, 16/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    man sl 6

    <strong>sl<strong> - display animations aimed to correct users who accidentally enter sl instead of ls.

     
     
  • 2.26, Аноним (26), 13:21, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    неосиляторы alias l='ls -al'
     

  • 1.24, pashev.ru (?), 13:10, 16/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > на экран выводятся только собственные локальные изменения (чужие сворачиваются),

    Не стоило огород городить ради одного алиаса гита )

     
  • 1.27, Шарп (ok), 13:35, 16/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Например, разработчик может использовать лишь небольшую порцию кода из очень большого репозитория и на его систему будет перенесена только эта небольшая часть, а не весь репозиторий.

    Достаточно один раз грепнуть исходники и всё выкачается тебе на комп. Не говоря уже про современные IDE, которых мёдом не корми, лишь дай проиндексировать файлы по десять раз на дню.

     
     
  • 2.99, Бывалый смузихлёб (?), 04:58, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Причём, не совсем понятно как предполагается полноценно проект запускать на локальной машине если он весь не скачан

    Есть конечно особый сорт копаний, которые всё в одну репу валят( код приложения, серверная часть, клиентская и так далее ) - но это они сами на ровном месте кучу проблем придумали
    А остальным вообще неясно зачем отдельную часть выкачивать

     
     
  • 3.117, пох. (?), 16:14, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Я может тебя огорчу, но фейсбук нельзя запустить на локальной машине. Вообще. Никак.

    И проектов, которые на локальной машине в принципе незапускаемы - мильен с тыщами.

     
     
  • 4.121, Бывалый смузихлёб (?), 18:52, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    если идёт работа над сайтом или приложением, оно обычно разворачивается на локальной машине с подключением к тестовому серверу

    или ты всерьёз предлагаешь делать правки клиентской части вслепую ?

     
     
  • 5.122, пох. (?), 19:50, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну твой опыт масштабов факинбука как бы вполне понятен.

    Ну, не совсем вслепую (я все еще слишком хорошего мнения о мордокниге? ну нет, не так она часто падала), но да, от дурной привычки пытаться запустить проект после каждой измененной строчки - приходится отучаться.

    Кстати, вот работа в таких условиях - это действительно то что отличает всяких гугломордокниг и прочих равных по размеру. А вовсе не умение пользоваться vcs в целых трех местах непохожей на гит.

    Поэтому судьба выкинутых оттуда за борт несколько менее печальна, чем представляется местным экспертам, но вариантов дальнейшей карьеры у них все же меньше чем хотелось бы.

     

  • 1.29, Аноним (29), 13:48, 16/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Выкинули ненужное, ведь есть инструмент от Microsoft, которой теперь гихаб принадлежит.
     
  • 1.30, mumu (ok), 13:50, 16/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Разве нельзя было это решить в рамках git, добавив какие-нибудь ключи?
    Такое ощущение, что понахедханитили кучу сеньёров, которым нечем заняться. Пусть белки поскручивают чтоли.
     
     
  • 2.34, Алень Пётр. (?), 14:12, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В рамках git нельзя победить Nih-синдром.
     
  • 2.55, Герасим (?), 17:18, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Такое ощущение, что понахедханитили кучу сеньёров, которым нечем заняться.

    Именно.
    Правда, скоро выхантят их обратно

     
     
  • 3.59, Аноним (59), 17:46, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • –4 +/
    зато тебе и подобным ни в жизни не попасть в контору даже во сто крат меньших масштабов
     
     
  • 4.75, Аноним (75), 19:01, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ооо, вы из фейспука? Или мейлру?
     
  • 4.77, Герасим (?), 19:08, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это не ты засирал пост про Carbon?
     
  • 4.83, Аноним (64), 19:32, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Попасть в fb не так сложно, как кажется. Интервью в мелкие конторы чаще куда более замороченное. Я в своё время бросил эту затею на предпоследнем шаге, когда узнал, что больше 250к/год они платить не готовы. И FAANG такой весь. Понтов много, денег мало.
     
     
  • 5.123, пох. (?), 21:43, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > готовы. И FAANG такой весь. Понтов много, денег мало.

    Я слышал, у второго A все несколько получше обстоит (если ты в ойти, а не в suicide booth, конечно)

    Впрочем, возможно те от кого слышал просто слаще-морковки-не-едалы тоже.

    А о патологической жадности сцукенберга - легенды ходят.

     
  • 4.89, Аноня (?), 22:01, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Погугли, 4моня, что происходит с капитализацией твоего "понтового" фейспука.

    И рассчитай, через сколько месяцев тебе придётся стучать в двери "контор во сто крат меньших масштабов"

     
  • 3.81, Аноним (64), 19:26, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Выкидывать будут не по лычкам. Балласт сбросят и дальше поплывут. Инфа сотка.
     
     
  • 4.91, пох. (?), 22:50, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Выкидывать будут не по лычкам. Балласт сбросят и дальше поплывут. Инфа сотка.

    Ага - гребца за борт, а начальники дальше поплывут. Инфа сотка. Если галера замедляет ход - виноват оказывается всегда веслатель.

     
     
  • 5.142, Аноним (-), 14:58, 21/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А вон там пишут что маск уволил маркетологов из чирикалки В том числе и руковод... большой текст свёрнут, показать
     
  • 2.106, Отец Ононим (?), 08:46, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В этов вашем гите с ключами и без того полный бардак. Давайте еще насыпьте ключей сверху.
     

  • 1.31, Аноним (31), 13:51, 16/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    тяга больших галер завендорлочить разрабов, сделав их бесполезными кусками уже через пару лет, стара, как мир
     
  • 1.32, Аноним (32), 13:54, 16/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Я не понял, они Perforce что ли переизобрели?
     
     
  • 2.36, Бегущий по граблям (?), 14:16, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Первый раз слышу такое
     
  • 2.39, пох. (?), 15:04, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Они меркуриал переизобрели. Второй раз подряд.

    Предыдущую переизобретенную инкарнацию так и не смогли запустить (ну то есть они ее тоже выкинули на гитшлак, нате жрите, "только оно у нас не собирается отдельно" но обещали сразу же починить)

    Нате еще одну.

    Уровень "гениев" работающих на сцукенберга - наглядно продемонстрирован. Впрочем, не впервой.


     
     
  • 3.43, Простой сельский парень (?), 15:58, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    О пох, здоровеньки булы.
    Я там в той теме ответил, все поудаляли, как всегда.
    В целой мой посыл: помирать отставить.
    Я вернусь проверю.
    Еслт чем по лечению помочь, не стесняйтесь. Что смогу.
     
     
  • 4.56, Аноним (75), 17:25, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А что с похом????

    Пох, у тебя есть свой тг-канал?

     
     
  • 5.93, Выньвроттеноги (?), 22:54, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Я не знаю его тг канал, но я хочу ему помочь - это без троллинга. Хоть он никогда в жизни не разделял мою точку зрения, но по духу он мне близок.
    Пох, давай девку не включай, мы поможем баблом на лечение, если надо.
    Я за пацанов не отвечу, ща себя отвечаю. Мож и парни поддержат. Ты нам важен. Я тебя скок лет знаю на разных ресурсах. Ты меня мож не знпешь, а я знаю. Давай завязывай. Бабки порешаем. Иди в емс!
     
  • 2.60, Аноним (59), 17:46, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    да, ты не понял
     
  • 2.88, Советский инженер (?), 20:09, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не, меркуриал
     

  • 1.40, vitalif (ok), 15:07, 16/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Опять монорепа. Вот не сидится велосипедистам на седле. Всё новые более удобные подседельные штыри изобретают и с одного на другой пересаживаются...
     
     
  • 2.49, Аноним (49), 17:13, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Кажется, что конструкция этих подседельных штырей уже давно подразумеваемое отсутствие седла и авторам это нравится.
     

  • 1.42, Иваня (?), 15:57, 16/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Приходится VPN включать, чтоб почитать инженерный бложек... О времена, о нравы!
     
     
  • 2.143, Аноним (-), 15:00, 21/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Добро пожаловать в светлое будушее. Наслаждайся заслуженными правами и свободами. Видишь ли, это ты в курсе что ты инженер, а вон те думают что ты плебса кусок. И действуют соответствующе.
     

  • 1.47, Аноним (49), 17:10, 16/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Обычным пользователям это ненужно. Кстати у яндекса такая же система есть вместо гита.
     
  • 1.48, Вирт (?), 17:12, 16/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А смысл? У компаний имеющих огромные монорепозитории настолько богаты, что могут позволить себе разработать свою собственную систему контроля версий, вспомните например доклады Яндекса о своей VCS.

    А компании которые не настолько богаты, чтобы свою VCS разрабатывать, у них и монорепозитории не такие большие, им и git с LFS подойдет.

    Поэтому воникает вопрос, а кому кроме Facebook (экстремисткая организация) нужен этот  Sapling?

     
     
  • 2.51, Аноним (49), 17:15, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Они просто читают опеннет и их зацепило что на расте ничего нет
     
  • 2.96, fuggy (ok), 00:19, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вот напридумывают себе проблем с монорепозиториями, а потом решают созданные собой же проблемы. В этом весь современный IT. Вместо того чтобы использовать git submodule и подобное. Ядро linux не такой уж и маленький проект, но при этом у них проблем с монорепозиториями.
    Почему все крупные компании решают что монорепозиторий с единственной веткой это так как должно быть. То есть скидывать весь код всех лидов и всех стажёров в одну репу в одну ветку это нормально.
     
     
  • 3.103, Вы забыли заполнить поле Name (?), 06:32, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Потому что git тормозит на их размерах Ядро linux не маленький проект - это пра... большой текст свёрнут, показать
     
     
  • 4.113, Аноним (113), 13:10, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Абсолютно верное замечание Сваливать всё в одну кучу - БАРДАК Не понял, что ты... большой текст свёрнут, показать
     
     
  • 5.128, Вы забыли заполнить поле Name (?), 22:47, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Любые действия с иторией репозитория и кодом, т к изменения атомарны Коммит тр... большой текст свёрнут, показать
     
  • 5.129, Вы забыли заполнить поле Name (?), 22:52, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Что такое "зелёный транк"?

    trunk based development

     
  • 4.115, fuggy (ok), 14:23, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так вот зачем независимые проекты пихать в одну репу Это проблема явно искусств... большой текст свёрнут, показать
     
     
  • 5.125, Вы забыли заполнить поле Name (?), 22:28, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее такие проекты как-то обособленно живут Но в крупных компаниях обычно все... большой текст свёрнут, показать
     
     
  • 6.130, fuggy (ok), 23:37, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Скажи это google graveyard Или если компания захочет выложить один из своих сер... большой текст свёрнут, показать
     
     
  • 7.131, Вы забыли заполнить поле Name (?), 01:57, 18/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >> обычно все живые проекты на поддержке и если там используется общий код
    > Или если компания захочет выложить один из своих сервисов в общий доступ,
    > ей что придётся выдирать это из своего монорепы и создавать отдельную
    > так и так.

    Они так и делают, а потом отдельно синхронизируют.

     
  • 4.116, fuggy (ok), 14:40, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В итоге что мы получаем. Сначала сваливаем весь код в одну кучу, а потом делаем тулзу, которая будет скачивать только нужные для работы куски проекта. Так может не надо было сразу сваливать весь код в кучу.
     
     
  • 5.127, Вы забыли заполнить поле Name (?), 22:31, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > В итоге что мы получаем. Сначала сваливаем весь код в одну кучу,
    > а потом делаем тулзу, которая будет скачивать только нужные для работы
    > куски проекта.

    Что тебя в этом смущает? Есть внутренняя задача - ее решают. Не на твои же деньги. И никто тебе не предлагает делать также. Но скакать по 10+ репозиториям и управлять версиями в субмодулях - это еще тот геморрой.

     
     
  • 6.133, Аноним (133), 02:33, 20/11/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > И никто тебе не предлагает делать также.

    Ахах. Ахахах. Ахахахахах.

    "Если [big company name] сделала эту штуку, значит, нам она тоже нужна, ведь там же не дураки сидят! Надо быть на острие прогресса! И в моём резюме будет красиво смотреться!"

    > скакать по 10+ репозиториям и управлять версиями в субмодулях - это еще тот геморрой.

    А это никак не автоматизируется, не? Скриптики какие-нибудь, не?

     

     ....большая нить свёрнута, показать (13)

  • 1.50, Аноним (75), 17:13, 16/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Спасибо, но я пока останусь на проверенной технологии, а sapling-и пусть собирают там шишки
     
     
  • 2.62, Аноним (59), 17:47, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    чтоб мы делали без этой информации
     
     
  • 3.71, Аноним (75), 18:53, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Но ты зашёл, чтоб это почитать, и даже прокомментил.
     

  • 1.57, Трианон (ok), 17:37, 16/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    "Спасибо" за Rust, пока попользуюсь Git.
     
     
  • 2.61, Аноним (59), 17:47, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    держи в курсе
     
     
  • 3.63, Трианон (ok), 17:55, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Рад стараться.
     
     
  • 4.92, Аноним (15), 22:50, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    и меня
     

  • 1.65, Максим (??), 18:19, 16/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Лучше бы юзабилити веб-интерфейса Фейсбука довели хотя бы до уровня ВК, им же невозможно пользоваться совсем...
     
     
  • 2.73, Аноним (75), 18:56, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это забугорный аналог "одноклассников", боятся, что редезигн распугает оставшихся старперов
     
     
  • 3.144, Аноним (-), 15:02, 21/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Это забугорный аналог "одноклассников",

    Тогда битлы это забугорный аналог "рабинович напел". Ну и гадость эти ваши Битлы!

     

  • 1.95, fuggy (ok), 00:10, 17/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Они что переизобрели sparce-checkout с кучей минусов? И clone с параметром depth. Только с автоматическим подтягиванием необходимого, но при этом нужен постоянный интернет, что сводит на нет все плюсы git.
    И выложили только клиент. Умный лог единственная его фича. Скорее всего вся хитрость в серверной части. Потому и клиент написан на питоне с кучей других примесей, ведь на пользователей клиента всем всё равно.
     
     
  • 2.107, Аноним (107), 11:27, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Изобрели LFS для меркуриала, который может работать с гитом.
    > что сводит на нет все плюсы git

    Там где плюсы там и минусы. Жирную репу долго качать. А тут всё автоматом по кусочкам.

     

  • 1.98, Аноним (98), 03:33, 17/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Facebook (запрещён в РФ)

    Это не так. Запрещена мета, а не фб.

     
     
  • 2.102, Вы забыли заполнить поле Name (?), 06:19, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Мета - это бывший фб.
     
  • 2.120, Аноним (120), 18:44, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Запрещены обе.
     
     
  • 3.145, Аноним (-), 15:03, 21/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Однако ватсап в наличии. Ну, логично, законы по понятиям это в духе питерских.
     

  • 1.100, Аноним (100), 05:43, 17/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сдается мне это такая же лажа как у гугла
     
     
  • 2.101, Вы забыли заполнить поле Name (?), 06:18, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это решения для себя как у всех других.
     
     
  • 3.104, Аноним (-), 07:20, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я как-то работал в CBOSS в отделе системы контроля версий. Мужики и не знали, что есть git и svn.
     
     
  • 4.119, Аноним (120), 18:43, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вообще-то знали. Про CVS и SVN (давно это было). Правда, не все.
     

  • 1.105, Аноним (105), 08:08, 17/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Можно ли в РФ использовать ПО запрещенной в РФ организации? Не попадает ли это под спонсирование терроризма?
     
     
  • 2.108, Аноним (-), 11:36, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Почему ваззап можно?
    Требую забанить.
    #яжматеря врагу сливают где чадо навалило. Угрозанацбезу же!
    Требую бан вражьих сервисов!
     
  • 2.146, Аноним (-), 15:05, 21/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А что, сможешь удалить фэйсбучий алгоритм сжатия zstd? Хотя-бы из ядра линукса уже? Но ты можешь назло врагам остаться на 2.6.32 каком, где этого нет.
     

  • 1.109, Аноним (109), 12:39, 17/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Круто! Надеюсь в 2023 году разработчики избавятся от необходимости учить все эти ненужные консольные команды git'а. Сколько лет работаю - ниразу не использовал эту фигню. Столько негатива слышу в свой адрес...
     
     
  • 2.111, Аноним (111), 12:51, 17/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Где, где в visual studio ты вообще видишь какие-то консольные команды гита?
     

  • 1.112, Аноним (113), 12:54, 17/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    "Sapling"... ну и имечко! Русскоязычные 100% уже пришли к слэнгу "я там в Соплю накоммитил!". :))

    Большие репы - по-моему, у них проблема не в размере, а в головах создателей. Нет практически ни одного "большого" ПО, которое нельзя было бы разбить на модули. Даже если вы собираете "один большой экзешник", всё равно составные части легко могут лежать в разных репах. Привычка сваливать всё в один большой каталог (или солюшен) - макакские замашки недоразрабов из одной известной страны.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру