LINUX.ORG.RU

Почему git такой жирный и насколько он в действительности портабелен?

 , , ,


0

3

На GNU/Linux и macOS проблем с git нет, кроме веса пакета и неповоротливости на слабом железе, а на венде проблемы ограничиваются этим только на первый взгляд. Если копнуть чуть глубже, окажется, что на самом деле git работает на венде не нативно, а использует MSYS2, который тащит за собой кучу бинарников, раньше так вообще единственным вариантом был cygwin.
Всех устраивает этот вопиющий костыль? Никто не осилил собрать git в той же вижуалстудии? А виноват, скорее всего autotools.
Сейчас глянул несколько клиентов: в большинстве дистрибутивов пакет git в распакованном виде занимает около 35Мб и имеет в зависимостях жирный перл, примерно так же обстоят дела на FreeBSD, Solaris и macOS, официальный же клиент для Windows основан на MSYS2 (форк Cygwin), весит этот клиент более 250Мб, вижуалстудия использует официальный клиент, GitHub Desktop вообще основан на электроне...
Я просто не понимаю, почему нет альтернативных реализаций? Ведь есть же libgit2 — лёгкая и портабельная библиотека! Неужели никто до сих пор не сделал на ней лёгкий и портабельный клиент? Или всех устраивает тяжёлый и неповоротливый?

★★★★★

Последнее исправление: CYB3R (всего исправлений: 1)
Ответ на: комментарий от andreyu

Сам git невелик, жрет msys (minimal system, а не форк cygwin).

MSYS2 жрёт только место на диске, по процессорному времени и памяти от него оверхед небольшой. И да,

MSYS2 is an independent rewrite of MSYS, based on modern Cygwin (POSIX compatibility layer) and MinGW-w64

CYB3R ★★★★★
() автор топика

Иди в винду.

anonymous
()
Ответ на: комментарий от CYB3R

MSYS2 жрёт только место на диске,
по процессорному времени и памяти от него оверхед небольшой. И да,

И где я утверждал обратное?

MSYS2 is an independent rewrite of MSYS, based on modern Cygwin (POSIX compatibility layer) and MinGW-w64

«Based on» и «Fork of» - несколько разные понятия. Не?

andreyu ★★★★★
()

Всех устраивает этот вопиющий костыль?

Устраивает, очевидно. Что ты хочешь от виндузятников? Чтобы они что-то разрабатывали в опенсорц?

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от mandala

Gidder

не протух ли он с 12 года ?

и всеже не пойму как он должен работать, команда git в консоле андроида не появилась

x905 ★★★★★
()
Ответ на: комментарий от x905

ХЗ, не пробовал коммитить. Да и глупо бы выглядело это со смартфона, наверное. Но если нужен полноценный git, то в Termux apt install git и вперед.

aquadon ★★★★★
()
Ответ на: комментарий от x905

и всеже не пойму как он должен работать, команда git в консоле андроида не появилась

Кто мешает поставить?

aquadon ★★★★★
()
Ответ на: комментарий от CYB3R

мне консольный нужен

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

annulen ★★★★★
()
Последнее исправление: annulen (всего исправлений: 1)

Лично меня не только устраивает, но и радует, что официальный же клиент для Windows тянет MSYS2. Не нужно его отдельно ставить.

German_1984 ★★
()
Ответ на: комментарий от xDShot

openssh поставил, но пока с доступом проблемы
неудобно работать в termux с телефона, мелко и клава неудобная

а ведь ssh уже есть в виде sshdriod - нельзя ли из него «запустить» termux и далее настраивать удаленно ?

x905 ★★★★★
()
Ответ на: комментарий от x905

пока с доступом проблемы

Какие конкретно?

неудобно работать в termux с телефона, мелко и клава неудобная

Еще бы, телефон же.

Попробуйте Hacker's Keybord клавиатуру.

sshdroid

Через termux нет.

xDShot ★★★★★
()

На GNU/Linux и macOS проблем с git нет, кроме веса пакета и неповоротливости на слабом железе

неповоротливости на слабом железе

Не знаю как у вас, но я никогда не испытывал тормозов клиента гит. На винде, конечно, всё очень плохо.

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

a1batross ★★★★★
()
Ответ на: комментарий от x905

Ну можно форки посмотреть и другие проекты поискать. Сам я termux юзаю, но гит-сервер на андроид сам не ставил, юзаю как клиента.

mandala ★★★★★
()
Ответ на: комментарий от xDShot

пока с доступом проблемы

Какие конкретно?

не пускает )
да и какой юзер мне еще не ясно
чуть позже попробую еще раз

x905 ★★★★★
()

msvs 2015 использовала libgit2 в качестве плагина к студии — тормоза на больших проектах и массовых изменениях в ветках только в путь,в msvs2017 ms одумались перешли на git.exe

lberserq
()
Ответ на: комментарий от CYB3R

Its code base derived from https://github.com/vfr-nl/git2/ (thanks to Vincent van Ravesteijn and Motiejus Jakštys), from which it was forked to https://github.com/Romain-Geissler/git2.git. It was then forked by Chris Young to https://github.com/chris-y/git2.git, which is the direct parent of SimpleGit.

Как у наших у ворот
Бобик Шарика форкает
А потом наоборот
Шарик Бобика форкает

thesis ★★★★★
()
Ответ на: комментарий от a1batross

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

А вот это интересно. Я думал что проблема заключается в NTFS и ущербном кэшировании файловой системы

annulen ★★★★★
()
Ответ на: комментарий от xDShot

получилось вызвать git без необходимости sshd сервера в рамках termux - для этого создан файл:

echo "LD_LIBRARY_PATH=/data/data/com.termux/files/usr/lib /data/data/com.termux/files/usr/libexec/git-core/git \$@" > /data/local/bin/git

при этом /data/local/bin/ находится в PATH
буду дальше разбираться понемногу

зы sshd сервер «рамках termux » почему то сам выходил при попытке авторизации, разбираться не стал

x905 ★★★★★
()
Ответ на: комментарий от annulen

WSL сам по себе оверхеда почти не имеет. Я и не могу сказать, что есть какая-то разница в скорости.

Возможно стоит попробовать на чём-то покрупнее.

a1batross ★★★★★
()

Или всех устраивает тяжёлый и неповоротливый?

Просто все пользуются Linux. А виндузятники - изначально страдальцы. Им не привыкать.

th3m3 ★★★★★
()
Ответ на: комментарий от a1batross

WSL сам по себе оверхеда почти не имеет. Я и не могу сказать, что есть какая-то разница в скорости.

Я не понял, нет разницы в скорости между виндовым клиенто и wsl, или между wsl и линуксом на той же машине?

annulen ★★★★★
()

Мне неудобно намекать, что у Mercurial нет такой проблемы, и деградации скорости под форточкой не замечал... :)

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Он везде одинаково тормозит?

anonymous
()

Ведоговно проблемы. И да тебе надо? Бери и портируй критерии качества задаш сам.

anonymous
()
Ответ на: комментарий от I-Love-Microsoft

Большинство программарей инфантильны и не хотят учить новые команды hg, было бы ради чего, к тому же.

menangen ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Мне неудобно намекать, что у Mercurial нет такой проблемы, и деградации скорости под форточкой не замечал... :)

Он как-то иначе считает хеш файла?

andreyu ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

на самом деле git работает на венде не нативно, а использует MSYS2, который тащит за собой кучу бинарников

Кто сказал, что git для расчета хеша использует внешнюю утилиту?

andreyu ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

а причем тут это?

При том, что в git или в любой подобной системе контроля версий, взятие хеша от файла одна из наиболее ресурсоемких операций. Ну и куча мелких файлов на тормозной ФС так же ведут к «тормозам» vcs.

я даже прямую цитату привел :)

И что она должна была показать?

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

Я последнее время не люблю спорить. Просто мне показалось хорошим выбором, что разработчики Mercurial основали свое детище на Python, тем более что «взятие хеша от файла одна из наиболее ресурсоемких операций» и сделано там в Си-модуле. И таким образом не требуется тащить этот гейский MSYS2 (при том что я использую его для сборки софта под форточку с либами, требующих UNIX-тулзы для сборки, а то и вовсе куча готовых пакетов есть в наличии).

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от Bruce_Lee

Мне бы твои проблемы, когда я стою за станком на заводе

А ты возьми табуретку, ну или удобную мягкую раскладушку, зачем стоять в 21-м веке?

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Ты видимо слабо понимаешь что такое рабочий станок на заводе, завод тебе не офис, плюхнул зад на стул и всё -/+ пару раз сходить куда то надо. На заводе надо работать, двигаться. ))

Dron ★★★★★
()
Ответ на: комментарий от CYB3R

Сначала стоит определиться с теми, кого вы записываете в ничтожную пыль на сапоге работяги? Инженеры, тестировщики, конструкторы, сотрудники отдела комплектации, или кто-там еще по специфике. Или яростно производить отсталую модель 15 лет это мечта рабочего? Производя сегодня тазик, нужно параллельно разрабатывать «тазик 2.0 NG» ;)

Но, минуточку. Мне лень спорить :) Не вижу смысла что-то там передоказывать, буквы тратить. Мое участие в теме завершено ;)

I-Love-Microsoft ★★★★★
()
Последнее исправление: I-Love-Microsoft (всего исправлений: 2)
Ответ на: комментарий от I-Love-Microsoft

Так картина понравилась, видел раньше? прочувствовал эмоции (там их 6 выразителей)?

Bruce_Lee ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.