SASGIS - Прочее
View Issue Details
0003583Прочее[All Projects] Хотелкаpublic20-11-2019 08:4101-06-2020 16:36
vdemidov 
zed 
lowmajorN/A
resolvedfixed 
0003583: Переезд с BitBucket.org и Mercurial на GitHub.org и Git
В связи с уже скорым закрытием на bitbucket.org подержки Mercurial репозиториев, нужно думать на что и как менять.

Наимение сложный, ИМХО, это просто замена Mercurial на Git с сохранением хостинга на bitbucket.org

Еще можно оставить Mercurial, но переехать на другой хостинг.

Еще вариант, не самый легкий, но самый продуктивный переезд на GitHub

Ну и на последок, самый нереалистичный переезд нав Self-Hosted систему, например GitLab или что-то в таком духе, но это слабо-реально.
No tags attached.
parent of 0003670resolved Parasite Домен, сайт, форум, багтрекер Исправить ссылку на набор zmp на сайте 
related to 0003584resolved zed Прочее Причесывание репозитория с исходным кодом 
related to 0003585resolved zed Прочее Сделать аналог Update.cmd из sas.maps под Git 
txt authors.txt (1,595) 05-05-2020 13:21
http://www.sasgis.org/mantis/file_download.php?file_id=2453&type=bug
Issue History
20-11-2019 08:41vdemidovNew Issue
20-11-2019 08:48vdemidovRelationship addedrelated to 0003584
20-11-2019 08:55vdemidovRelationship addedrelated to 0003585
20-11-2019 08:56zedNote Added: 0019494
20-11-2019 09:10vdemidovNote Added: 0019495
20-11-2019 09:18vdemidovNote Added: 0019496
20-11-2019 09:22zedNote Added: 0019497
20-11-2019 09:40vdemidovNote Added: 0019498
20-11-2019 09:46vdemidovNote Added: 0019499
20-11-2019 09:54GarlNote Added: 0019500
20-11-2019 10:00vdemidovNote Added: 0019501
20-11-2019 12:52zedNote Added: 0019502
20-11-2019 13:01vdemidovNote Added: 0019503
20-11-2019 13:03vdemidovNote Added: 0019504
20-11-2019 13:11zedNote Added: 0019505
20-11-2019 13:21vdemidovNote Added: 0019506
04-12-2019 17:55zedNote Added: 0019527
06-12-2019 17:02vdemidovNote Added: 0019532
28-04-2020 12:23zedNote Added: 0019805
28-04-2020 12:56vdemidovNote Added: 0019806
28-04-2020 13:16zedNote Added: 0019808
28-04-2020 13:28vdemidovNote Added: 0019809
02-05-2020 21:56nnngrachNote Added: 0019810
03-05-2020 18:33zedNote Added: 0019811
04-05-2020 06:31vdemidovNote Added: 0019812
04-05-2020 12:13nnngrachNote Added: 0019813
05-05-2020 06:47zedNote Added: 0019815
05-05-2020 07:56vdemidovNote Added: 0019817
05-05-2020 08:01zedNote Added: 0019818
05-05-2020 08:02zedNote Edited: 0019818bug_revision_view_page.php?bugnote_id=19818#r7666
05-05-2020 09:34vdemidovNote Added: 0019819
05-05-2020 10:26vdemidovNote Added: 0019820
05-05-2020 10:39zedNote Added: 0019821
05-05-2020 10:39zedNote Edited: 0019821bug_revision_view_page.php?bugnote_id=19821#r7668
05-05-2020 10:44zedNote Added: 0019822
05-05-2020 10:51vdemidovNote Added: 0019823
05-05-2020 11:02vdemidovNote Edited: 0019823bug_revision_view_page.php?bugnote_id=19823#r7670
05-05-2020 11:16zedNote Added: 0019825
05-05-2020 11:55vdemidovNote Added: 0019827
05-05-2020 12:00zedNote Added: 0019828
05-05-2020 12:37vdemidovNote Added: 0019829
05-05-2020 13:20vdemidovNote Added: 0019830
05-05-2020 13:21vdemidovFile Added: authors.txt
05-05-2020 13:36zedNote Added: 0019831
05-05-2020 15:41nnngrachNote Added: 0019837
05-05-2020 15:41nnngrachNote Edited: 0019837bug_revision_view_page.php?bugnote_id=19837#r7674
05-05-2020 15:43zedNote Added: 0019838
05-05-2020 20:17vdemidovRelationship addedparent of 0003670
25-05-2020 08:53zedNote Added: 0019854
29-05-2020 13:18zedNote Added: 0019865
01-06-2020 15:50zedNote Added: 0019866
01-06-2020 15:50zedStatusnew => resolved
01-06-2020 15:50zedResolutionopen => fixed
01-06-2020 15:50zedAssigned To => zed
01-06-2020 15:51zedSummaryСмена СКВ Mercurial bitbucket.org => Переезд с BitBucket.org и Mercurial на GitHub.org и Git

Notes
(0019494)
zed   
20-11-2019 08:56   
Самое сложное, это, наверное, нормально сконвертировать hg в git. У нас в репо с сорцами есть несколько default веток и при конвертировании они просто теряются и уменьшается общее число коммитов в репо. Если я всё верно понимаю.

Я всё надеюсь что на битбаките появится волшебная кнопка Конвертировать репо и оно всё сделает само. Там же ещё и бинарники у нас хранятся (релизы) и их придётся перезаливать.

Пока что я думаю так: если будет автоматическое конвертирование, то остаёмся на битбаките, если всё надо делать руками, то переходим на гитхаб.
(0019495)
vdemidov   
20-11-2019 09:10   
Что-то не видно никакой волшебной кнопки Конвертировать и даже не обещают. Так что нужно быть готовым к переезду. Но даже простая смена на ГИТ сломает нашу систему с репозиторием SAS.Requires и батниками сборки и обновления переводов.

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

Присоединяйся - вдруг я чего забуду.
(0019496)
vdemidov   
20-11-2019 09:18   
В частности, предлагаю отказаться вообще от SAS.Requires, вынести в отдельные репо EmbeddedWB, tb2k и tbx.

А в SAS.Planet.Src добавить аналоги файлов .hgsub и .hgsubstate, которые просто парсить в билд-скриптах и обновлять по мере надобности.
(0019497)
zed   
20-11-2019 09:22   
Т.е. зависимости включить в src в качестве вложенных репозиториев?
(0019498)
vdemidov   
20-11-2019 09:40   
Не средствами СКВ, а просто отдельным файликом. Возможно добавить батник, который сможет сам их выкачивать и обновлять. Пусть будут просто отдельные репозитории.

Механизмы вложенных репозиториев слегка отличаются в hg и git. А так будет почти универсально.
(0019499)
vdemidov   
20-11-2019 09:46   
Выделение отдельных репозиториев из 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   
Привет может я чего делаю не так, но на гитхабе ж есть кнопочка импортировать ?
(0019501)
vdemidov   
20-11-2019 10:00   
Ну, просто импортировать мало. Нужно еще все ссылки обновить. Систему сборки перенстроить на гит и другие сервера и тд. И причесать репозиторий. Если помнишь, летом обсуждали.
(0019502)
zed   
20-11-2019 12:52   
Полный отказ от sas.requires считаю плохой идеей. Сорцы SAS должны однозначно соотноситься с конкретным состоянием зависимостей. И замена системы гит-сабмодулей на батники это нечто странное.
(0019503)
vdemidov   
20-11-2019 13:01   
> Сорцы SAS должны однозначно соотноситься с конкретным состоянием зависимостей.
А сейчас они никак не соотносятся. Где в SAS.Planet.Src хоть какое-то упоминание о версии SAS.Requires с которой они скомпилятся?
Для этого нужно было бы именно в SAS.Planet.Src добавлять сабмодули. И SAS.Requires опять таки не нужен. В моем варианте конкретная связь с состоянием зависимостей тоже появляется. А осталять SAS.Requires в текущем виде это как-раз и есть плохая идея.
(0019504)
vdemidov   
20-11-2019 13:03   
> замена системы гит-сабмодулей на батники это нечто странное.
Но, тот же гугл при разработке Хрома и Андроида сделал именно так. Сабмодули весьма кривая и неудобная штука. Мы уже сами на это натыкались, когда нужно было заменить один репозиторий другим.
(0019505)
zed   
20-11-2019 13:11   
> В моем варианте конкретная связь с состоянием зависимостей тоже появляется

Батник это не связь. Да, сейчас сорцы и зависимости не соотносятся, но у нас по крайней мере 1 репо с зависимостями, за которым надо следить. А с батниками их станет 100500. По-моему, лучше оставить requires и добавить его как сабмодуль в сорцы.
(0019506)
vdemidov   
20-11-2019 13:21   
>Батник это не связь
А вот текстовый файл с указанием урлов репозиториев и хешей коммитов вполне себе связь. А батник просто поможет поддерживать ее в порядке.

>По-моему, лучше оставить requires и добавить его как сабмодуль в сорцы.
Не, очень неудобно пользоваться. Сабмодули это просто геморой.
(0019527)
zed   
04-12-2019 17:55   
Вынес EmbeddedWB, tbx и tb2k в отдельные репозитории и перешёл на новые версии компонентов TBX и Toolbar2000.
(0019532)
vdemidov   
06-12-2019 17:02   
А сейчас взгляни на репозиторий SAS.Requires непредвзято.

Что в нем осталось реально кроме истории двух файлов .hgsub и .hgsubstate?

Только ридми со скришнотами и пара батников. Всему этому вполне место в основном репозитории. Но вот только добавлять сабрепозитории туда ну очень не хочется. Они капец как тормозят любые операции с репозиторием.

Вот и выходит, что проще всего поместить эти два файла в основной репозиторий под какими-то другими именами и сделать скрипт для автоматического подтягивания зависимостей.
Если помучиться, то при переезде и обновлении репозитория, можно даже поробовать сделать адекватную историю этих файлов в новом репозитории.
(0019805)
zed   
28-04-2020 12:23   
На битбакете продлили на месяц срок окончания поддержки меркуриала. Новый дедлайн: 1 июля 2020.

У нас 2 месяца на всё про всё.
(0019806)
vdemidov   
28-04-2020 12:56   
Так куда будем переезжать и что делать с SAS.Requires? Ты сейчас главный - последнее слово за тобой. Я свое мнение высказал. Разве что очень сильно прошу выполнить причесывание авторов коммитов, описанное в 0003584, перед переездом.
(0019808)
zed   
28-04-2020 13:16   
Переезжать надо на гитхаб. Единственное, надо оставить пустой репо с секцией downloads в sas.planet.bin на битбакете, чтобы старые линки на архив с бинарниками продолжали работать.

По поводу requires есть ещё такая мысль: хранить там снимки состояний зависимых реп и батник для обновления (загрузить курлом зипы с сорцами таких-то реп и распаковать в такие-то папки). Т.е. у нас есть N нормальных репо с историей коммитов и прочим, и есть один агрегирующий репо - requires. Но без всяких вложенностей, а просто актуальные сорцы всех зависимостей, как они есть на текущий момент. Но главное, что мы в этом репо можем сделать в нужный момент релиз и проставить нужный тег, так что у нас будет единый архив со зависимостями на момент релиза SAS.

И ещё, в гите нету понятия "ревизия коммита". Есть только его хеш. В качестве альтернативы можно использовать число коммитов в master, но оно не совпадает с ревизией и при переезде будет откат назад в нумерации ночнушек.
(0019809)
vdemidov   
28-04-2020 13:28   
>По поводу requires есть ещё такая мысль: хранить там снимки состояний зависимых реп и батник для обновления (загрузить курлом зипы с сорцами таких-то реп и распаковать в такие-то папки).

Ну не знаю. Мне больше импонирует скрипт и файлик со ссылками на зависимости и конкретные их ревизии в самой репе с исходниками САС. Но как я уже говорил - делай как знаешь.

> И ещё, в гите нету понятия "ревизия коммита".
Я бы вообще отказался от этой ревизии. Она и в меркуриале весьма костыльная. Дата плюс кусок хэша - более чем достаточно. В гите хэш полностью указывать не обязательно - достаточно что бы начало было уникальным. Для наших целей 5-6 знаков гарантированно достаточно. У нас не так часто выходят несколько версий в один день.
(0019810)
nnngrach   
02-05-2020 21:56   
Кстати, а можно вклинюсь с вопросом: а для карт действительно нужно два отдельных репозитория sas.maps и sas.plus.maps?

А то просто там все вперемешку и всем, кто вручную карты себе обновляет всё равно оба репозитория выкачивать приходится. Так может быть уже можно не усложнять и оставить только sas.plus?

PS: Если дадите добро, то я могу заняться и папочки с Zmp из одного репозитория в другой перекинуть. Ну, и заодно порядок там потом навести. Немного.
(0019811)
zed   
03-05-2020 18:33   
Да, думаю их можно объединить. Только слить в sas.maps, а не в plus.
(0019812)
vdemidov   
04-05-2020 06:31   
> Да, думаю их можно объединить. Только слить в sas.maps, а не в plus.
И обЪединять их лучше при переезде с объединением истории. Примерно тем же методом, как разделяли SAS.Requires
(0019813)
nnngrach   
04-05-2020 12:13   
Оу. А я уже вчера перенес всё в "sas.maps" и пул реквест отправил. Но, в принципе, я могу всё вернуть, как было.
(0019815)
zed   
05-05-2020 06:47   
vdemidov, сделай, если знаешь как.
(0019817)
vdemidov   
05-05-2020 07:56   
Это при переезде надо делать. Так как по сути, мы из двух старых репозиториев получим новый.

Ну или просто принять пул реквест с простым переносмо плюсового репо в основной, забивая на историю. Мой внутренний хомяк возмущается от потери истории, но с другой стороны: кому она нужна то?
(0019818)
zed   
05-05-2020 08:01   
(edited on: 05-05-2020 08:02)
Ну вот давай и начнём потихоньку.

Завёл репо: https://github.com/sasgis/sas.maps - залей туда объединённый вариант, а я потом ночную сборку подправлю, ну и 0003585 за компанию.

(0019819)
vdemidov   
05-05-2020 09:34   
Ок. Постараюсь сделать сегодня.
(0019820)
vdemidov   
05-05-2020 10:26   
Пушнул. Вроде бы получилось как надо. Но Update.cmd пока не трогал.
(0019821)
zed   
05-05-2020 10:39   
У репо получилось 2 корня. Надеюсь, в будущем проблем из-за этого не будет?

(0019822)
zed   
05-05-2020 10:44   
И это, авторов может тоже стоило причесать: https://i.imgur.com/XFbtMml.png Или фиг с ним?
(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   
Можешь просто удалить репо, а потом создать его заново.
(0019827)
vdemidov   
05-05-2020 11:55   
Перезалил.
(0019828)
zed   
05-05-2020 12:00   
Garl так до конца и не смаппился и Tol. Набери в консоли: git shortlog -s -n
(0019829)
vdemidov   
05-05-2020 12:37   
Блин
(0019830)
vdemidov   
05-05-2020 13:20   
Фух. Вроде все вычистил.
(0019831)
zed   
05-05-2020 13:36   
Да. Можно считать, что карты переехали. Старые репо я заархивирую: сделаю снимок репозитория, сохраню в zip, удалю hg репо, создам git репо с тем же именем, в Downloads положу архив со снимком, а в репо залью ридми со ссылкой на гитхаб.
(0019837)
nnngrach   
05-05-2020 15:41   
О. Вижу, что на гитхабе репозиторий с картами появился. Мне уже можно в него присылать пул реквесты?

(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   
Всё, переезд закончен.