Size: a a a

2019 September 23

ML

Maksim Lapshin in ErlangRus
речь прежде всего о движении вперед.
источник

ML

Maksim Lapshin in ErlangRus
Можно накопить большой набор изменений и выпустить новую версию апи и поднять мажорный номер
источник

ML

Maksim Lapshin in ErlangRus
а можно раз в неделю добавлять по новой функции, сохраняя старое поведение. Через какое-то время тебе понадобится переделывать старые функции в апи, пытаясь сохранить их старое поведение, но такое никогда не получается
источник

ML

Maksim Lapshin in ErlangRus
ты где-то обломаешься и у тебя версия уже 1.89.1, а на самом деле ты только что сломал старое поведение, готовясь к 2.0.1
источник

ML

Maksim Lapshin in ErlangRus
потом ты такой фигак и говоришь: всё, дальше будет 2.0.1, а юзеры такие: ну нахер, там куча всего нового, нетестированного, не будем обновляться, подождем  немного
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Maksim Lapshin
Можно накопить большой набор изменений и выпустить новую версию апи и поднять мажорный номер
Но только если они нужны! Вот парсилка Json - была версия 1.0.0 Че тут накапливать то? Вышел новый rfc - будет 2.0.0. Если Api либы будет меняется - ну вторую циферку будут подкручивать
источник

ML

Maksim Lapshin in ErlangRus
Źmićer Rubinštejn
Но только если они нужны! Вот парсилка Json - была версия 1.0.0 Че тут накапливать то? Вышел новый rfc - будет 2.0.0. Если Api либы будет меняется - ну вторую циферку будут подкручивать
ты как-то очень примитивно воспринимаешь парсилку жсон. В экосистеме эрланга нет ни одной законченной парсилки жсона. В эликсире скорее всего точно нет, учитывая средний уровень
источник

ML

Maksim Lapshin in ErlangRus
например надо приделывать поточную обработку. Это мажорная версия или нет?
источник

ML

Maksim Lapshin in ErlangRus
какая-то часть либы выпущена в тестовом режиме юзерам потестить — это мажорное изменение или минорное? Или патч?
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Если прикрутили - это минорное изменение
источник

ML

Maksim Lapshin in ErlangRus
часть либы, которая была выпущена в тестовом режиме поменялась в апи. Это мажорное изменение?

С точки зрения семвера — да. С практической точки зрения — нет, потому что это специальная  тестовая часть библиотеки, subject to change
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Если старое сломали - мажорное
источник

ML

Maksim Lapshin in ErlangRus
а жесткий подход в эльме, который ты описывал, заставит пометить это как мажор, хотя это не так
источник

VS

Vladimir Sekisov in ErlangRus
А в чем конкретно проблема?
Если речь о совместимости версии application и тега в git,
то можно и подменить, как то типа:
project do
   [
     app: :merchant_api,
     version: app_version()


defp app_version do
   {git_desc, 0} = System.cmd("git", ~w[describe])

   case git_desc |> String.trim() |> String.split("-") do
     ["v" <> major_minor] ->
       major_minor

     ["v" <> major_minor, _patch, git_commit_id] ->
       "#{major_minor}+ref-#{git_commit_id}"
   end
 end
источник

ML

Maksim Lapshin in ErlangRus
ifeq (,$(VERSION))
 VERSION=$(shell git describe --abbrev=7 --long | sed 's/^v//g' | sed 's/\.0/\./g')
endif
источник

ML

Maksim Lapshin in ErlangRus
этого достаточно что бы заткнуть дурную бездумную проверку
источник

ŹR

Źmićer Rubinštejn in ErlangRus
На самом деле когда у тебя 30 зависимостей, и на них качается 500 гемов, причём гем используется только в одной своей версии и это все как-то разолвится - заслуга семвера
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Бывает головняк с этим конечно
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Но обычно оно более менее работает
источник

ŹR

Źmićer Rubinštejn in ErlangRus
В расте каждая либа на компиляции может использовать свою версию либы - но в нодах рубях и питонах - не так
источник