January 2025

S M T W T F S
   1234
567891011
12131415161718
1920 2122232425
262728293031 

Style Credit

Expand Cut Tags

No cut tags
Wednesday, September 29th, 2021 11:57 am
Гит не заточен под энтерпрайзную разработку(*). Под Win  не заточен тоже.
Я с недавних пор пересел на корпоративный win10, и вот что выловил в процессе.

1) Если с вашим репозиторием работали из линукса, немаловероятно что в нем, в одном каталоге, будут файлы, различающиеся по имени только кейсом. xxx.txt & Xxx.txt например. При попытке вычекивания рабочей копии получите ошибку.
Решение:
  1. Устанавливаете WSL: -- wsl --install --distributive Ubuntu
  2. Заводите директорию для проектов
  3. Вызываете "fsutil file setCaseSensitiveInfo <yourfolder> enable"
  4. Теперь можно вычекивать рабочую копию в нее -- она нынче кейс-сенситивная.
2) Ваш репозиторий большой и неповоротливый, для работы надо только часть директорий. Вам нужна новая модная фича гита sparse-checkout.
  1. У него есть два режима работы: cone и "обычный". В cone он считает каждую строку своего конфига паттерном, который надо оставить, в не-cone -- в строке должен быть прям паттерн со звездочками.
  2. Проблема в том, что тул для конфигурирования оч корявый, и постоянно путает эти два режима.
  3. git sparse-config init --cone сгенерит в .git/info/ файл конфига sparse-checkout "не-cone" версии.
  4. потом можно добавить в "рабочий набор" директорий посредством git sparse-checkout set dir1 dir2 dir7 dir5 и в конфиг это всё влетит и будет хорошо.
  5. Но вот если сделать git sparse-checkout disable а следом git sparse-checkout reapply -- оно вспомнит про "cone" режим, перепишет конфиг и выберет только директории (и всю бурду что попадет под паттерн из того, чего вы не ждали).
  6. Вывод -- пока не допилят, ходить надо по пути -- инит, сет. Не пытаясь переконфигурять. Надо новый расклад -- инит по новой, сет по новой.
3) В вашем репе большая вложенность каталогов -- влипнете в "path too long". По неизвестной причине гит с git-scm.com по дефолту считает MAX_PATH=260. 
  • git config --system core.longpaths true

4) Реп содержит симлинки? Поздравляю! Еще одни пляски.
  • git config --system core.symlinks true. Но этого не достаточно.
Вычекнется всё молча, но на месте симлинков будут текстовые файлы с указанием куда кажет симлинк. Молча. Тихо. Предупреждать об этом совершенно лишнее, сюрприз будет.
Причины:
  • По дефолту Win дает создавать симлинки только админу.
Что делать:
  1. выставить developer mode (ну или всегда запускать гит из админской консоли -- это для самых храбрых)
  2. клонировать реп по новой (да, да, только чекаута не достаточно)
  3. чекаут

5) Про боль и унижение с git lfs migrate расскажу как-нибудь потом. В двух словах -- это пока не работает.

(*) Примечание.
Не все знают что такое энтерпрайзная разработка. Это не синоним большого проекта и не синоним распределенной команды. Разработка линуксового ядра -- не энтерпрайзная разработка.
Энтерпрайз -- это когда в проекте есть человеки ОЧЕНЬ разного уровня. Некоторым человекам может прийти в голову положить в реп tar.gz на сотню метров. Другим -- пдфов, да пожирнее. Третьи будут туда xls запихивать. А четвертые смотреть на это всё с удивленными глазами, но сделать ничего не смогут.


Tags:
Monday, April 19th, 2021 05:23 pm
С появлением сайта госуслуг жизнь несомненно улучшилась.
Но есть нюанс как всегда. Ты с ними разговариваешь как с Глухим Ухом. Доорался -- повезло, молодец, получи паспорт. Не доорался (заклинило где-то что-то, клерки что-то провафлили, сайт лег, не важно)-- иди убейся об стену. Жаловаться некому и не на что. В саппорте роботы, или не сильно от них отличающиеся гуманоиды.
Как всегда у нас, не докрутили одну маленькую феньку, и в результате вся система скатывается в сраное говно из жопы.

Если у Вас появятся вопросы - просто напишите нам

Оч мило, люблю вас.

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


Tags: