View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0003583 | Прочее | Хотелка / Feature request | public | 20-11-2019 08:41 | 01-06-2020 16:36 |
| Reporter | vdemidov | Assigned To | zed | ||
| Priority | low | Severity | major | Reproducibility | N/A |
| Status | resolved | Resolution | fixed | ||
| Summary | 0003583: Переезд с BitBucket.org и Mercurial на GitHub.org и Git | ||||
| Description | В связи с уже скорым закрытием на bitbucket.org подержки Mercurial репозиториев, нужно думать на что и как менять. | ||||
| Additional Information | Наимение сложный, ИМХО, это просто замена Mercurial на Git с сохранением хостинга на bitbucket.org Еще можно оставить Mercurial, но переехать на другой хостинг. Еще вариант, не самый легкий, но самый продуктивный переезд на GitHub Ну и на последок, самый нереалистичный переезд нав Self-Hosted систему, например GitLab или что-то в таком духе, но это слабо-реально. | ||||
| Tags | No tags attached. | ||||
| Attached Files | authors.txt (1,595 bytes)
Garl_home <[email protected]>=Sergey Gavrilenko <[email protected]> Garl_home <[email protected]>=Sergey Gavrilenko <[email protected]> Garl <[email protected]>=Sergey Gavrilenko <[email protected]> garl=Sergey Gavrilenko <[email protected]> Garl=Sergey Gavrilenko <[email protected]> Gavrilenko Sergey<[email protected]>=Sergey Gavrilenko <[email protected]> Дом@GarlHome <Дом@GarlHome>=Sergey Gavrilenko <[email protected]> Sergey Gаvrilеnkо <[email protected]>=Sergey Gavrilenko <[email protected]> Дом@GarlHome.M1group.local <Дом@GarlHome.M1group.local>=Sergey Gavrilenko <[email protected]> Gavrilenko Sergey <[email protected]>=Sergey Gavrilenko <[email protected]> Администратор@WIN-TS77V9LUQGL <Администратор@WIN-TS77V9LUQGL>=Sergey Gavrilenko <[email protected]> Администратор@WIN-TS77V9LUQGL=Sergey Gavrilenko <[email protected]> Дом@GarlHome=Sergey Gavrilenko <[email protected]> Дом@GarlHome.M1group.local=Sergey Gavrilenko <[email protected]> zed=zed <[email protected]> zedxxx=zed <[email protected]> Tol=Tol <none@none> Tolik=Tol <none@none> Tol [email protected] <Tol [email protected]>=Tol <none@none> Tol [email protected]=Tol <none@none> zOn=zOn <[email protected]> zOnVolga=zOn <[email protected]> Michael Pavlyshko <[email protected]>=Mixail <[email protected]> pfg21=pfg21 <[email protected]> Pavel <[email protected]>=pfg21 <[email protected]> Erelen Laiquendi=Erelen Laiquendi <[email protected]> D:\Erelen\Profiles\TheBat=Erelen Laiquendi <[email protected]> azya <>=feya <[email protected]> azya=feya <[email protected]> Viktor Demidov <[email protected]>=Viktor Demydov <[email protected]> | ||||
|
|
Самое сложное, это, наверное, нормально сконвертировать hg в git. У нас в репо с сорцами есть несколько default веток и при конвертировании они просто теряются и уменьшается общее число коммитов в репо. Если я всё верно понимаю. Я всё надеюсь что на битбаките появится волшебная кнопка Конвертировать репо и оно всё сделает само. Там же ещё и бинарники у нас хранятся (релизы) и их придётся перезаливать. Пока что я думаю так: если будет автоматическое конвертирование, то остаёмся на битбаките, если всё надо делать руками, то переходим на гитхаб. |
|
|
Что-то не видно никакой волшебной кнопки Конвертировать и даже не обещают. Так что нужно быть готовым к переезду. Но даже простая смена на ГИТ сломает нашу систему с репозиторием SAS.Requires и батниками сборки и обновления переводов. Для этого и решил позаводить таски с конкретными задачачми, что бы потом не забыть ничего. Присоединяйся - вдруг я чего забуду. |
|
|
В частности, предлагаю отказаться вообще от SAS.Requires, вынести в отдельные репо EmbeddedWB, tb2k и tbx. А в SAS.Planet.Src добавить аналоги файлов .hgsub и .hgsubstate, которые просто парсить в билд-скриптах и обновлять по мере надобности. |
|
|
Т.е. зависимости включить в 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 у нас |
|
|
Привет может я чего делаю не так, но на гитхабе ж есть кнопочка импортировать ? |
|
|
Ну, просто импортировать мало. Нужно еще все ссылки обновить. Систему сборки перенстроить на гит и другие сервера и тд. И причесать репозиторий. Если помнишь, летом обсуждали. |
|
|
Полный отказ от sas.requires считаю плохой идеей. Сорцы SAS должны однозначно соотноситься с конкретным состоянием зависимостей. И замена системы гит-сабмодулей на батники это нечто странное. |
|
|
> Сорцы SAS должны однозначно соотноситься с конкретным состоянием зависимостей. А сейчас они никак не соотносятся. Где в SAS.Planet.Src хоть какое-то упоминание о версии SAS.Requires с которой они скомпилятся? Для этого нужно было бы именно в SAS.Planet.Src добавлять сабмодули. И SAS.Requires опять таки не нужен. В моем варианте конкретная связь с состоянием зависимостей тоже появляется. А осталять SAS.Requires в текущем виде это как-раз и есть плохая идея. |
|
|
> замена системы гит-сабмодулей на батники это нечто странное. Но, тот же гугл при разработке Хрома и Андроида сделал именно так. Сабмодули весьма кривая и неудобная штука. Мы уже сами на это натыкались, когда нужно было заменить один репозиторий другим. |
|
|
> В моем варианте конкретная связь с состоянием зависимостей тоже появляется Батник это не связь. Да, сейчас сорцы и зависимости не соотносятся, но у нас по крайней мере 1 репо с зависимостями, за которым надо следить. А с батниками их станет 100500. По-моему, лучше оставить requires и добавить его как сабмодуль в сорцы. |
|
|
>Батник это не связь А вот текстовый файл с указанием урлов репозиториев и хешей коммитов вполне себе связь. А батник просто поможет поддерживать ее в порядке. >По-моему, лучше оставить requires и добавить его как сабмодуль в сорцы. Не, очень неудобно пользоваться. Сабмодули это просто геморой. |
|
|
Вынес EmbeddedWB, tbx и tb2k в отдельные репозитории и перешёл на новые версии компонентов TBX и Toolbar2000. |
|
|
А сейчас взгляни на репозиторий SAS.Requires непредвзято. Что в нем осталось реально кроме истории двух файлов .hgsub и .hgsubstate? Только ридми со скришнотами и пара батников. Всему этому вполне место в основном репозитории. Но вот только добавлять сабрепозитории туда ну очень не хочется. Они капец как тормозят любые операции с репозиторием. Вот и выходит, что проще всего поместить эти два файла в основной репозиторий под какими-то другими именами и сделать скрипт для автоматического подтягивания зависимостей. Если помучиться, то при переезде и обновлении репозитория, можно даже поробовать сделать адекватную историю этих файлов в новом репозитории. |
|
|
На битбакете продлили на месяц срок окончания поддержки меркуриала. Новый дедлайн: 1 июля 2020. У нас 2 месяца на всё про всё. |
|
|
Так куда будем переезжать и что делать с SAS.Requires? Ты сейчас главный - последнее слово за тобой. Я свое мнение высказал. Разве что очень сильно прошу выполнить причесывание авторов коммитов, описанное в 0003584, перед переездом. |
|
|
Переезжать надо на гитхаб. Единственное, надо оставить пустой репо с секцией downloads в sas.planet.bin на битбакете, чтобы старые линки на архив с бинарниками продолжали работать. По поводу requires есть ещё такая мысль: хранить там снимки состояний зависимых реп и батник для обновления (загрузить курлом зипы с сорцами таких-то реп и распаковать в такие-то папки). Т.е. у нас есть N нормальных репо с историей коммитов и прочим, и есть один агрегирующий репо - requires. Но без всяких вложенностей, а просто актуальные сорцы всех зависимостей, как они есть на текущий момент. Но главное, что мы в этом репо можем сделать в нужный момент релиз и проставить нужный тег, так что у нас будет единый архив со зависимостями на момент релиза SAS. И ещё, в гите нету понятия "ревизия коммита". Есть только его хеш. В качестве альтернативы можно использовать число коммитов в master, но оно не совпадает с ревизией и при переезде будет откат назад в нумерации ночнушек. |
|
|
>По поводу requires есть ещё такая мысль: хранить там снимки состояний зависимых реп и батник для обновления (загрузить курлом зипы с сорцами таких-то реп и распаковать в такие-то папки). Ну не знаю. Мне больше импонирует скрипт и файлик со ссылками на зависимости и конкретные их ревизии в самой репе с исходниками САС. Но как я уже говорил - делай как знаешь. > И ещё, в гите нету понятия "ревизия коммита". Я бы вообще отказался от этой ревизии. Она и в меркуриале весьма костыльная. Дата плюс кусок хэша - более чем достаточно. В гите хэш полностью указывать не обязательно - достаточно что бы начало было уникальным. Для наших целей 5-6 знаков гарантированно достаточно. У нас не так часто выходят несколько версий в один день. |
|
|
Кстати, а можно вклинюсь с вопросом: а для карт действительно нужно два отдельных репозитория sas.maps и sas.plus.maps? А то просто там все вперемешку и всем, кто вручную карты себе обновляет всё равно оба репозитория выкачивать приходится. Так может быть уже можно не усложнять и оставить только sas.plus? PS: Если дадите добро, то я могу заняться и папочки с Zmp из одного репозитория в другой перекинуть. Ну, и заодно порядок там потом навести. Немного. |
|
|
Да, думаю их можно объединить. Только слить в sas.maps, а не в plus. |
|
|
> Да, думаю их можно объединить. Только слить в sas.maps, а не в plus. И обЪединять их лучше при переезде с объединением истории. Примерно тем же методом, как разделяли SAS.Requires |
|
|
Оу. А я уже вчера перенес всё в "sas.maps" и пул реквест отправил. Но, в принципе, я могу всё вернуть, как было. |
|
|
vdemidov, сделай, если знаешь как. |
|
|
Это при переезде надо делать. Так как по сути, мы из двух старых репозиториев получим новый. Ну или просто принять пул реквест с простым переносмо плюсового репо в основной, забивая на историю. Мой внутренний хомяк возмущается от потери истории, но с другой стороны: кому она нужна то? |
|
|
Ну вот давай и начнём потихоньку. Завёл репо: https://github.com/sasgis/sas.maps - залей туда объединённый вариант, а я потом ночную сборку подправлю, ну и 0003585 за компанию. |
|
|
Ок. Постараюсь сделать сегодня. |
|
|
Пушнул. Вроде бы получилось как надо. Но Update.cmd пока не трогал. |
|
|
У репо получилось 2 корня. Надеюсь, в будущем проблем из-за этого не будет? |
|
|
И это, авторов может тоже стоило причесать: https://i.imgur.com/XFbtMml.png Или фиг с ним? |
|
|
> У репо получилось 2 корня. Надеюсь, в будущем проблем из-за этого не будет? Вроде бы не должно. По-другому не умею. > И это, авторов может тоже стоило причесать: https://i.imgur.com/XFbtMml.png Или фиг с ним? Может и стоило. Если сделаешь файлик с соответсвиями как в 0003584 то прогоню и перезалью. PS: Правда я не уверен как на гитхабе правильно грохнуть существующие ревизии. Вроде форс пуша в мастер должно хватить, но ХЗ |
|
|
Можешь просто удалить репо, а потом создать его заново. |
|
|
Перезалил. |
|
|
Garl так до конца и не смаппился и Tol. Набери в консоли: git shortlog -s -n |
|
|
Блин |
|
|
Фух. Вроде все вычистил. |
|
|
Да. Можно считать, что карты переехали. Старые репо я заархивирую: сделаю снимок репозитория, сохраню в zip, удалю hg репо, создам git репо с тем же именем, в Downloads положу архив со снимком, а в репо залью ридми со ссылкой на гитхаб. |
|
|
О. Вижу, что на гитхабе репозиторий с картами появился. Мне уже можно в него присылать пул реквесты? |
|
|
Да, можно. Карты официально переехали на гитхаб. |
|
|
Исходники переехали сюда: https://github.com/sasgis/sas.planet.src |
|
|
Зависимости переехали сюда: https://github.com/sasgis/sas.requires |
|
|
Всё, переезд закончен. |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 |
| 08-08-2025 13:24 | zed | Category | Хотелка => Хотелка / Feature request |