The OpenNET Project / Index page

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

Доступна система управления исходными текстами Git 2.42

22.08.2023 11:12

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

По сравнению с прошлым выпуском в новую версию принято 453 изменения, подготовленные при участии 78 разработчиков, из которых 17 впервые приняли участие в разработке. Основные новшества:

  • Предложен новый алгоритм обхода битовых карт (дисковая структура "reachability bitmaps"), отражающих данные о наборах объектов, доступных для каждого коммита, и позволяющих быстро определить наличие базового объекта для сокращения времени извлечения данных при выполнении таких операций, как "git fetch", "git rev-list" и "git clone" с большими репозиториями. Новый алгоритм обеспечивает заметный прирост производительности в условиях, когда битовая карта полностью не покрывает одну из сравниваемых веток. В некоторых ситуациях применение нового алгоритма может привести к ускорению в 2-15 раз. Для переключения на новый алгоритм следует выставить параметр pack.useBitmapBoundaryTraversal и перепаковать индексы, после чего использовать опцию "--use-bitmap-index" при выполнении "git rev-list":
    
       git repack -ad --write-bitmap-index
       git config pack.useBitmapBoundaryTraversal true
       git rev-list --count --objects --tags --not --branches --use-bitmap-index
    
  • В команде "git for-each-ref" реализован гибкий механизм исключения ссылок из вывода, более удобный и эффективный, чем применение переменной "transfer.hideRefs". Вместо поштучной проверки исключаемых ссылок, новый метод определяет начало и конец каждого исключаемого диапазона, и пропускает их в процессе разбора файла packed-refs. Шаблон для исключения задаётся при помощи новой опции "--exclude". Дополнительно добавлена опция "--include", которая позволяет вернуть отдельные части из исключаемого диапазона. Новый механизм также задействован для формирования списка заявленных для передачи ссылок во время выполнения операции push, при этом в тестах, охватывающих большие списки исключений, применение нового алгоритма позволяло до 20 раз снизить нагрузку на CPU.
  • Добавлен новый механизм для сохранения недостижимых объектов (unreachable object), на которые в репозитории отсутствуют ссылки (не ссылаются ветки или теги) и которые подлежат удалению сборщиком мусора после истечения таймаута. Для сохранения недостижимых объектов добавлен параметр gc.recentObjectsHook ("git config gc.recentObjectsHook /path/to/your/program"), позволяющий настроить вызов внешней программы перед началом сборки мусора ("git gc --prune=<approxidate>"). Указанная в параметре gc.recentObjectsHook программа возвращает список идентификаторов объектов, которые будут защищены от удаления сборщиком мусора, независимо от времени их нахождения в репозитории.
  • Расширено применение механизма частичных индексов (sparse index), охватывающих лишь часть репозитория. Частичные индексы позволяют повысить производительность и сэкономить место в репозиториях, в которых выполняются операции частичного клонирования (sparse-checkout) или осуществляется работа с неполной копией репозитория. В новом выпуске на использование частичных индексов переведена команда diff-tree.
  • В команде for-each-ref расширены средства форматирования ссылок при помощи опции "--format". Появилась возможность вывода информации, связанной с GPG-подписями, например можно отдельно отобразить ключ, слепок ключа и имя разработчика, сформировавшего цифровую подпись.
    
       $ git for-each-ref --format='%(refname) %(signature:key)' \
           --sort=v:refname 'refs/remotes/origin/release-*' | tac
    
       refs/remotes/origin/release-3.1 4AEE18F83AFDEB23
       refs/remotes/origin/release-3.0 4AEE18F83AFDEB23
       refs/remotes/origin/release-2.13 4AEE18F83AFDEB23
    
  • В команде "git rev-list" при использовании опции "--stdin" для упрощения вызова из скриптов разрешено указание через входной поток данных для расширенных модификаторов, таких как "--branches", "--tags" и "--remotes", а не только модификаторов, что ссылаются на коммиты по идентификатору объекта.
  • Реализовано отложенное удаление сообщения $GIT_DIR/TAG_EDITMSG, производимое только после успешной записи тега, что решает проблему удаления примечания до вывода сообщения об ошибке.
  • В команду "git worktree add" добавлена опция "--orphan" для создания рабочего дерева на основе осиротевшей ветки.
  • В команду "git cat-file" добавлен режим "-Z", который в отличие от режима "-z" применяет разделение на основе символов с нулевым кодом (вместо символов перевода строки) не только для входных, но и для выходных данных.
  • В команду "git notes append" добавлена опция '--separator' для выбора разделителя абзацев.
  • В команде "git diff --no-index" реализована возможность чтения из именованных каналов ("git diff <(process) <(substitution)").


  1. Главная ссылка к новости (https://lkml.org/lkml/2023/8/2...)
  2. OpenNews: Доступна система управления исходными текстами Git 2.41
  3. OpenNews: Уязвимости в Git, позволяющие перезаписать файлы или выполнить свой код
  4. OpenNews: Уязвимости в Git, приводящие к утечке и перезаписи данных
  5. OpenNews: Выпуск git-совместимой системы управления версиями Got 0.80
  6. OpenNews: Две уязвимости в Git, способные привести к удалённому выполнению кода
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/59639-git
Ключевые слова: git
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (125) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 11:23, 22/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    VCS здорового человека.
     
     
  • 2.2, Jony (??), 11:28, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Fossil
     
     
  • 3.6, User (??), 12:06, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Неее... fossil - это такой gitlab-на-минималках, и по большому счету ни в роли vcs ни в роли соцсеточки-для-разработчиков он работать не может. Для первого активно не хватает собственного тулинга и\или интеграции с имеющимися инструментами (Не то, что "типовой CI\CD" - банально интеграции с IDE нет), для второго... ну, примерно всего.
     
     
  • 4.8, 12yoexpert (ok), 12:08, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    эээ, зачем в ide интеграция с git? как вообще можно гитом через gui пользоваться?
     
     
  • 5.10, Anon62513512124 (?), 12:23, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Да как бы... если pet-проект, то gui нафиг не нужнен.
    А если команда разработчиков с 7+ feature-ветками - без гуев туго становится.
    Можно конечно и через консоль, но неудобно
     
     
  • 6.29, 12yoexpert (ok), 16:05, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Можно конечно и через консоль, но неудобно

    попробуй ещё раз, в консоли миллион удобных инструментов для работы с git, и вот как раз на больших проектах это имхо удобнее gui

     
     
  • 7.32, Chode McBlob (ok), 16:18, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Огласите весь список, пжалста...
    Желательно доступных на MacOS
     
     
  • 8.34, 12yoexpert (ok), 16:26, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    погугли что-нибудь типа git awesome cli... текст свёрнут, показать
     
  • 8.148, Аноним (-), 03:52, 26/08/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 5.14, User (??), 13:06, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +10 +/
    > эээ, зачем в ide интеграция с git? как вообще можно гитом через
    > gui пользоваться?

    Действительно. Зачем в "интегрированной среде разработки" нужны средства автоматизации и интеграции с, собственно, элементами процесса разработки? Ерунда какая-то...

     
     
  • 6.30, 12yoexpert (ok), 16:06, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    нюанс в том, что гуй для гита сложно сделать хорошо, плюс в каждой ide он разный, а консоль везде одна
     
     
  • 7.31, User (??), 16:11, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Совершеннейшая правда. GUI для git задача титаническая и неподъемная, а вот для того, очень-очень-скромного подмножества его возможностей, которое IRL используется программистами на ежедневной основе - оч-чень даже решаемая и жизнь изрядно упрощающая.
     
     
  • 8.100, Аноним (100), 21:35, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В разработке от гита тебе нужно всего пару действий, которые прекрасно укладываю... текст свёрнут, показать
     
     
  • 9.154, Аноним (154), 14:54, 31/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то именно это он и написал ... текст свёрнут, показать
     
  • 7.33, Аноним (33), 16:18, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А не надо пытаться сделать хорошо всё. Надо сделать хорошо то, где интеграция с IDE даёт преимущества. А для остального есть консоль.
     
  • 5.115, Аноним (115), 02:53, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну push/pull/stash/merge/checkout действительно удобнее из консоли ручками, особенно когда на двух-трехбуквенные шорткаты повесил. А вот смотреть содержимое коммитов, слияния веток, конфликты решать - GUI онли. Попробовал этот ваш git log/git diff - абсолютное гуано, лишенное наглядности. Не, в экстремальных ситуациях, по типу звонка от начальства, что прод лег, когда ты в отпуске в сельской местности, и в наличии только Андроид с SSH-клиентом - пойдёт. Но в целом шляпа.
     
  • 5.141, IRASoldier_registered (ok), 21:39, 24/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Элементарно можно и удобно. Не надо прыгать из редактора в консоль и обратно, всё под рукой тут же. Попробуй Sublime Merge, если, конечно, религия не запрещает и проклятия Столлмана не боишься.
     
  • 3.7, 12yoexpert (ok), 12:07, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    выглядит прикольно. git я не осилил, попробую это
     
     
  • 4.61, Аноним (61), 18:35, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А зря не осили. Всё-таки industry standard.
     
  • 4.142, IRASoldier_registered (ok), 21:40, 24/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А ты осиль. Потому что гит используется фактически повсеместно, за вычетом полутора фриков.
     
  • 4.152, Аноним (-), 23:51, 29/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > выглядит прикольно. git я не осилил, попробую это

    И будешь перекидываться там кодом сам с собой? Удачи, много накодишь.

     
  • 3.132, Аноним (132), 11:02, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >Fossil

    Не. Fossil - это драйвер модема под DOS, позволяющий работать с буфером FIFO.
    Это вам каждый фидошник скажет.

     
  • 2.3, Аноним (3), 11:57, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Скорее курильщика. Но при этом к сожалению очень сильно распиаренная.
     
     
  • 3.4, User (??), 12:02, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну в общем да - но тут как с "демократией" - да, *вно, но лучше ничего нет - и скорее всего уже не будет, т.к. поляна вытоптана мало, что не полностью.
     
     
  • 4.130, Аноним (130), 10:27, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Социал-демократия лучше. А ещё лучше - коммунизм. Но кто к *вну принюхался, тому другого и не надо.
     
     
  • 5.133, User (??), 12:42, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А социал-дарвинизм - вообще замечательно. Никто идиотских камментов не пишет, цЫтаты вождей-и-учителей узнает, вот это вот всё.
     
  • 3.25, Аноним (25), 15:50, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Дододо, прям миллиарды потрачены на рекламу git, она на каждом втором биллборде и аж по первому каналу крутится.

    Солнышко, он распиарен не больше чем любой качественный, успешный и признанный сообществом открытый проект на голову опередивший конкурнтов.

    > Скорее курильщика

    Так может сказать только тот кто не смог освоить фундаментальный для разработка и очень простой инструмент.

    > к сожалению

    А это говорит что ты не рад популярности качественного СПО, т.е., очевидно, ты ещё и проприетарщик-вредитель.

     
     
  • 4.27, User (??), 16:01, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Дододо, прям миллиарды потрачены на рекламу git, она на каждом втором биллборде и аж по первому каналу крутится.

    Да не, просто миллионы идиотов из каждого третьего комментария, посвященного VCS орут, как они АСИЛИЛИ ГИТ, после чего их волосы стали длинными-и-шелковистыми, ничего лучше в мире нет, и быть не может просто потому, что - а кто не согласен, тот "НИАСИЛИЛ" и про "проприетарщик".
    Все просто.

     
     
  • 5.35, Аноним (35), 16:31, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Версионируй архивами на дискетах никто тебе не мешает. Профессионал ты наш.
     
     
  • 6.39, User (??), 16:36, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    "Ложная дихотомия"? Не, не слышал...
     
     
  • 7.72, Аноним (61), 18:56, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Думаю, это скорее был намёк на "критикуя - предлагай"
     
     
  • 8.74, User (??), 19:05, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Неее намеки от фанбоев - это слишком тонко, тем более что по поводу предла... текст свёрнут, показать
     
     
  • 9.86, Аноним (35), 20:26, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Т е к тебя критика ради критики Старческий маразм или альцгеймер уже ... текст свёрнут, показать
     
  • 7.101, Аноним (25), 21:56, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну ты же альтернативы не предложил чтобы была не ложная? И ведь не предложишь.
     
  • 5.71, Аноним (25), 18:56, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Все просто А я вот вижу что вы лжёте, потому что орут исключительно те кто не ... большой текст свёрнут, показать
     
     
  • 6.76, User (??), 19:10, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А смысл с вами, зайками, общаться? Вы-ж одинаковые все, "асиливание" git'а\vim'а\bash'а\сей как часть позитивной самоидентификации - твое "солнышко", рыбонька - тут лучший маркер, в палату-мер-и-весов может еще и рано, а на стойку "Магнита" в качестве "контрольного прибора" уже самое оно.
     
     
  • 7.80, Аноним (61), 19:35, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Аноним (25) вам очень грамотно ответил, я бы даже сказал, раскатал. Аргументированно, по пунктам, с примерами. А вы что в ответ? "Зайки", "вы все одинаковые", "на стойку Магнита". Никаких аргументов, как и раньше, одни оскорбления.

    Гордитесь своим ниасиляторством? Это же как-то тупо. Оскорбляете тех, кто осилил Гит и использует его в своей работе? Тоже непонятно зачем.

     
     
  • 8.84, User (??), 20:17, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А смысл гордиться не знанием git а Для меня это не часть самоидентификации ... текст свёрнут, показать
     
     
  • 9.104, Аноним (25), 22:33, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так а для чего ты сюда припёрся Смотри, человек приходит в автосервис и говорит... большой текст свёрнут, показать
     
  • 9.105, Аноним (25), 22:44, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так а для чего ты здесь пишешь Смотри человек приходит в автосервис и говорит ... большой текст свёрнут, показать
     
     
  • 10.117, Аноньимъ (ok), 04:43, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Мне кажется, вам к психиатру нужно ... текст свёрнут, показать
     
  • 7.143, IRASoldier_registered (ok), 21:48, 24/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ты божий дар с яишницей не путай. Git - таки реально промышленный стандарт, используемый от мегакорпов до стартапов из пары нубов. А вот vim - таки ни разу не показатель ничего вообще, кроме - иногда - принадлежности к снобистской субкультуре олдфагов, а так - ну просто странная штуковина, имеющая свой круг любителей, кстати - не обязательно из упомянутых "фуууу, любители GUI умственно отсталые, vim делает сверхчеловеком, а вы все фуфло". Bash - вообще ни первое, ни второе: в принципе, без него под Linux жить можно и даже хорошо жить, но иногда возникает необходимость что-то подкрутить и допилить и без пары-тройки скриптов разной степени сложности хорошо жить уже просто не получится.
     
  • 7.151, voiceofreason (?), 10:59, 27/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Даже чёрт с ним, что подобные дурачки просирают свою жизнь на бесполезные/неоптимальные/глупые вещи. По этим дурачкам потом судят обо всех линуксоидах и об айтишниках в целом :(
     
  • 4.81, Аноним (-), 19:53, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Справедливости ради гит это офигенный инструмент в отвратительным интерфесом которые вообще не дает понять то какие возможности у этого инструмента есть, а переделать нельзя потому что обратная совместимость. Поэтому многие программисты и не только запоминают несклько комманд как мантру и потом не понимают почему оно не работает (в том числе потому что не читают вывод гита где обычно сказано какие именно команды могут пофиксить ситуацию).
     
     
  • 5.99, Аноним (100), 21:32, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Гит это оверинжиниринг. Совершенно ненужное звено в разработке, которое лишь усложняет весь процесс.
     
     
  • 6.106, Аноним (25), 22:44, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Процесс чего?
     
     
  • 7.110, Аноним (110), 23:22, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Разработки какого-нибудь стартапа, который всё равно в 90% случаев через год-два прогорит.
     
     
  • 8.144, IRASoldier_registered (ok), 21:49, 24/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    И откуда известно, что прогорит Дяди из Госплана сказали - ... текст свёрнут, показать
     
  • 6.116, Аноним (115), 03:00, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    а что в гите сложного? у него мб под капотом "оверинжиниринг" в реализации, но с точки зрения программистского UX - он тупой и прямолинейный. Есть ветки. Есть коммиты. Можно заливать изменения в репозиторий, можно их оттуда получать. Можно делать слияния веток. Ну и всё. А "сложно"-то где?
     
     
  • 7.119, Аноним (119), 05:28, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Есть ветки. Есть коммиты. Можно заливать изменения в репозиторий, можно их оттуда получать. Можно делать слияния веток.

    А ведь можно просто клацнуть правой кнопкой мыши -> новая папка. Ни разу не сарказм.

     
     
  • 8.146, К.О. (?), 08:32, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Синхронизировать директории по ftp, сравнивать каждый файл руками, описывать изм... текст свёрнут, показать
     
  • 2.16, Аноним (16), 13:40, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Точно! Нужно иметь много здоровья и нервов в запасе, чтобы пользоваться этим поделием.
     
     
  • 3.21, Аноним (21), 14:54, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А на безопастном язычке ещё не написали замену совместимую по формату хранения репозитория?
     
     
  • 4.36, Аноним (35), 16:32, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не могут разобраться какое время жизни у какого указателя.
     
  • 3.52, Аноним (52), 17:35, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем пользоваться если можно не пользоваться? Любая работа должна приносить удовольствие, если что-то не нра, срочно менять род деятельности.
     
  • 3.63, Аноним (61), 18:40, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А у меня Гит не тратит здоровье и нервы, что я делаю не так? Наверное что-то более продуктивное, чем нытьё на форумах.
     
     
  • 4.123, User (??), 07:14, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Предполагаю, что "не пользуетесь" - а пользуетесь github'ом\gitlab'ом\ide, отдельным gui'ём, который вас основательно от собственно "git'а" изолирует и делает его плюс-минус юзабельным.
    Для меня основательный показатель то, что за последние лет примерно 10 я _не вижу_ примеров, когда люди бы использовали для работы со своими проектами именно "голый git" - обычно даже в совершеннейших интранетах с микрокомандами и\или для pet-проектов делают "более другую" обертку над и\или используют нескушные облачка.
     
  • 2.41, Аноним (16), 16:47, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +5 +/
    В гите главное - помнить, какие десять ключей нужно выставить очередной команде, чтобы она сделала именно то что от нее ожидают.
     
     
  • 3.46, Аноним (52), 17:29, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    В коммерческой разработке никто уже давно не пишет руками эти команды. Всё реализовано через плагины к известным IDE.
     
     
  • 4.55, User (??), 18:01, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это вам к кунг-фу панде выше - он убедительно объясняет, что интеграция с ide не нужна и гуй тоже нинужен
     
  • 3.66, Аноним (61), 18:47, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если у вас такая уникальная команда, что вам аж 10 ключей нужно - запишите их на бумажке. А ещё лучше - сделайте alias.
     
  • 3.77, Аноним (77), 19:10, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    текстовый файлик тебе в помощь!
    он точно будет запускаться в любой среде (если не нафакапишь с кодировками)))
     
  • 2.112, лютый арчешкольник... (?), 23:28, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >VCS здорового человека.

    а меня и tar устраивает

     
     
  • 3.149, Аноним (-), 05:01, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >>VCS здорового человека.
    > а меня и tar устраивает

    Git из-за дельта-компрессии в цать раз меньше места занимает, быстрее распаковывается, дифф показывает сразу. А на bisect в тарболах я бы вообще посмотрел. Не то чтобы так совсем нельзя но это ж самому придется все делать.

     

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

  • 1.5, 12yoexpert (ok), 12:06, 22/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    я ещё первой не научился пользоваться, а тут уже 2.42
     
     
  • 2.64, Аноним (61), 18:41, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Да никому особо не интересно, чему ты там научился или не научился
     

  • 1.9, Аноним (9), 12:22, 22/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Лишь бы на SHA256 не переходить.
     
     
  • 2.11, zog (??), 12:34, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да, с SHA256 они лоханулись. Оно как бы есть, но на самом деле нет. Долгострой какой-то.
     
     
  • 3.12, BratishkaErik (ok), 12:46, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Как раз в этой версии теперь выдаёт меньше предупреждений при использовании SHA-256 :)

    > Tone down the warning on SHA-256 repositories being an experimental curiosity. We do not have support for them to interoperate with traditional SHA-1 repositories, but at this point, we do not plan to make breaking changes to SHA-256 repositories and there is no longer need for such a strongly phrased warning.

     
     
  • 4.145, zog (??), 05:09, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Что толку от менее громких предупреждений? В реальности поддержка SHA-256 в Git недоделана.
     
  • 2.50, Аноним (52), 17:33, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > SHA256

    И как только раньше без этой тряхомудии жили?

     
     
  • 3.82, Аноним (82), 19:56, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Надо вообще xxHash юзать. Как же мы раньше без криптографии жили? Зато паяльникможно было не применять.
     

  • 1.13, Ан (??), 13:05, 22/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Интересно кто на таком уровне работает с git? У меня абсолютно базовые вещи, ничего из описанного не ожидал. Кто использует for-each-ref или git cat-file?
     
     
  • 2.15, Аноним (15), 13:27, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • –6 +/
    На каком уровне? Вроде всё достаточно базовое. Когда впервые его крутил, это был черрипик в одной зависимостей и сборка без определённых коммитов. Во второй мне захотелось чтобы локальным данным было выставлено реальное время модификации и там уже вот это вот всё из новости пришлось искать. Всё зависит только от фантазии. Если её нет, то и фичи не пригодятся.
     
  • 2.17, Аноним (16), 13:42, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это не для вас сделано. Вообще в этом бинарнике все сделано как не для людей.
     
  • 2.26, Аноним (25), 15:53, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Эти низкоуровневые команды вызываются из более привычных, например, log и show, их не нужно напрямую вызывать. Соответственно, из-за их ускорения ускорятся и log с show и всё остальное.
     
     
  • 3.67, Аноним (61), 18:49, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Грамотный ответ по существу!
     
  • 2.45, Аноним (52), 17:21, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Интересно кто на таком уровне работает с git?

    Примерно никто. 90% команд гита можно смело в утиль если ты не являешься разработчиком самого гита.

     
  • 2.114, Ivan_83 (ok), 00:49, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Я использую.

    У меня в гитее git hook юзается чтобы чекать коммиты перед тем как их принять, там питон на синтаксис проверяется, всё руки не дойдут прикрутить cppcheck для .с файлов.

    И там кроме git cat много всякой нетривиальщины юзается.

     

  • 1.24, Аноним (24), 15:48, 22/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Когда там rhg до ума доведут?
    Гит провоцирует бардак и развязывает руки по части манипуляции историей.
     
     
  • 2.28, User (??), 16:03, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Боюсь, что как и с другими r-проектами ответ примерно "никогда".
     
  • 2.38, Аноним (35), 16:35, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Никогда.
     
  • 2.40, Аноним (40), 16:45, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Именно потому, что в hg есть эти бессмысленные ограничения, он и не взлетел. Любая программа должна хорошо делать две вещи: свою работу и вовремя убраться с дороги. Фантазии о какой-то особой ценности истории в разработке оставьте фантазёрам. Остальным надо работу работать.
     
     
  • 3.42, User (??), 17:00, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как вам иммутабельная история работу работать мешает? Тут скорее чистая психология сроляла - очень уж не нравится человекам, когда "глупость каждого видна была" - ещё и вечно? Не, ну нафиг. Т.е. понятно, что все лажают - в том числе и глупейшим образом, но постоянно иметь этому подтверждение?
    А так - ахаляй-махаляй, в репу пушай - и не было ничего.
     
     
  • 4.57, Аноним (57), 18:14, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А вы можете объяснить, зачем в репе хранить лажу? Вечно. И потом её выгружать.
     
  • 4.59, Аноним (61), 18:31, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В Hg история не более иммутабельна, чем в Git. Смотрите MQ и HistEdit.

    И соглашусь с соседним комментатором, не надо в репе хранить лажу, а в истории мусор, типа "minor comment fix". Чем больше проект - там больше он со временем замусоривается. На маленьких, конечно, это меньше видно. На больших проектах со временеи становится трудно читать историю, особенно если она замусорена.

     
  • 4.65, Аноним (40), 18:46, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я про фантазёров выше написал. Взрослым людям себя стесняться стеснительно, а с детьми работать я не нанимался. Проблема не с воображаемой глупостью, которую видно вечно, а с тем, что нет никакого смысла в километрах однообразных wip-коммитах, интересен только конечный результат. А через какие тернии туда дошла мысль разработчика мне как погонщику мало интересно. Коммиты, которые нужно хранить вечно и нельзя менять подписаны. Остальное онанизм.
     
     
  • 5.68, Аноним (61), 18:51, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Поддерживаю
     
  • 5.85, User (??), 20:23, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да и я не то, чтобы возражал - но вот реальной прям боли от "грязной" истории у меня не было, а с "психологическими моментами" редких комментов сталкивался лично (Что прикольно - и в гите тоже, у джунов-девопсов - мол, чойта я это комиттить буду, "дуракам-и-начальникам-половину-работы-не-показыают", вот заведется нормально - тогда и...).
     
     
  • 6.102, Аноним (40), 22:08, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так джуны на то и джуны, чтобы их старшие товарищи учили уму-разуму, в том числе и таким вот косвенным вещам. Hg тут, к слову, со своей особо ценной историей никак не помогает. Так что коммить, дорогой, сколько хочешь, в конце всё равно сквош и никто не увидит, как ты с четырёх коммитов так и не смог правильно напечатать слово vulnerability.
     
     
  • 7.109, Аноним (110), 23:19, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Где ты джунов видел в последний раз? Сейчас chatgpt и bard заменяют любого джуна... бесплатно. У нас полгода назад почти всех их сократили, некоторым повезло и их перевели на позиции миддлов.
     
     
  • 8.127, Аноньимъ (ok), 08:29, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    С ужасом ожидаю первые волны ПО созданного этими чудесами прогресса Вспомнился ... текст свёрнут, показать
     
  • 7.120, User (??), 06:57, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Так не то, что "не помогает" - а прямо даже и "вредит" - о чем я и. Не то, чтобы это было "единственной" или хотя бы "главной" причиной эволюционного проигрыша (Там, например, еще и python2 изрядно потоптался) - но свою лепту несомненно внесло.
     
  • 4.113, Аноним (113), 00:18, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А ты что, не хозяин своему коду и проекту, чтоб менять его так, как тебе хочется? Что за тупое ограничение - запушил раз и все, навсегда. В git'е это не приговор, ты волен делать со своим кодом что хочешь, в том числе и с уже запушенным.
     
     
  • 5.126, Аноньимъ (ok), 08:15, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В смысле своего кода и проекта?
    Хеллов верда?
    А если над твоим проэктом работает много разных людей?
     
     
  • 6.147, Аноним (147), 13:18, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А эти много людей сразу в master пушат что ли?
     
  • 4.150, Аноним (-), 05:13, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Как вам иммутабельная история работу работать мешает? Тут скорее чистая психология сроляла
    > - очень уж не нравится человекам, когда "глупость каждого видна была"
    > - ещё и вечно? Не, ну нафиг. Т.е. понятно, что все
    > лажают - в том числе и глупейшим образом,

    Раньше были микроконтроллеры однократно прошиваемые. Мол, 1 раз отладился на перешиваемом а потом шьешь килограммами однократки. Но как оказалось даже на солнце бывают пятна, а в фирмварях баги. А отправлять тысячи выпущенных девайсов под пресс - эвона как накладно. А если еще удастся выдать патч клиенту чтоб он "в поле" перешился вместо напряга сервиса - вообще ЗБС!

     
  • 3.118, Аноньимъ (ok), 04:51, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Например чтобы посмотреть кто и когда бекдор в код вставлял.

    И что делать с вопросами авторства кода вообще?

     
     
  • 4.121, User (??), 06:58, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А git !внезапно! эти вопросы не решает. Ни права доступа, ни авторство - ничего. Нет, где-то там сбоку костыли понатыканы, но там столько грабель - что нуигонафик...
     
     
  • 5.125, Аноньимъ (ok), 08:11, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > А git !внезапно! эти вопросы не решает. Ни права доступа, ни авторство
    > - ничего. Нет, где-то там сбоку костыли понатыканы, но там столько
    > грабель - что нуигонафик...

    Э? В смысле? То есть, а в чём тогда смысл вообще?

    Я сонный и немного не в себе, но, в чём смысл?

    Загуглил, SVN позволяет автора ставить.

    Это какой-то саботаж индустрии?
    Это просто glorified папка с чексуммами?

     
     
  • 6.128, User (??), 09:07, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Эммм ну да В модели разработки ядра с обменом коммитами через емыло оно бы... большой текст свёрнут, показать
     
     
  • 7.129, Аноньимъ (ok), 10:21, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Почитал. В гитхабе вообще муть, можно от имени кого угодно комиты слать, вроде немного подлатали после того как с утубдл все подписались сео гитхаба.
    Ещё и е-мейл зачем-то в качестве ацдентити используют.
    Странно.

    Пжп вроде как логично, но все равно странно.

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

     
  • 2.75, Аноним (25), 19:07, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Гит провоцирует бардак и развязывает руки по части манипуляции историей.

    Нет, бардак возможен только когда манипуляций с историей не было. Тогда получаются ужасы типа цепочки WIP коммитов где константа подбиралась или опечатки исправлялись, или мегакоммиты которые сразу полпроекта меняют. А вот когда история почищена, коммиты склеены/разбиты на обозримых размеров топиковые изменения и они упорядочены в логическом порядке, тогда она становится и документацией, и неоценимой помощью при ретроспективном дебаге и средством переноса изменений между проектами.

     
     
  • 3.107, пох. (?), 22:54, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Тогда получаются ужасы типа цепочки WIP коммитов где константа подбиралась или опечатки

    гораздо лучше, конечно же, когда константа падает с неба и не видно что она именно подбиралась?

    > или мегакоммиты которые сразу полпроекта меняют.

    как от этого помогает гит?
    (и разумеется с подбором константы у тебя то же самое, ведь в комменты надо написать что-то типа "WIP" вместо "предыдущая попытка неудачна тем-то, попробуем еще раз")

    > А вот когда история почищена, коммиты склеены/разбиты

    и _подтасованы_ (потому что пресловутая константа на самом деле подбиралась на совсем-совсем другой
    версии исходников, но вместо merge разумеется был rebase и ты этого не видишь)

    То никакого смысла в этой истории не остается. Проще уж было бы хранить "новая папка 22".

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

    Просто "всех так учили". Учили бы их создавать новые папки - они бы создавали новые папки.
    Но обезьянок научили push и rebase.

     
     
  • 4.138, Аноним (57), 12:24, 24/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > гораздо лучше, конечно же, когда константа падает с неба и не видно что она именно подбиралась?

    Гораздо лучше, когда в коде рядом с константой комментарий, в котором написано, что она подобрана исходя из таких-то и таких-то условий и параметров. И один коммит, в котором это всё появилось, с нормальным описанием. А десяток коммитов а-ля "1"-"2"-"3" (потому что у автора уже фантазия кончилась писать более развернутые описания к одинаковым коммитам) бесполезны.

     
     
  • 5.139, пох. (?), 20:46, 24/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    эта надпись означает что подобрана она на самом деле с первой попытки и да, здорово что ты можешь описать почему.

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

    А если как обычно никто и никогда не смотрит в историю вообще - то можно было и не стараться.

     
  • 2.131, пох. (?), 10:45, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Когда там rhg до ума доведут?

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

    Щастя, здоровья и держитесь там.

    Больше даже шансов что кучу мусора имени мордокниги кому-то удастся форкнуть и собрать работающее нечто, чем ЭТО.

    А пока - рекомендую возвращаться к истокам, то есть тьфу, svn. В петпроектах (где еще тебе позволят использовать не гит?) вполне можно и прожить без распределенной vcs.

    Ну или пефорса если ты счастливый житель не-РФ - но всегда останется риск внезапного банкротства или повышения цены до неприемлемого уровня. И твой репо - тыква.


     
     
  • 3.136, Аноним (24), 19:32, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Так rhg и есть дитя мордокниги?
    Раст конечно раст, но всяко лучше бывшего до этого питона.
     
     
  • 4.137, пох. (?), 19:47, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    rhg это внебрачное дитя непосредственно разработчиков hg. Ну то есть текущих разработчиков, которые двадцать лет не могли ничего разработать, создатель давно почил в бозе... или в пицце.

    https://github.com/facebookarchive/mononoke - это вот выкидыш мордокниги. Уже даже зак0пали, как видишь.

     
     
  • 5.140, Аноним (24), 21:29, 24/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Печаль.
     

  • 1.43, Аноним (52), 17:19, 22/08/2023 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –3 +/
     
     
  • 2.49, Аноним (1), 17:32, 22/08/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.54, Аноним (16), 17:58, 22/08/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 3.78, User (??), 19:12, 22/08/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 2.58, Аноним (-), 18:22, 22/08/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.69, Аноним (40), 18:51, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Но про альтернативы ты не расскажешь, потому, что их нет, так?
     
     
  • 3.122, User (??), 07:00, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну, в мире есть много объективно _плохих_ вещей, которым de-facto нет альтернативы. Мир он вообще такой.
    Наше дело - без нужды это самое "плохое" не множить и, самое главное, по причине отсутствия альтернатив "хорошим" не называть
     
  • 2.70, Аноним (61), 18:54, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если вы устали повторять эту чушь - может стоит прекратить её повторять?
     
  • 2.73, Аноним (25), 18:58, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Я уже устал повторять что гит не нужен

    Окей. Но ты не останавливайся.

    > гит это лишняя прослойка

    Между чем и чем? Как работать с кодом без неё, или чем её заменить?

    > которая только усложняет всё.

    Что всё? Что будет проще без неё?

     
     
  • 3.79, Аноним (77), 19:15, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    наверное между кодом и гениальнейшим Анонимом (47)
    пока все плебеи используют гит, наш светоч пограммирования справляется и так
     

  • 1.88, Аноним (-), 20:50, 22/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ну вот _гит пулл_ _мейк мейк инсталл_ чё-нить полезного я освоил а вот наш, п... большой текст свёрнут, показать
     
     
  • 2.89, Аноним (-), 21:05, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    я к чему вообще, как эт в реале-то вообще работает - старший пуши эти потом оценивает и мержит, ок, понимаю, ну а ребята-то нормально как организовываются? ну тот же ирк, тип, вот эт - моё/работаю? а если с одним файлом разные задачи отрабатываются - плохая организация кода совсем значит? а мод бд - тот же старший должен обслуживание после мержа запускать, и по рукам бить если дамп не сделал?))

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

     
     
  • 3.134, пох. (?), 14:28, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В реале это работает как-то.
    Например, никакой старший разумеется ничем таким в нормальных местах не занимается персонально. А вот назначать подзадачи исполнителям и п-дить их дубиной если не вовремя (даже если изначально разбиение большой работы на них было общим базаром) - да, должен лид.

    > а если с одним файлом разные задачи отрабатываются

    то для этого как раз нужен merge/rebase

    Для остального есть волшебные слова issue manager и code review (механизм последнего может быть интегрирован в первое, как у модных хапов-ляпов, а может быть совершенно отделен как у немодного нынче phabricator) А вот модные crm тут чаще не при делах, у них с интеграцией с кодом плохо и с review еще хуже, или надо сесть и дописать половину - проще выбросить.

    И если комит не содержит issue number - то либо у нас пацанам верят на слово и ты идешь сам в issue его упоминать и в review системе объяснять зачем он такой тут нужен, а лид потом гоняется с дубиной за тем кто замотался и забыл, либо просто комит-хук дает тебе по балде и отправляет переделывать, пока не напишешь в комменте "closes #2346" (второе обычно неудобно и работает только для однострочных правок).

    > а мод бд

    а структура бд лежит в том же проекте. И комит включает в себя DDL команды тоже, поскольку со старой базой новый код чаще всего и не работает.

     
  • 2.124, leap42 (ok), 07:22, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вам бы поспать)

    Ну и перейти хоть на gitea и xtrabackup)

     
     
  • 3.135, пох. (?), 14:30, 23/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    gitea ему совершенно не поможет. И xtrabackup тоже.

    У них распределенная система хранения (что ценно) но явно нет ни ревью ни нормального таск-листа.

     

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



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

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