View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003583Прочее[All Projects] Хотелкаpublic20-11-2019 08:4101-06-2020 16:36
Reportervdemidov 
Assigned Tozed 
PrioritylowSeveritymajorReproducibilityN/A
StatusresolvedResolutionfixed 
PlatformOSOS Version
Summary0003583: Переезд с BitBucket.org и Mercurial на GitHub.org и Git
DescriptionВ связи с уже скорым закрытием на bitbucket.org подержки Mercurial репозиториев, нужно думать на что и как менять.

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

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

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

Ну и на последок, самый нереалистичный переезд нав Self-Hosted систему, например GitLab или что-то в таком духе, но это слабо-реально.
TagsNo tags attached.
Attached Filestxt file icon authors.txt [^] (1,595 bytes) 05-05-2020 13:21 [Show Content]

- Relationships
parent of 0003670resolvedParasite Домен, сайт, форум, багтрекер Исправить ссылку на набор zmp на сайте 
related to 0003584resolvedzed Прочее Причесывание репозитория с исходным кодом 
related to 0003585resolvedzed Прочее Сделать аналог Update.cmd из sas.maps под Git 

-  Notes
(0019494)
zed (manager)
20-11-2019 08:56

Самое сложное, это, наверное, нормально сконвертировать hg в git. У нас в репо с сорцами есть несколько default веток и при конвертировании они просто теряются и уменьшается общее число коммитов в репо. Если я всё верно понимаю.

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

Пока что я думаю так: если будет автоматическое конвертирование, то остаёмся на битбаките, если всё надо делать руками, то переходим на гитхаб.
(0019495)
vdemidov (manager)
20-11-2019 09:10

Что-то не видно никакой волшебной кнопки Конвертировать и даже не обещают. Так что нужно быть готовым к переезду. Но даже простая смена на ГИТ сломает нашу систему с репозиторием SAS.Requires и батниками сборки и обновления переводов.

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

Присоединяйся - вдруг я чего забуду.
(0019496)
vdemidov (manager)
20-11-2019 09:18

В частности, предлагаю отказаться вообще от SAS.Requires, вынести в отдельные репо EmbeddedWB, tb2k и tbx.

А в SAS.Planet.Src добавить аналоги файлов .hgsub и .hgsubstate, которые просто парсить в билд-скриптах и обновлять по мере надобности.
(0019497)
zed (manager)
20-11-2019 09:22

Т.е. зависимости включить в src в качестве вложенных репозиториев?
(0019498)
vdemidov (manager)
20-11-2019 09:40

Не средствами СКВ, а просто отдельным файликом. Возможно добавить батник, который сможет сам их выкачивать и обновлять. Пусть будут просто отдельные репозитории.

Механизмы вложенных репозиториев слегка отличаются в hg и git. А так будет почти универсально.
(0019499)
vdemidov (manager)
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 (reporter)
20-11-2019 09:54

Привет может я чего делаю не так, но на гитхабе ж есть кнопочка импортировать ?
(0019501)
vdemidov (manager)
20-11-2019 10:00

Ну, просто импортировать мало. Нужно еще все ссылки обновить. Систему сборки перенстроить на гит и другие сервера и тд. И причесать репозиторий. Если помнишь, летом обсуждали.
(0019502)
zed (manager)
20-11-2019 12:52

Полный отказ от sas.requires считаю плохой идеей. Сорцы SAS должны однозначно соотноситься с конкретным состоянием зависимостей. И замена системы гит-сабмодулей на батники это нечто странное.
(0019503)
vdemidov (manager)
20-11-2019 13:01

> Сорцы SAS должны однозначно соотноситься с конкретным состоянием зависимостей.
А сейчас они никак не соотносятся. Где в SAS.Planet.Src хоть какое-то упоминание о версии SAS.Requires с которой они скомпилятся?
Для этого нужно было бы именно в SAS.Planet.Src добавлять сабмодули. И SAS.Requires опять таки не нужен. В моем варианте конкретная связь с состоянием зависимостей тоже появляется. А осталять SAS.Requires в текущем виде это как-раз и есть плохая идея.
(0019504)
vdemidov (manager)
20-11-2019 13:03

> замена системы гит-сабмодулей на батники это нечто странное.
Но, тот же гугл при разработке Хрома и Андроида сделал именно так. Сабмодули весьма кривая и неудобная штука. Мы уже сами на это натыкались, когда нужно было заменить один репозиторий другим.
(0019505)
zed (manager)
20-11-2019 13:11

> В моем варианте конкретная связь с состоянием зависимостей тоже появляется

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

>Батник это не связь
А вот текстовый файл с указанием урлов репозиториев и хешей коммитов вполне себе связь. А батник просто поможет поддерживать ее в порядке.

>По-моему, лучше оставить requires и добавить его как сабмодуль в сорцы.
Не, очень неудобно пользоваться. Сабмодули это просто геморой.
(0019527)
zed (manager)
04-12-2019 17:55

Вынес EmbeddedWB, tbx и tb2k в отдельные репозитории и перешёл на новые версии компонентов TBX и Toolbar2000.
(0019532)
vdemidov (manager)
06-12-2019 17:02

А сейчас взгляни на репозиторий SAS.Requires непредвзято.

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

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

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

На битбакете продлили на месяц срок окончания поддержки меркуриала. Новый дедлайн: 1 июля 2020.

У нас 2 месяца на всё про всё.
(0019806)
vdemidov (manager)
28-04-2020 12:56

Так куда будем переезжать и что делать с SAS.Requires? Ты сейчас главный - последнее слово за тобой. Я свое мнение высказал. Разве что очень сильно прошу выполнить причесывание авторов коммитов, описанное в 0003584, перед переездом.
(0019808)
zed (manager)
28-04-2020 13:16

Переезжать надо на гитхаб. Единственное, надо оставить пустой репо с секцией downloads в sas.planet.bin на битбакете, чтобы старые линки на архив с бинарниками продолжали работать.

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

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

>По поводу requires есть ещё такая мысль: хранить там снимки состояний зависимых реп и батник для обновления (загрузить курлом зипы с сорцами таких-то реп и распаковать в такие-то папки).

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

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

Кстати, а можно вклинюсь с вопросом: а для карт действительно нужно два отдельных репозитория sas.maps и sas.plus.maps?

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

PS: Если дадите добро, то я могу заняться и папочки с Zmp из одного репозитория в другой перекинуть. Ну, и заодно порядок там потом навести. Немного.
(0019811)
zed (manager)
03-05-2020 18:33

Да, думаю их можно объединить. Только слить в sas.maps, а не в plus.
(0019812)
vdemidov (manager)
04-05-2020 06:31

> Да, думаю их можно объединить. Только слить в sas.maps, а не в plus.
И обЪединять их лучше при переезде с объединением истории. Примерно тем же методом, как разделяли SAS.Requires
(0019813)
nnngrach (reporter)
04-05-2020 12:13

Оу. А я уже вчера перенес всё в "sas.maps" и пул реквест отправил. Но, в принципе, я могу всё вернуть, как было.
(0019815)
zed (manager)
05-05-2020 06:47

vdemidov, сделай, если знаешь как.
(0019817)
vdemidov (manager)
05-05-2020 07:56

Это при переезде надо делать. Так как по сути, мы из двух старых репозиториев получим новый.

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

Ну вот давай и начнём потихоньку.

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

(0019819)
vdemidov (manager)
05-05-2020 09:34

Ок. Постараюсь сделать сегодня.
(0019820)
vdemidov (manager)
05-05-2020 10:26

Пушнул. Вроде бы получилось как надо. Но Update.cmd пока не трогал.
(0019821)
zed (manager)
05-05-2020 10:39
edited on: 05-05-2020 10:39

У репо получилось 2 корня. Надеюсь, в будущем проблем из-за этого не будет?

(0019822)
zed (manager)
05-05-2020 10:44

И это, авторов может тоже стоило причесать: https://i.imgur.com/XFbtMml.png Или фиг с ним?
(0019823)
vdemidov (manager)
05-05-2020 10:51
edited on: 05-05-2020 11:02

> У репо получилось 2 корня. Надеюсь, в будущем проблем из-за этого не будет?
Вроде бы не должно. По-другому не умею.
> И это, авторов может тоже стоило причесать: https://i.imgur.com/XFbtMml.png Или фиг с ним?
Может и стоило. Если сделаешь файлик с соответсвиями как в 0003584 то прогоню и перезалью.

PS: Правда я не уверен как на гитхабе правильно грохнуть существующие ревизии. Вроде форс пуша в мастер должно хватить, но ХЗ

(0019825)
zed (manager)
05-05-2020 11:16

Можешь просто удалить репо, а потом создать его заново.
(0019827)
vdemidov (manager)
05-05-2020 11:55

Перезалил.
(0019828)
zed (manager)
05-05-2020 12:00

Garl так до конца и не смаппился и Tol. Набери в консоли: git shortlog -s -n
(0019829)
vdemidov (manager)
05-05-2020 12:37

Блин
(0019830)
vdemidov (manager)
05-05-2020 13:20

Фух. Вроде все вычистил.
(0019831)
zed (manager)
05-05-2020 13:36

Да. Можно считать, что карты переехали. Старые репо я заархивирую: сделаю снимок репозитория, сохраню в zip, удалю hg репо, создам git репо с тем же именем, в Downloads положу архив со снимком, а в репо залью ридми со ссылкой на гитхаб.
(0019837)
nnngrach (reporter)
05-05-2020 15:41
edited on: 05-05-2020 15:41

О. Вижу, что на гитхабе репозиторий с картами появился. Мне уже можно в него присылать пул реквесты?

(0019838)
zed (manager)
05-05-2020 15:43

Да, можно. Карты официально переехали на гитхаб.
(0019854)
zed (manager)
25-05-2020 08:53

Исходники переехали сюда: https://github.com/sasgis/sas.planet.src
(0019865)
zed (manager)
29-05-2020 13:18

Зависимости переехали сюда: https://github.com/sasgis/sas.requires
(0019866)
zed (manager)
01-06-2020 15:50

Всё, переезд закончен.

- Users who viewed this issue
User List Anonymous (262x), kalakotkas (1x), SlavutichRED (1x), nnngrach (26x), vdemidov (95x), zed (51x), ingener (4x), rass (1x), Garl (13x), dimasic (1x)
Total Views 455
Last View 13-07-2020 15:27

- Issue History
Date Modified Username Field Change
20-11-2019 08:41 vdemidov New Issue
20-11-2019 08:48 vdemidov Relationship added related to 0003584
20-11-2019 08:55 vdemidov Relationship added related to 0003585
20-11-2019 08:56 zed Note Added: 0019494
20-11-2019 09:10 vdemidov Note Added: 0019495
20-11-2019 09:18 vdemidov Note Added: 0019496
20-11-2019 09:22 zed Note Added: 0019497
20-11-2019 09:40 vdemidov Note Added: 0019498
20-11-2019 09:46 vdemidov Note Added: 0019499
20-11-2019 09:54 Garl Note Added: 0019500
20-11-2019 10:00 vdemidov Note Added: 0019501
20-11-2019 12:52 zed Note Added: 0019502
20-11-2019 13:01 vdemidov Note Added: 0019503
20-11-2019 13:03 vdemidov Note Added: 0019504
20-11-2019 13:11 zed Note Added: 0019505
20-11-2019 13:21 vdemidov Note Added: 0019506
04-12-2019 17:55 zed Note Added: 0019527
06-12-2019 17:02 vdemidov Note Added: 0019532
28-04-2020 12:23 zed Note Added: 0019805
28-04-2020 12:56 vdemidov Note Added: 0019806
28-04-2020 13:16 zed Note Added: 0019808
28-04-2020 13:28 vdemidov Note Added: 0019809
02-05-2020 21:56 nnngrach Note Added: 0019810
03-05-2020 18:33 zed Note Added: 0019811
04-05-2020 06:31 vdemidov Note Added: 0019812
04-05-2020 12:13 nnngrach Note Added: 0019813
05-05-2020 06:47 zed Note Added: 0019815
05-05-2020 07:56 vdemidov Note Added: 0019817
05-05-2020 08:01 zed Note Added: 0019818
05-05-2020 08:02 zed Note Edited: 0019818 View Revisions
05-05-2020 09:34 vdemidov Note Added: 0019819
05-05-2020 10:26 vdemidov Note Added: 0019820
05-05-2020 10:39 zed Note Added: 0019821
05-05-2020 10:39 zed Note Edited: 0019821 View Revisions
05-05-2020 10:44 zed Note Added: 0019822
05-05-2020 10:51 vdemidov Note Added: 0019823
05-05-2020 11:02 vdemidov Note Edited: 0019823 View Revisions
05-05-2020 11:16 zed Note Added: 0019825
05-05-2020 11:55 vdemidov Note Added: 0019827
05-05-2020 12:00 zed Note Added: 0019828
05-05-2020 12:37 vdemidov Note Added: 0019829
05-05-2020 13:20 vdemidov Note Added: 0019830
05-05-2020 13:21 vdemidov File Added: authors.txt
05-05-2020 13:36 zed Note Added: 0019831
05-05-2020 15:41 nnngrach Note Added: 0019837
05-05-2020 15:41 nnngrach Note Edited: 0019837 View Revisions
05-05-2020 15:43 zed Note Added: 0019838
05-05-2020 20:17 vdemidov Relationship added parent of 0003670
25-05-2020 08:53 zed Note Added: 0019854
29-05-2020 13:18 zed Note Added: 0019865
01-06-2020 15:50 zed Note Added: 0019866
01-06-2020 15:50 zed Status new => resolved
01-06-2020 15:50 zed Resolution open => fixed
01-06-2020 15:50 zed Assigned To => zed
01-06-2020 15:51 zed Summary Смена СКВ Mercurial bitbucket.org => Переезд с BitBucket.org и Mercurial на GitHub.org и Git



Copyright © 2007 - 2020 SAS.Planet Team