Notes |
|
(0019494)
|
zed
|
20-11-2019 08:56
|
|
Самое сложное, это, наверное, нормально сконвертировать hg в git. У нас в репо с сорцами есть несколько default веток и при конвертировании они просто теряются и уменьшается общее число коммитов в репо. Если я всё верно понимаю.
Я всё надеюсь что на битбаките появится волшебная кнопка Конвертировать репо и оно всё сделает само. Там же ещё и бинарники у нас хранятся (релизы) и их придётся перезаливать.
Пока что я думаю так: если будет автоматическое конвертирование, то остаёмся на битбаките, если всё надо делать руками, то переходим на гитхаб. |
|
|
|
Что-то не видно никакой волшебной кнопки Конвертировать и даже не обещают. Так что нужно быть готовым к переезду. Но даже простая смена на ГИТ сломает нашу систему с репозиторием SAS.Requires и батниками сборки и обновления переводов.
Для этого и решил позаводить таски с конкретными задачачми, что бы потом не забыть ничего.
Присоединяйся - вдруг я чего забуду. |
|
|
|
В частности, предлагаю отказаться вообще от SAS.Requires, вынести в отдельные репо EmbeddedWB, tb2k и tbx.
А в SAS.Planet.Src добавить аналоги файлов .hgsub и .hgsubstate, которые просто парсить в билд-скриптах и обновлять по мере надобности. |
|
|
(0019497)
|
zed
|
20-11-2019 09:22
|
|
Т.е. зависимости включить в src в качестве вложенных репозиториев? |
|
|
|
Не средствами СКВ, а просто отдельным файликом. Возможно добавить батник, который сможет сам их выкачивать и обновлять. Пусть будут просто отдельные репозитории.
Механизмы вложенных репозиториев слегка отличаются в hg и git. А так будет почти универсально. |
|
|
|
Выделение отдельных репозиториев из sas.requires
Нужно включить расширение convert в hg:
в файле mercurial.ini
должна быть секция с таким ключем:
[extensions]
convert =
Создаем файл map_EmbeddedWB.txt:
include "EmbeddedWB"
rename "EmbeddedWB" "."
Выполняем команду:
hg convert sas.requires EmbeddedWB revmap_EmbeddedWB.txt --filemap map_EmbeddedWB.txt
Получаем отдельный репозиторий с историей EmbeddedWB у нас |
|
|
(0019500)
|
Garl
|
20-11-2019 09:54
|
|
Привет может я чего делаю не так, но на гитхабе ж есть кнопочка импортировать ? |
|
|
|
Ну, просто импортировать мало. Нужно еще все ссылки обновить. Систему сборки перенстроить на гит и другие сервера и тд. И причесать репозиторий. Если помнишь, летом обсуждали. |
|
|
(0019502)
|
zed
|
20-11-2019 12:52
|
|
Полный отказ от sas.requires считаю плохой идеей. Сорцы SAS должны однозначно соотноситься с конкретным состоянием зависимостей. И замена системы гит-сабмодулей на батники это нечто странное. |
|
|
|
> Сорцы SAS должны однозначно соотноситься с конкретным состоянием зависимостей.
А сейчас они никак не соотносятся. Где в SAS.Planet.Src хоть какое-то упоминание о версии SAS.Requires с которой они скомпилятся?
Для этого нужно было бы именно в SAS.Planet.Src добавлять сабмодули. И SAS.Requires опять таки не нужен. В моем варианте конкретная связь с состоянием зависимостей тоже появляется. А осталять SAS.Requires в текущем виде это как-раз и есть плохая идея. |
|
|
|
> замена системы гит-сабмодулей на батники это нечто странное.
Но, тот же гугл при разработке Хрома и Андроида сделал именно так. Сабмодули весьма кривая и неудобная штука. Мы уже сами на это натыкались, когда нужно было заменить один репозиторий другим. |
|
|
(0019505)
|
zed
|
20-11-2019 13:11
|
|
> В моем варианте конкретная связь с состоянием зависимостей тоже появляется
Батник это не связь. Да, сейчас сорцы и зависимости не соотносятся, но у нас по крайней мере 1 репо с зависимостями, за которым надо следить. А с батниками их станет 100500. По-моему, лучше оставить requires и добавить его как сабмодуль в сорцы. |
|
|
|
>Батник это не связь
А вот текстовый файл с указанием урлов репозиториев и хешей коммитов вполне себе связь. А батник просто поможет поддерживать ее в порядке.
>По-моему, лучше оставить requires и добавить его как сабмодуль в сорцы.
Не, очень неудобно пользоваться. Сабмодули это просто геморой. |
|
|
(0019527)
|
zed
|
04-12-2019 17:55
|
|
Вынес EmbeddedWB, tbx и tb2k в отдельные репозитории и перешёл на новые версии компонентов TBX и Toolbar2000. |
|
|
|
А сейчас взгляни на репозиторий SAS.Requires непредвзято.
Что в нем осталось реально кроме истории двух файлов .hgsub и .hgsubstate?
Только ридми со скришнотами и пара батников. Всему этому вполне место в основном репозитории. Но вот только добавлять сабрепозитории туда ну очень не хочется. Они капец как тормозят любые операции с репозиторием.
Вот и выходит, что проще всего поместить эти два файла в основной репозиторий под какими-то другими именами и сделать скрипт для автоматического подтягивания зависимостей.
Если помучиться, то при переезде и обновлении репозитория, можно даже поробовать сделать адекватную историю этих файлов в новом репозитории. |
|
|
(0019805)
|
zed
|
28-04-2020 12:23
|
|
На битбакете продлили на месяц срок окончания поддержки меркуриала. Новый дедлайн: 1 июля 2020.
У нас 2 месяца на всё про всё. |
|
|
|
Так куда будем переезжать и что делать с SAS.Requires? Ты сейчас главный - последнее слово за тобой. Я свое мнение высказал. Разве что очень сильно прошу выполнить причесывание авторов коммитов, описанное в 0003584, перед переездом. |
|
|
(0019808)
|
zed
|
28-04-2020 13:16
|
|
Переезжать надо на гитхаб. Единственное, надо оставить пустой репо с секцией downloads в sas.planet.bin на битбакете, чтобы старые линки на архив с бинарниками продолжали работать.
По поводу requires есть ещё такая мысль: хранить там снимки состояний зависимых реп и батник для обновления (загрузить курлом зипы с сорцами таких-то реп и распаковать в такие-то папки). Т.е. у нас есть N нормальных репо с историей коммитов и прочим, и есть один агрегирующий репо - requires. Но без всяких вложенностей, а просто актуальные сорцы всех зависимостей, как они есть на текущий момент. Но главное, что мы в этом репо можем сделать в нужный момент релиз и проставить нужный тег, так что у нас будет единый архив со зависимостями на момент релиза SAS.
И ещё, в гите нету понятия "ревизия коммита". Есть только его хеш. В качестве альтернативы можно использовать число коммитов в master, но оно не совпадает с ревизией и при переезде будет откат назад в нумерации ночнушек. |
|
|
|
>По поводу requires есть ещё такая мысль: хранить там снимки состояний зависимых реп и батник для обновления (загрузить курлом зипы с сорцами таких-то реп и распаковать в такие-то папки).
Ну не знаю. Мне больше импонирует скрипт и файлик со ссылками на зависимости и конкретные их ревизии в самой репе с исходниками САС. Но как я уже говорил - делай как знаешь.
> И ещё, в гите нету понятия "ревизия коммита".
Я бы вообще отказался от этой ревизии. Она и в меркуриале весьма костыльная. Дата плюс кусок хэша - более чем достаточно. В гите хэш полностью указывать не обязательно - достаточно что бы начало было уникальным. Для наших целей 5-6 знаков гарантированно достаточно. У нас не так часто выходят несколько версий в один день. |
|
|
|
Кстати, а можно вклинюсь с вопросом: а для карт действительно нужно два отдельных репозитория sas.maps и sas.plus.maps?
А то просто там все вперемешку и всем, кто вручную карты себе обновляет всё равно оба репозитория выкачивать приходится. Так может быть уже можно не усложнять и оставить только sas.plus?
PS: Если дадите добро, то я могу заняться и папочки с Zmp из одного репозитория в другой перекинуть. Ну, и заодно порядок там потом навести. Немного. |
|
|
(0019811)
|
zed
|
03-05-2020 18:33
|
|
Да, думаю их можно объединить. Только слить в sas.maps, а не в plus. |
|
|
|
> Да, думаю их можно объединить. Только слить в sas.maps, а не в plus.
И обЪединять их лучше при переезде с объединением истории. Примерно тем же методом, как разделяли SAS.Requires |
|
|
|
Оу. А я уже вчера перенес всё в "sas.maps" и пул реквест отправил. Но, в принципе, я могу всё вернуть, как было. |
|
|
(0019815)
|
zed
|
05-05-2020 06:47
|
|
vdemidov, сделай, если знаешь как. |
|
|
|
Это при переезде надо делать. Так как по сути, мы из двух старых репозиториев получим новый.
Ну или просто принять пул реквест с простым переносмо плюсового репо в основной, забивая на историю. Мой внутренний хомяк возмущается от потери истории, но с другой стороны: кому она нужна то? |
|
|
(0019818)
|
zed
|
05-05-2020 08:01
(edited on: 05-05-2020 08:02) |
|
|
|
|
Ок. Постараюсь сделать сегодня. |
|
|
|
Пушнул. Вроде бы получилось как надо. Но Update.cmd пока не трогал. |
|
|
(0019821)
|
zed
|
05-05-2020 10:39
|
|
У репо получилось 2 корня. Надеюсь, в будущем проблем из-за этого не будет?
|
|
|
(0019822)
|
zed
|
05-05-2020 10:44
|
|
|
|
(0019823)
|
vdemidov
|
05-05-2020 10:51
(edited on: 05-05-2020 11:02) |
|
> У репо получилось 2 корня. Надеюсь, в будущем проблем из-за этого не будет?
Вроде бы не должно. По-другому не умею.
> И это, авторов может тоже стоило причесать: https://i.imgur.com/XFbtMml.png Или фиг с ним?
Может и стоило. Если сделаешь файлик с соответсвиями как в 0003584 то прогоню и перезалью.
PS: Правда я не уверен как на гитхабе правильно грохнуть существующие ревизии. Вроде форс пуша в мастер должно хватить, но ХЗ
|
|
|
(0019825)
|
zed
|
05-05-2020 11:16
|
|
Можешь просто удалить репо, а потом создать его заново. |
|
|
|
|
|
(0019828)
|
zed
|
05-05-2020 12:00
|
|
Garl так до конца и не смаппился и Tol. Набери в консоли: git shortlog -s -n |
|
|
|
|
|
|
|
|
(0019831)
|
zed
|
05-05-2020 13:36
|
|
Да. Можно считать, что карты переехали. Старые репо я заархивирую: сделаю снимок репозитория, сохраню в zip, удалю hg репо, создам git репо с тем же именем, в Downloads положу архив со снимком, а в репо залью ридми со ссылкой на гитхаб. |
|
|
|
О. Вижу, что на гитхабе репозиторий с картами появился. Мне уже можно в него присылать пул реквесты?
|
|
|
(0019838)
|
zed
|
05-05-2020 15:43
|
|
Да, можно. Карты официально переехали на гитхаб. |
|
|
(0019854)
|
zed
|
25-05-2020 08:53
|
|
Исходники переехали сюда: https://github.com/sasgis/sas.planet.src |
|
|
(0019865)
|
zed
|
29-05-2020 13:18
|
|
Зависимости переехали сюда: https://github.com/sasgis/sas.requires |
|
|
(0019866)
|
zed
|
01-06-2020 15:50
|
|
|