SASGIS - SAS.Планета
View Issue Details
0000150SAS.Планета[All Projects] Хотелкаpublic12-10-2010 14:5611-04-2011 08:00
gpsMax 
 
normalminorhave not tried
confirmedopen 
101102 
29xxxx 
0000150: Автообновление файлов карт *.zmp
По мотивам форумного FAQ по SAS:
"Автоматического отслеживания смены версий карт в программе SAS.Planet пока что нет."

А почему бы не сделать? Репозиторий карт есть, работа в нём идёт, осталось только автоматически сравнивать локальные и серверные версии карт. На сервере положить маленький текстовый файлик (или один общий, или отдельно на каждый zmp - как больше нравится) с версиями карт и проверять его при запуске программы, если разрешено в опциях. При выявлении новой версии предложить пользователю обновить локальный zmp.

Либо вместо файлика с явно заданной версией внутри проверять дату последнего изменения самого zmp на сервере, но, имхо, лучше бы версию выставлять руками во избежание подводных камней и непоняток.
Как всё примерно будет работать в целом:

Кто-нибудь замечает, что одна из карт обновилась. Постом на форуме, а лучше сразу багой на трекере, ставит в известность ответственных товарищей. Ответственные товарищи (скорее всего, в лице Гарла) проверяют факт обновления, меняют в репозитории номер версии внутри zmp и также записывают его в файлик.

Пользователь включает SAS, тот лезет в инет, читает файлик/файлики и обнаруживает, что одна из карт в репозитории новее, чем локальная версия. Пользователю выдается окно с вопросом - на сервере для карты такой-то доступна версия такая-то, а локально сейчас такая-то, чего делаем?

Пользователь соглашается, zmp скачивается, дальше всё как обычно.
Самое приятное, что эта схема применима не только к изменениям версий картопровайдеров, которые можно втупую подбирать и руками, а вообще к любым обновлениям zmp. Сменился ключ доступа, поправлены настройки антибана, и т.д. - изменения в репозитории максимально быстро дойдут до конечных пользователей.
обновление, репозиторий
has duplicate 0002376closed vdemidov Автоматическая проверка обновлений источников 
Issue History
12-10-2010 14:56gpsMaxNew Issue
12-10-2010 17:20vdemidovNote Added: 0000311
12-10-2010 17:20vdemidovStatusnew => feedback
13-10-2010 05:22vdemidovNote Added: 0000319
13-10-2010 10:58gpsMaxNote Added: 0000327
13-10-2010 10:58gpsMaxStatusfeedback => new
13-10-2010 10:59gpsMaxNote Edited: 0000327bug_revision_view_page.php?bugnote_id=327#r107
13-10-2010 11:00gpsMaxNote Edited: 0000327bug_revision_view_page.php?bugnote_id=327#r108
13-10-2010 11:29vdemidovNote Added: 0000329
13-10-2010 11:29vdemidovAssigned To => vdemidov
13-10-2010 11:29vdemidovStatusnew => feedback
14-10-2010 04:10TikhNote Added: 0000335
14-10-2010 06:05vdemidovNote Added: 0000340
02-11-2010 12:01vdemidovAssigned Tovdemidov =>
02-11-2010 12:01vdemidovStatusfeedback => acknowledged
02-11-2010 12:02vdemidovProduct Version => 101102
02-11-2010 12:02vdemidovTarget Version => 29xxxx
17-11-2010 08:51TikhNote Added: 0000541
17-11-2010 09:20vdemidovNote Added: 0000544
06-04-2011 22:32gpsMaxTag Attached: обновление
11-04-2011 07:11vdemidovStatusacknowledged => confirmed
11-04-2011 08:00gpsMaxTag Attached: репозиторий
18-03-2014 06:42vdemidovRelationship addedhas duplicate 0002376

Notes
(0000311)
vdemidov   
12-10-2010 17:20   
Вперед. Дерзайте. Как только напишите приблуду, которая сможет делать все то что вы написали (с единственным условием, никаких дополнительных файликов, вся необходимая инфа уже есть в репозитории), сообщите мне. Доступ на чтение к репозиторию есть у всех, сделайте себе копию и тестируйте на здоровье.
(0000319)
vdemidov   
13-10-2010 05:22   
Возможно в следующей альфе, слегка переделаю механизм работы с zmp и встрою в SAS.Планету автообновлялку, но работать она будет только при наличии установленного Mercurial
(0000327)
gpsMax   
13-10-2010 10:58   
(edited on: 13-10-2010 11:00)
У меня вот Tortoise SVN (http://ru.wikipedia.org/wiki/TortoiseSVN) стоит для нескольких проектов. Mercurial обязательно ставить, или подойдут и другие SVN-клиенты?

(0000329)
vdemidov   
13-10-2010 11:29   
Нет. Это меркуриал может заменить svn клиента но не наоборот. Ставьте Mercurial или TortoiseHG (http://ru.wikipedia.org/wiki/Mercurial)
(0000335)
Tikh   
14-10-2010 04:10   
>>Возможно в следующей альфе, слегка переделаю механизм работы с zmp и встрою в SAS.Планету автообновлялку

А она будет автообновлять только основной репозиторий?

Можно реализовать, чтобы обновляла и дополнительный тоже?
(0000340)
vdemidov   
14-10-2010 06:05   
Конечно можно. Оно будет обновлять все репозитории, которые найдет в папке с картами. Вот только основной репозиторий будет поставляться вместе с программой, а все дополнительные нужно будет самому клонировать введя команду что-то типа:
hg clone https://bitbucket.org/blabla/maps additional
(0000541)
Tikh   
17-11-2010 08:51   
А как теперь автоматом обновлять карты - в версии 101115?
Zmp же нет.
Раньше была папка Zmpsource и в ней батник меркуриала для обновления. Он сам находил изменения и перепаковывал zmp. А сейчас как?
Только тянуть самому с репозитория клонированием/пуллом? Просто он тогда скачает всё подряд, а я список карт значительно сократил - выкинул лишнее.
Как обновить только то, что необходимо?
(0000544)
vdemidov   
17-11-2010 09:20   
Почитайте основы работы с Меркуриалом. Все что вам нужно можно сделать с помощью достаточно простых батников. Нужно просто закоммитить свои изменения, а после комманды пулл делать Merge. Сейчас все упростилось тем, что можно группировать zmp по папкам и не нужно запускать перепаковку после изменений. Нужно бы конечно сделать готовые батники, но я все никак не соберусь.