Page 1 of 1

Better version string

PostPosted: Fri Jul 02, 2010 7:43 am
by Gloggy
Сейчас GoldenDict, любой билд, выдает следующую версию: 0.9.0+git. Что делает невозможным понять вообще какой же версией люди пользуются. А то вот мне напишут: "пользуюсь версией 0.9.0+git, и у меня Forvo не поддерживается". И не понять, то ли версия у человека старая, то ли еще чего.

Было бы супер, если бы в GoldenDict можно было записать правильную версию из git репозитория.

По идее, вот такая строчка должна генерить ревизию из репозитория:

Code: Select all
git describe --always --dirty --abbrev=6


Если бы в репозитории были таги (а их сейчас почему-то нет, что, наверное, не есть хорошо, нет возможности вернутся на 0.9.0 версию и тд), то можно было бы использовать:

Code: Select all
git describe -tags --always --dirty --abbrev=6


К примеру, если бы был тэг 0.9.0 и после него 56 изменений, то получилось бы:
0.9.0-56-gdb9c6c

Ну и если есть локальные правки, то добавится -dirty, что тоже полезно.

Re: Better version string

PostPosted: Fri Jul 02, 2010 11:27 am
by ikm
git describe - это здорово, но кто будет эту команду запускать и в какой момент? Для linux это, думаю, несложно сделать из .pro-файла, но в windows-то это работать, скорее всего, не будет -- там msysgit и черт ногу сломит.

Re: Better version string

PostPosted: Fri Jul 02, 2010 4:07 pm
by Gloggy
ikm wrote:git describe - это здорово, но кто будет эту команду запускать и в какой момент? Для linux это, думаю, несложно сделать из .pro-файла, но в windows-то это работать, скорее всего, не будет -- там msysgit и черт ногу сломит.

Да по идее, никакой разницы не должно быть. Если есть git в пути, вызывать его. Если нету, использовать что-нибудь типа захардкоженной "0.9.0+git". В теории все просто, а вот как на практике... :)

Re: Better version string

PostPosted: Fri Jul 02, 2010 4:11 pm
by ikm
А он на самом деле есть в пути? Если скачать с сайта msysgit, он прописывается в системные path? Такая практика обычно в виндах отсутствует.

Re: Better version string

PostPosted: Fri Jul 02, 2010 4:17 pm
by Gloggy
ikm wrote:А он на самом деле есть в пути? Если скачать с сайта msysgit, он прописывается в системные path? Такая практика обычно в виндах отсутствует.

Во время инсталляции есть возможность дабавить GIT_PATH/bin в %PATH%, у меня так и сделано. Прекрасно работает в любом cmd.exe.

В инсталляторе этa опция называется: "Run git from the Windows command prompt".

Re: Better version string

PostPosted: Fri Jul 02, 2010 4:20 pm
by ikm
Она по дефолту включена при инсталляции?

Re: Better version string

PostPosted: Fri Jul 02, 2010 4:30 pm
by Gloggy
ikm wrote:Она по дефолту включена при инсталляции?

Там выбор из трех вариантов, от самого консервативного (ничего не менять и запускать git только из bash'a), до самого рискового (красными буквами, не рекомендовано).

Наш вариант - он так раз посредине. Наиболее правильный. :) Опять же, у человека, который научился пользоваться git'ом под виндами не должно возникнуть проблем с добавлением его в %PATH%, если надо. :)

Хотя, конечно, в идеале билд-скрипты Голдендиктовские должны быть готовы к тому, что гита почему-то не оказалось в пути и использовать захардкоженую строку версии.

Re: Better version string

PostPosted: Fri Jul 02, 2010 5:23 pm
by ikm
Короче, наваял. Должно выдавать, что версия "0.9.0-144-gbe23f54". Будет ли работать под виндами - ни малейшего понятия.

Re: Better version string

PostPosted: Sat Jul 03, 2010 5:34 am
by Gloggy
ikm wrote:Короче, наваял. Должно выдавать, что версия "0.9.0-144-gbe23f54". Будет ли работать под виндами - ни малейшего понятия.

Прекрасно работает под Виндами! :)