Sakura: バヌゞョン番号ポリシヌの策定

Created on 23 Jun 2018  Â·  72Comments  Â·  Source: sakura-editor/sakura

「バヌゞョン番号の䞀番末尟の番号にビルド番号を入れる #153」の Issue により、バヌゞョン番号末尟数字をビルド番号にするこずが提案されおいたす。議論の流れからするずこの提案は採甚されそうです。

で、バヌゞョン番号党䜓に぀いおのポリシヌもこれを機に定めおおきたいです。今たでの「なんずなく」ではなく、ちゃんずポリシヌを決めお共有しお今埌にも枡っお継続運甚できるず良いなず思っおいたす。

バヌゞョン番号の慣習

䞀般的にですが、バヌゞョン番号は以䞋のような圢匏をずるこずが倚いみたいです。

MAJOR.MINOR.REVISION.BUILDNUMBER

珟サクラ゚ディタにおけるバヌゞョン番号ポリシヌの提案

MAJOR

2 のたたで良いず思う。「2」が Unicode 版であるこずを瀺すこずにする。

今埌ものすごい倧きな倉化があればここの数字を䞊げる可胜性もあり埗たすが、今のずころ自分ではただ想像はできたせん。

MINOR

リリヌス毎にむンクリメントしおいく。
ただし、旧来よく芋かけられた「奇数は開発䞭の非安定板」「偶数は安定板」ずいうポリシヌを採甚したい。

このポリシヌを採甚するずするず、
・次のリリヌスバヌゞョンは「2.4.x.x」
・その埌のリリヌスたでの繋ぎリリヌスはしない途䞭開発の状態のバヌゞョンは「2.5.x.x」
・さらに次のリリヌスバヌゞョンは「2.6.x.x」
ずなりたす。

さらに未来の話をするずどんどんむンクリメントは行われるので、「2.10.x.x」ずか「2.46.x.x」ずか「2.100.x.x」みたいなバヌゞョン番号にもなり埗たす。個人的にはこれでも良いず思っおいたすが、これに察しお違和感を持぀人がいるずしお、その違和感を蚱容できるかどうかがキモかず思っおいたす。

REVISION

ここはいわゆるコミット番号コミット毎にむンクリメントされる数倀ずしたい。

ただ、Subversion の堎合にはリビゞョンがたさにコミット番号でしたが、今の Git は連番の数倀ずいうものは存圚したせん。が、実際にはビルド時点での「察象ブランチから芋た党コミット数」をカりントすれば、それがコミット番号の代替ずなりたす。この数倀を甚いたいです。

以䞋コマンドでコミット数はカりント可。

git log --oneline | wc -l | sed -e "s/[ \t]*//g"

git情報が存圚しない環境でのビルドの堎合にはここの数倀は「0」ずする。

BUILDNUMBER

AppVeyor のビルド番号。Build 1.0.200 ずあれば、この䞭の 200 の郚分。#153 で議論されおいる内容。

非AppVeyorビルドの堎合にはここの数倀は「0」ずする。

ご意芋ください

どうでしょうか。䞊に挙げた内容はあくたでもひず぀の提案です。
䜕かご意芋あればください。

Release management

Most helpful comment

実のずころ semantic versioningのバヌゞョン衚蚘は、major.minor.patch(-prerelease)(+buildmetadata) ですので、a.b.c.d ずいう衚蚘は蚱可されおいたせん。なので厳密に埓うならば、䟋えば以䞋のようになるでしょう。

  • リリヌス版:

    • 公匏なバヌゞョン名は a.b.c ずしお、d (ビルド番号or コミット番号)はあくたで補足情報ずしおおく

    • あるいは a.b.c+d 衚蚘にする

  • プレリリヌス版:

    • a.b.c-d 等の衚蚘にする (2.4.1-123, 2.4.1-dev123, etc.)

(semantic versioningは参考にしただけずいうこずにしお a.b.c.d 衚蚘を通すのもありかもしれたせんが。)

個人的には 2.4.0.d をリリヌスした盎埌に GitHub ゜ヌスコヌド内のバヌゞョンは 2.4.1.d に䞊げおしたったほうが、リリヌス版ずそれ以倖が区別できおありがたいず思っおいたす。

semantic versioningに埓うなら、バヌゞョンを䞊げおしたっお、䞊に曞いたように 2.4.1-d などの衚蚘になればよさそうです。

All 72 comments

REVISIONがコミット単䜍ずいうのは、masterに察しおっおこずですか
マむナヌが䞊がったら、リセットする。。。するのは倧倉そうっすよね。。。
BUILDNUMBERこっちは、ずっずシヌケンシャルに䞊がっおいくっおこずですよね

2.48.5128.19827

ずかになる可胜性あり

BUILDNUMBERこっちは、ずっずシヌケンシャルに䞊がっおいくっおこずですよね
2.48.5128.19827
ずかになる可胜性あり

各桁16bit たでですね。

https://msdn.microsoft.com/en-us/library/aa381058.aspx

FILEVERSION

Binary version number for the file. The version consists of two 32-bit integers, defined by four 16-bit integers. For example, "FILEVERSION 3,10,0,61" is translated into two doublewords: 0x0003000a and 0x0000003d, in that order. Therefore, if version is defined by the DWORD values dw1 and dw2, they need to appear in the FILEVERSION statement as follows: HIWORD(dw1), LOWORD(dw1), HIWORD(dw2), LOWORD(dw2).

APPVEYOR_BUILD_NUMBER がいく぀たでいけるかは質問したした。
https://github.com/appveyor/ci/issues/2463

REVISIONがコミット単䜍ずいうのは、masterに察しおっおこずですか

master でビルドするのであれば master から芋たコミット件数になりたす。

                C   - C
             /               
C - C - C   -  C ← この時点ではコミット件数4件
                C   - C
             /             
C - C - C   -  C   -   C - M - C ← この時点ではコミット件数9件

↑ちょっずすみたせん、線がずれおたすが「M」はマヌゞコミットだず思っおください。

マむナヌが䞊がったら、リセットする。。。するのは倧倉そうっすよね。。。

0 リセットはしない想定で考えおいたす。

BUILDNUMBERこっちは、ずっずシヌケンシャルに䞊がっおいくっおこずですよね

2.48.5128.19827

ずかになる可胜性あり

です。そういう想定です。

16bitだずunsignedだず6䞇件、signedだず3䞇件皋床たでしか察応できたせんが。
それはそれで時期が来たらたた考え盎すくらいで割り切りたいです。

問題ないず思いたす。

この方匏でいくず、今埌バヌゞョンに぀いお話すずきは
2.4ずか2.5ずかMajor + Minorだけで話すむメヌゞになるず思っおいたす。

3぀目の数字は GitHub を衚瀺したずきに出る nCommits の数字、
https://github.com/sakura-editor/sakura

4぀目の数字は appveyor のビルド番号( #165 )、
https://ci.appveyor.com/project/sakuraeditor/sakura

ずなるのでフル桁のバヌゞョン番号は障害察応のずきにだけ出おくるようになる認識。

別案ずしおはリリヌス時点の幎月(yymm)を2぀目か3぀目に入れお識別する方法を考えたした。

リリヌス幎月をバヌゞョンにする方匏は Ubuntu ず Windows 10 で採甚されおる方匏です。

どう決めるか、だけの話なので反察意芋がなければ @kobake さんの案ですすめおよいず思っおいたす。

この方匏でいくず、今埌バヌゞョンに぀いお話すずきは
2.4ずか2.5ずかMajor + Minorだけで話すむメヌゞになるず思っおいたす。

そうですね。この議論においおも䞀旊 REVISION, BUILDNUMBER に぀いおはブレがなさそうなので䞀旊蚘茉を略しちゃいたす。

リリヌス幎月をバヌゞョンにする方匏は Ubuntu ず Windows 10 で採甚されおる方匏です。

知らなかった 。
Ubuntu 17.10 っおあったら 2017幎10月版っおこずだったんですね 。

https://en.wikipedia.org/wiki/Ubuntu_version_history#Ubuntu_18.10_(Cosmic_Cuttlefish)

この堎合は MAJOR を幎、MINOR を月ずしおいたすね。

SakuraEditor 18.06.xxxx.xxxx 
 これはこれで悪くない気もしたす が、めちゃくちゃ番号飛びたすね
SakuraEditor 2.1806.xxxx.xxxx 
 これはちょっず数字の意味の汲み取りがわかりにくそう。慣れの問題でもありたすが。
SakuraEditor 2.201806.xxxx.xxxx 
 こうできれば幎月であるこずがかなり明確になりたすけど、16bit 超えちゃいたすね。

MINOR に連番安定板は偶数を甚いるか幎月を甚いるかは、なんずいうか奜みの問題ですかね。
これに぀いお他の人のご意芋も聞きたいです。

リリヌス幎月を含めるずしたらwindows10スタむルになるず思っおいたす。

https://ja.wikipedia.org/wiki/Microsoft_Windows_10#バヌゞョン履歎

SakuraEditor 2.1806.xxxx.xxxx 
 これはちょっず数字の意味の汲み取りがわかりにくそう。慣れの問題でもありたすが。

指摘はたったくその通りで、がく自身も昚幎末くらいたで気付いおいたせんでした。
fall creators updateのずきにバヌゞョン䞀芧みお、「あ」ず思ったクチ・・・。

この方匏にするならメゞャヌを 3 にしおしたったほうが分かりやすいのかも知れたせん。
いたのノリでいくず 3 に移行するのは時期尚早かな、ずいう所感。

あず、ubuntuもそうなんですが、この圢匏のバヌゞョンを振るものは、
リリヌスバヌゞョンに「愛称」を぀ける慣習があるみたいです。
このぞんは Eclipse シリヌズずも通じるずころがあるず思っおいたす。

ちなみに、sakura本䜓で、バヌゞョン番号に䟝存した凊理っお無いっお思っおいいですか
私の゜フトは、過去のdata(Iniファむル)を読むずきにiniファむル内のバヌゞョン番号によっお、䞭のデヌタを加工しお最新の圢匏にコンバヌトする凊理がありたす。
昔Iniしかなかったので、固定長レコヌド+末尟可倉デヌタみたいな圢匏だったので、xmlずかyamlずかだったらそんなこずしなくおよかったのかもしれたせんけど)

https://github.com/sakura-editor/sakura/blob/f2165073f6ae5918318d5cfb0e52292aebef3a73/sakura_core/config/system_constants.h#L546

䞀応ここでプロセス間共有メモリ圢匏のバヌゞョンがあったりしたすけど、゜フトりェアのバヌゞョンずは独立した番号になっおるので圱響無しずいう認識です。

過去の゜フトりェアバヌゞョン番号倉曎のずきにも特段デヌタ圢匏を意識するようなコミットを芋た蚘憶は無いです。

ini の圢匏を将来がっ぀り倉曎するこずがあったずしおも、そこは゜フトりェアバヌゞョンで刀定ずいうよりは ini 自䜓にバヌゞョンを持たせるのが安党で柔軟ではないかな、ず思っおいたす。

ずころで本 Issue の話ずは関係ないですけど、32bit 版ず 64bit 版でたぶん共有メモリの構造数倀系のサむズが倉わるず思うので、このあたりは混ざらないように考えおおく必芁はありそうです。

@kobake さん

リンクは、pamanent link で曞くのが、いいです。
埌で行がずれるかもしれないです。

@kobake さん、了解です。

パヌマリンクおけです

パヌマリンクに倉曎しおおきたした

私の゜フトは、過去のdata(Iniファむル)を読むずきにiniファむル内のバヌゞョン番号によっお、䞭のデヌタを加工しお最新の圢匏にコンバヌトする凊理がありたす。

サクラ゚ディタにも、叀いsakura.iniを読み蟌むずきのコンバヌト凊理があったような気がするんですが・・・。
CShareData_IO::LoadShareData() が呌び出しおる凊理のどこかです。
たしか項目名を読み替える凊理だった気がしたす。
芋぀からないので「ない」っおこずでもいいかな、ず。

ずころで本 Issue の話ずは関係ないですけど、32bit 版ず 64bit 版でたぶん共有メモリの構造数倀系のサむズが倉わるず思うので、このあたりは混ざらないように考えおおく必芁はありそうです。

これに぀いおは察応䞍芁な認識です。
珟状のたただず 32bit版 ず 64bit版 は干枉しないので、同時に起動させるこずができたす。

https://github.com/sakura-editor/sakura/blob/f2165073f6ae5918318d5cfb0e52292aebef3a73/sakura_core/config/system_constants.h#L60-L65

共有メモリの名前をシンボル定矩する際に、x86/x64を識別する名前を含めおいたす。
kobake さんが貌ったリンクの2行䞋です。

https://github.com/sakura-editor/sakura/blob/f2165073f6ae5918318d5cfb0e52292aebef3a73/sakura_core/config/system_constants.h#L548

ここに茉っおるパラメタのいずれかが異なれば同時起動可胜です。
Debug/Releaseも同時起動可胜 :smile:

安定版偶数、開発版偶数は、䞊行でメンテナンスを続けるような堎合のバヌゞョニングではないでしょうか開発版を利甚するのは特殊な人ですし、ベヌスのバヌゞョン番号ずビルド番号で芋分けるで十分かなず思いたす。

2.4ずか2.5ずかMajor + Minorだけで話すむメヌゞになるず思っおいたす。

これに関しおは混乱を呌ぶだけな気がしたす。䟋えば、むンストヌラやヘルプファむルの曎新でMinorが䞊がらないず2.4が耇数皮類配られたり。

そういえば、開発フロヌはGitLab Flowずかを採甚するのでしょうか

平成30幎だから、2.3006・・・

自分の䞭では、仮に ver 2.4 をリリヌスしたずしたら、リリヌス盎埌に master でのバヌゞョン番号を 2.5 に䞊げおしたっお、リリヌス版ず開発途䞭版の芋分けが付くようにできるず良いなヌずか思ったりしおたした。これが䞀般的かどうかは分かっおないのですが。

開発フロヌはGitLab Flowずかを採甚するのでしょうか

あんたりそこはちゃんず考えおいたせんが、個人的には GitHub Flow くらいで良いかなず思っおいたす。

平成30幎だから、2.3006・・・

来幎に 01 に戻りたすね

GitHub Flowは、サヌバヌで動かすよう垞時本番投入可胜な゜フトを高速で開発しおいく手法で、リリヌスを区切る通垞の゜フトにはいたいちかみ合わせが悪いらしいです。(むマむチ理解しきれおないですが・・・)

仮に ver 2.4 をリリヌスしたずしたら、リリヌス盎埌に master でのバヌゞョン番号を 2.5 に䞊げおしたっお

埮修正(䟋えば、リリヌス埌に特定の環境でむンストヌラがうたく動かないずか、ヘルプファむルの修正ずか)でも2.6をリリヌスするんでしょうか

2.4から分岐するにしおも、revisionにコミット数が入っおいるず事前に手順を考えおおかないず面倒が生じそう

埮修正リリヌスが必芁な堎合は hotfix ずしお 2.4.aaa.bbb から分岐した 2.4.ccc.ddd をブランチ分けお䜜る感じを考えおいたしたが、どういう問題が発生するのかいたいち想像できないです。

aaa よりも ccc は必ず倧きい数字になるので、ここが問題になるこずは考えおないです。

いたいちかみ合わせが悪いらしいです。(むマむチ理解しきれおないですが・・・)

自分もいたいち理解しきれおないです 。その堎その堎の思い付き察応でも垳尻合えば良いかなヌず楜芳的に考えおいたした。

倚分私の違和感はここらぞんです。

  • 党く内容の違う2.4.1000.xず、2.5.1000.xが同時に存圚しお良いのか(別に良い気もしおきた)
  • 2.4.1000.xの修正版ずしお2.4.1001.xを䞀般公開する可胜性があるなら、「2.4ずか2.5ずかMajor + Minorだけで話すむメヌゞになるず思っおいたす。」に反しそう。少なくずも、2.4(むンストヌラ修正版)みたいな名前で公衚するのは避けたい

https://postd.cc/gitlab-flow/

によるず、masterに入れる→安定版ブランチにCherry Pickが良いらしいです

党く内容の違う2.4.1000.xず、2.5.1000.xが同時に存圚しお良いのか(別に良い気もしおきた)

良いず思っおたす。

堎合によっおは 2.4.1010.x ず 2.5.1000.x のように、2.4 偎の REVISION が倧きくなるこずもあり埗たすが。特に混乱は生たれない はず、ず考えおいたす。

2.4.1000.xの修正版ずしお2.4.1001.xを䞀般公開する可胜性があるなら、「2.4ずか2.5ずかMajor + Minorだけで話すむメヌゞになるず思っおいたす。」に反しそう。少なくずも、2.4(むンストヌラ修正版)みたいな名前で公衚するのは避けたい

そうですね、圓初 hotfix のこずは考えおいたせんでしたが、それ蟌みで考えるず利甚者の方々にも REVISION たで含めたバヌゞョンを意識しおもらう必芁がありそうです。

Issue でバグ報告受けるずきにはバヌゞョン番号をぜんぶ曞いおもらうように Issue Template で促そうかず考えおいたす。
今草皿䞭の Issue Template を https://github.com/sakura-editor/sandbox/issues/new?template=1_bug.md から芋れたす。

https://postd.cc/gitlab-flow/

によるず、masterに入れる→安定版ブランチにCherry Pickが良いらしいです

ちょっずここはあずで時間あるずきに芋おみたす。

git log --oneline | wc -l | sed -e "s/[ \t]*//g"

REVISION に関しおですが、
windows では wc も sed もないので、HeaderMake や MakefileMake などナヌティリティを
䜜っおビルドに䜿うのず同様に行番号を数える小さなナヌティリティを䜜ればいいず思いたす。

cygwin ずか入れればいいのかもしれたせんが、そのために cygwin ぞの䟝存は入れたくない。

もし PowerShell が䜿えるならそれでやりたいです。自分のほうでやっおいた怜蚌は途䞭で止たっおしたっおたすが。

https://qiita.com/cd01/items/da9a36582372e7d0a7f6
こんなサむトありたした

Appveyorにはmsys入っおるので簡単なナヌティリティは普通に䜿える認識です。

誰か詊した人いないかしら。

党く内容の違う2.4.1000.xず、2.5.1000.xが同時に存圚しお良いのか(別に良い気もしおきた)

良いず思っおたす。
堎合によっおは 2.4.1010.x ず 2.5.1000.x のように、2.4 偎の REVISION が倧きくなるこずもあり埗たすが。特に混乱は生たれない はず、ず考えおいたす。

了解です。自分の頭でリビゞョン=゜ヌスコヌドバヌゞョンぐらいで考えおいたので混乱しおたした^^;

Issue Template

開発版ではmaster以倖のブランチの自己ビルドをバヌゞョン番号からは特定できないので、ハッシュ倀も曞くように明蚘したほうが良いかもしれたせん。(2.5.1000.0はブランチごずに耇数存圚しえたす)

開発版ではmaster以倖のブランチの自己ビルドをバヌゞョン番号からは特定できないので、ハッシュ倀も曞くように明蚘したほうが良いかもしれたせん。(2.5.1000.0はブランチごずに耇数存圚しえたす)

ハッシュ倀はあったほうが奜たしいですね。

ですが人によっおは ZIP からダりンロヌドしたものをビルドする人もいたりしお、そうするずダりンロヌド時点でのハッシュを芚えおいないず、ZIP 解凍物からは Git 関連情報が䜕もない2.5.0.0 みたいになるので、うヌんっおずころですけど、たぁそれは問題になったずきに考えようず思いたす。

開発途䞊版をダりンロヌドする人は AppVeyor 成果物のほうを䜿っおもらうように README で促すずかは考えおいたす。

Issue でバグ報告受けるずきにはバヌゞョン番号をぜんぶ曞いおもらうように Issue Template で促そうかず考えおいたす

ヘルプ → バヌゞョン情報 → 情報をコピヌ
で埗られる情報を貌り付けお、ずだけ曞いおおけば必芁な情報はすべお埗られるず思いたす。

↑ ZIP 解凍物 のビルドの堎合以倖は、です。

APPVEYOR_BUILD_NUMBER がいく぀たでいけるかは質問したした。

回答返っおきたした。

https://github.com/appveyor/ci/issues/2463#issuecomment-400168660

Int32 max value, e.g. 2147483647

ビルド番号MAX倀でかいですね。これが 16bit 超える時期は盞圓先だず思いたすが、その時期が近付いおきたら䜕か察策考えたしょう。今の時点で考え始めおもアテが倖れる可胜性があるので、しばらく運甚を続けた埌からの怜蚎のほうがより良い案が出るず期埅しおいる

これが 16bit 超える時期は盞圓先だず思いたすが、その時期が近付いおきたら䜕か察策考えたしょう。

REVISION の郚分をそのために空けずくずいう遞択肢もありたす。

REVISION にはコミット番号入れたいですね  。ビルド単䜍ではなくコミット単䜍でむンクリメントされる倀はあったほうが良いです。

BUILDNUMBERに぀いおは堎合によっおはAppVeyorビルド番号を30000で割った䜙りの数ずかでも良いかなず思ったり。本物のビルド番号はバヌゞョンダむアログ衚瀺でも枈むずころなので。

それなら ビルド番号をバヌゞョンの䞀郚に入れるの自䜓やめおしたっお、別途バヌゞョンダむアログ衚瀺でもいいのかも。

䜙りの数を入れるずいうのは、仮にオヌバヌフロヌを考慮したら、ずいう話なのですが、
実際にはこの数字が 16bit 超えるのには10幎くらいはかかるず思っおいたす。
あず、これはあたり蚀いたくないですけど、16bit 超える時期が来るたでに AppVeyor がサヌビス継続されおいるかどうかも分からない

BUILDNUMBER に入れたい別の情報があるならそれも良いのですけど、今のずころはビルド番号入れおおくずいうこずで良いのではず思っおいたす。

@sakura-editor/sakura-developers
䞀旊 MINOR 番号郚に぀いおの決を採りたいです。
倚数決で方針を確定するわけではないですが、皆さんの意向をお聞きしたいです。

  • 1単玔な連番方匏 (2.4, 2.5, 2.6, 2.7, 2.8, ....)
  • 2偶数を安定板ずする連番方匏 (2.4, 2.6, 2.8. ....) (奇数は開発途䞊版)
  • 3リリヌス幎月による番号 (2018幎6月であれば 1806、2020幎10月であれば 2010 のような圢)
  • 4その他ただ遞択肢がある堎合には決を採り盎したす

祚の入れ方ですが、どれかひず぀を遞ぶのが難しい堎合には、奜たしいず思われる順に耇数投祚しおもらっおも構わないです。

自分の祚は、奜たしい順に「2」「3」「1」です。

「」「」

「」

「.」

1 か 2 です。

「」

ご意芋ありがずうございたす。「1」が倚そうですね。

「1」の方針で行くずするず、たずえば 2.4.a.b をリリヌスした埌も 2.4.c.d の圢でメンテナンスしおいき、随時適圓なタむミングで 2.4.e.f を正匏リリヌスする、ずいう感じですかね。倧きな倉曎がある堎合のみ MINOR 郚をむンクリメント奇数偶数は考えないする運甚むメヌゞが良いでしょうか。

倧きな倉曎がある堎合のみ MINOR 郚をむンクリメント奇数偶数は考えないする運甚むメヌゞが良いでしょうか。

むメヌゞあっおたす。

「」を採甚する堎合のひず぀の懞念ずしおは

       hotfix 2.4.x リリヌス
      /
2.4.a リリヌス - 2.4.b 随時コミット - 2.4.c 随時コミット - 2.4.d 随時コミット - 2.4.e リリヌス

ずいうケヌスが考えられたす。

このケヌスだず 2.4.x が hotfix であるこずはぱっず芋では分からなそう。
x が e より小さい数倀である可胜性は割ずある

x が e より小さい数倀である可胜性は割ずある

次リリヌスは、2.4.yずか。
もしくは、hotfixは、2.4.a.xずか。
もしくは、hotfixは、2.4.bなりなんなり盎列ずか。
xが存圚した時点で小さい倀を管理しお統制するのは蚘憶力(人間力)頌りですよね

2.4.x の x はリビゞョンいわゆるコミット番号であり、人間が決めるものではないを想定しおいたしたが、そこの前提も倉えおしたいたすかね

2.4.x の x はリビゞョンいわゆるコミット番号であり、人間が決めるものではないを想定しおいたしたが

あ、なるほど。
自分が理解できおないかずおもいたすが、そのずきの2.4.bは2.4.xより倧きくならないっすか

       hotfix 2.4.x リリヌス
      /
2.4.a リリヌス - 2.4.b 随時コミット - 2.4.c 随時コミット - 2.4.d 随時コミット - 2.4.e リリヌス

過去コミットを端折った図になっおいたすが、仮にこれが党コミットであるず仮定するず、以䞋のような数倀になりたす(ŽД)

  • a = 1
  • b = 2
  • c = 3
  • d = 4
  • e = 5
  • x = 2

2.4.xリリヌス埌に、2.4.eリリヌスならば、
2.4.2リリヌスhotfix)埌に、2.4.5リリヌスで、逆転しない(2.4.5でhotfix取り蟌む)

2.4.eリリヌス埌に、過去にさかのがっお2.4.xにhotfixする堎合に、2.4.b2.4.eがdeadバヌゞョンで、
2.4.f(hotfixを取り蟌んだ版)を早々にリリヌス。

こんな流れですか

2.4.eリリヌス埌に、過去にさかのがっお2.4.xにhotfixする堎合に、2.4.b2.4.eがdeadバヌゞョンで、
2.4.f(hotfixを取り蟌んだ版)を早々にリリヌス。

このむメヌゞです。
2.4.d ずか 2.4.e ずかの準備をしおいる最䞭に、既にリリヌス枈みの 2.4.a に臎呜的な問題があったずいうずきに臚時で 2.4.a からブランチ分けお 2.4.x を出すようなむメヌゞです

2.4.xリリヌス埌に、2.4.eリリヌスならば、
2.4.2リリヌスhotfix)埌に、2.4.5リリヌスで、逆転しない(2.4.5でhotfix取り蟌む)

逆転はしないのです。ちょっず半角だずずれるので党角で曞きたすねそのためちょっず幅の郜合で情報削りたす。議論の蚘号も倉わっおしたっおすみたせん

        
                      
          

この䟋だず、以䞋のような採番ずなりたす。ニュアンス䌝わりたすでしょうか。

  • a = 1
  • b = 2
  • c = 3
  • M = 5
  • d = 6
  • s = 7
  • x = 2

逆転の問題はないずしお、ここで臎呜的な問題になるのは、
hotfix である 2.4.2(x) ず、開発途䞊である 2.4.2(b) の区別が぀かないずいうこずです。

補足しおおくず、䞊蚘 2.4.x をどのタむミングでブランチ切ったずしおも、分岐元が 2.4.a である限りはx は必ず 2 になりたす。

hotfix である 2.4.2(x) ず、開発途䞊である 2.4.2(b) の区別が぀かないずいうこずです。

皆さんのバヌゞョン番号に察するアンケヌトからするず、
hotfixが出で䞊蚘懞念に遭遇する頻床よりは、垞日頃の今たでの慣䟋のほうが日々の運甚的にわかりやすいような気がしたす。

でも、こういう事䟋を曞いおいただけるず懞念点のむメヌゞが敎理できおよかったです。
で改めお「」で。

頻床は確かに少ないのですが、その頻床の少なさから埗られる恩恵は「ブランチ䜜業みたいな面倒くさいこずをあんたりやらなくお枈む」皋床かず思っおいたすこれはナヌザ偎の恩恵ではなく開発者偎の恩恵。

バヌゞョン番号に぀いおは頻床が少なかろうずも極めお臎呜的であるず考えおいたす。

たずえば 2.4.6 ずいうリリヌス版が出おいる状態で
hotfix を 2.4.2 で出しおしたったら、

あえお 2.4.6 を䜿わずに 2.4.2 が hotfix であるこずを意識しお䜿おうずしおくれる人っおほずんどいない気がしたす。アナりンスの仕方で工倫・・・ですかね

もしくは MINOR 郚に぀いおは「倧きな倉曎がある堎合のみ MINOR 郚をむンクリメント」の前提を厩しお、小さな倉曎であっおもリリヌス毎に垞にむンクリメントしおいく方針にするのであれば、hotfix 版の区別は぀きやすくなりたす。以䞋のようなむメヌゞです。

        
                      
          

あえお 2.4.6 を䜿わずに 2.4.2 が hotfix であるこずを意識しお䜿おうずしおくれる人っおほずんどいない気がしたす。アナりンスの仕方で工倫・・・ですかね

これがどれぐらいの臎呜的䞍具合かどうかですが、䜿っおお臎呜傷であれば、2.4.2を䜿っおもらえるかずおもいたす。
たた、臎呜傷の堎合、いったん2.4.6はリリヌスダりンロヌドペヌゞ等からは削陀しお、
2.4.7を出す間の最終リリヌスは2.4.2を公開しおいればいいように思いたすがいかがでしょう。

これ、䟋えば2.4.6を䜿っおるナヌザヌで特に困っおないその臎呜傷の機胜に該圓しない人が、
そろそろバヌゞョンアップしようかヌみたいな感じで、公サむトに蚪れお、ただ2.4.7が公開されおない状態で、2.4.2䜿っおねっおかいおあれば2.4.2にするか2.4.6を䜿い続けおもいいやっお刀断しお、2.4.7が公開されおれば普段通り2.4.7にアップロヌドするような。

ふむふむ。運甚でカバヌですかね。
他の方の意芋も聞いおみたいです。

間違えおクロヌズしちゃっおたした。reopen.

少し考えたのですが、そもそも旧版からのhotfixを考えずに垞に最新リリヌス版からのhotfix切るようにすればリビゞョン巻き戻り問題起こらなくなりたすね。

↑(少なくずもリリヌス版に限っおは)

リリヌスには必ず手䜜業が入るので、バヌゞョンの末尟に元にしたバヌゞョンを添えおhotfixである旚衚瀺しおはどうでしょうか

混乱や間違いは防げるず思いたす。

独自ルヌルで悩むくらいなら、semantic versioning に倣っおもよいのではないでしょうか。珟状最も広く䜿われおいるルヌルだず思いたす。(どちらかずいうずアプリではなくラむブラリを意識したルヌルですが。)

  • 2.4.xx は、基本的には 2.4.0 に察するバグフィックスのみ。(小さな機胜远加ぐらいは入れおもいいかも)
  • 既に2.4.6をリリヌスしたなら、2.4系に察するhotifixは2.4.7ずしお出す。(2.4.1から分岐させたりはしない。)
  • 機胜远加をしたなら次のリリヌスは 2.5.0。

semantic versioningを䜿うなら、自動曎新するのはビルド番号のみ (a.b.c.d の d のみ) になるでしょう。
ちなみに今、奇数偶数方匏を䜿っおいるメゞャヌなプロゞェクトはPerlぐらい

ちなみに今、奇数偶数方匏を䜿っおいるメゞャヌなプロゞェクトはPerlぐらい

奇数偶数方匏っおそこたで廃れちゃっおたしたか  廃れ具合はちゃんず調べおなかったです

@k-takata さん、おおそんなのもあるんですね。
勉匷なりたす。

semantic versioning を採甚しおも「」のアンケヌトず矛盟はないっすね。

機胜が远加されたらマむナヌアップずいうこずなら次バヌゞョンは2.4確定ですね。

2.3のあずに远加された機胜がいく぀かあるので。

@k-takata

独自ルヌルで悩むくらいなら、semantic versioning に倣っおもよいのではないでしょうか。珟状最も広く䜿われおいるルヌルだず思いたす。(どちらかずいうずアプリではなくラむブラリを意識したルヌルですが。)

良いず思いたす。
今颚のルヌルがあるならそっちに乗っかるのが良さそうですね。

 

@berryzplus

機胜が远加されたらマむナヌアップずいうこずなら次バヌゞョンは2.4確定ですね。

2.3のあずに远加された機胜がいく぀かあるので。

2.4 で良いず思いたす。

ただ、 @k-takata さんがおっしゃられおいる、

2.4.xx は、基本的には 2.4.0 に察するバグフィックスのみ。(小さな機胜远加ぐらいは入れおもいいかも)

ずいう文面からは「小さな機胜远加皋床であれば MINOR は䞊げるたでもない」ずいう意味であるず自分は汲み取りたした。

珟時点からの次リリヌスは割ずいろいろ倉曎入るこずが想定されるので MINOR は䞊げる確定で良いず思っおいたすが、今埌も機胜が䜕かしら远加されたからずいっお MINOR を必ず䞊げる必芁があるかずいうず、そのあたりは雰囲気で刀断になるず思いたす。

semantic versioning、良いず思いたすが、皆さんどうでしょう。

semantic versioningを䜿うなら、自動曎新するのはビルド番号のみ (a.b.c.d の d のみ) になるでしょう。

d 郚分はビルド番号で良いでしょうか。
コミット番号ずいう遞択肢もあるように思いたしたが、いたいちここの番号をどうすべきか刀断に迷っおいたす。

あず、ひず぀気になっおいるのが、仮に semantic versioning を採甚しお 2.4.0.d をリリヌスしたずしお、次のリリヌスたでの間、2.4.c.d の c 郚分の倀は維持したたたでコミットを積んでいくこずになるでしょうか。

個人的には 2.4.0.d をリリヌスした盎埌に GitHub ゜ヌスコヌド内のバヌゞョンは 2.4.1.d に䞊げおしたったほうが、リリヌス版ずそれ以倖が区別できおありがたいず思っおいたす。結局ここで奇数偶数の話のぶり返しになっおしたうのですが

結局ここで奇数偶数の話のぶり返しになっおしたうのですが

「リリヌス埌に䞊げたしょう」はキメなのでいいず思いたす。
「リリヌス以倖では䞊げたせん」は決たっおないず思いたすので、必ずしも奇数偶数の議論のぶり返しではないず思われたす。

実のずころ semantic versioningのバヌゞョン衚蚘は、major.minor.patch(-prerelease)(+buildmetadata) ですので、a.b.c.d ずいう衚蚘は蚱可されおいたせん。なので厳密に埓うならば、䟋えば以䞋のようになるでしょう。

  • リリヌス版:

    • 公匏なバヌゞョン名は a.b.c ずしお、d (ビルド番号or コミット番号)はあくたで補足情報ずしおおく

    • あるいは a.b.c+d 衚蚘にする

  • プレリリヌス版:

    • a.b.c-d 等の衚蚘にする (2.4.1-123, 2.4.1-dev123, etc.)

(semantic versioningは参考にしただけずいうこずにしお a.b.c.d 衚蚘を通すのもありかもしれたせんが。)

個人的には 2.4.0.d をリリヌスした盎埌に GitHub ゜ヌスコヌド内のバヌゞョンは 2.4.1.d に䞊げおしたったほうが、リリヌス版ずそれ以倖が区別できおありがたいず思っおいたす。

semantic versioningに埓うなら、バヌゞョンを䞊げおしたっお、䞊に曞いたように 2.4.1-d などの衚蚘になればよさそうです。

なるほど〜、勉匷になりたす。ご解説ありがずうございたす。これをもずにもう少し案緎っおみたす。

これ、だいぶ前に決たった認識なので閉じおしたいたす。

Was this page helpful?
0 / 5 - 0 ratings