LoginSignup
1
0

More than 5 years have passed since last update.

lernaでincludeMergedTagsを設定しないとマージコミットが変更として検知されてしまう

Last updated at Posted at 2019-02-08

lernaではlerna version --conventional-commitsというように--conventional-commitsオプションを使うことで、コミットから次のバージョンを推測できます。

詳しくはlernaでのmonorepoにおけるリリースフロー(Fixed/Independent) | Web Scratchを参照。

しかし、この--conventional-commitsはデフォルトでは問題があります。
GitHubではPRをマージするとマージコミットが作られますが、このマージコミットも変更のコミットとして扱われてしまいます。

image.png

タグ付け後のマージコミットが全体の変更として扱われる

これによって、変更してないけどマージコミットによって、バージョンを上げないといけないといった判定になってしまいます。

includeMergedTags

この問題を回避するため、lernaには--include-merged-tagsというオプションがあります。

このオプションを有効化するとマージコミットは無視してくれます。
これによってマージコミット != 全体の変更ではなくなるため、無駄なバージョンアップを避けれます。

このオプションはCLIでは次のように有効化できます

lerna changed --include-merged-tags

lerna.jsonではincludeMergedTagsで設定できます。

{
  "version": "independent",
  "npmClient": "yarn",
  "useWorkspaces": true,
  "packages": [
    "packages/*",
    "examples/*",
    "packages/@textlint/*",
    "test/integration-test",
    "website"
  ],
  "includeMergedTags": true
}
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0