※当サイトの記事には、広告・プロモーションが含まれます。

Oxidizedのconfigのoutputをgitにした際のデフォルトのリポジトリがbareでbranchがmasterな問題

nazology.kusuguru.co.jp

そして2024年10月15日、NASAは、2019年12月に始まった「第25太陽周期」において、太陽の活動が最大となる「太陽活動極大期」に達した公式発表しました。

【太陽活動が極大期に達した】NASAが公式発表「この状態はあと1年は続く」 - 科学ニュースメディア!ナゾロジー

⇧ 日々の生活に影響が無いかだけが気になりますな...

Gitリポジトリの構成の種類とOxidizedと

前回、前々回と、

ts0818.hatenablog.com

ts0818.hatenablog.com

⇧「Oxidized」というライブラリの内部で「Rugged」というライブラリが利用されており、「Rugged」は「Git」のリポジトリを「bare repository」として扱ってしまうという話が出てきました。

「Git」のリポジトリで「bare repository」はというと、

stackoverflow.com

⇧ 上図の構成から「Workig Dir」の部分を除いた部分と考えれば良い模様。

「Git」のリポジトリの構成の種類の全量が分からんのだが、公式のドキュメントだと、

git-scm.com

git-scm.com

git-scm.com

⇧ このあたりを読むしか無い感じなんかな。

「git clone」のオプションの検証結果を試しておられる方がいて、

www.omnibuscode.com

⇧ 上記サイト様によりますと、「Git」のリポジトリについては、少なくとも4種類の構成が存在することになるようで、

  • bare
  • non-bare
    • normal
    • no-checkout
    • mirror

⇧ という区別ができそうですと。

Oxidizedのconfigのoutputをgitにした際のデフォルトのリポジトリがbareでbranchがmasterな問題

で、昨今、

github.blog

about.gitlab.com

⇧「Git」のリポジトリのデフォルトの「branch」が「master」では無く、「main」になっていますと。

つまり、「main」ブランチで処理されて欲しい。

が、「Oxidized」のドキュメントを見た限りでは、

github.com

github.com

⇧ ブランチの指定ができるようにはなっておらず、

zenn.dev

特に問題ではないのですが、Oxidizedのこちらのリポ機能はGithub用に作られているみたいで、デフォのリポ名がMasterになっています。
GitlabはデフォがMainになりますので、事前にGitlab側ですり替えておくか、Oxidizedの設定で変更する必要があります。(今回の例ではGitlab側で変更してます。)

OxidizedによるGitlabへのコンフィグバックアップ

⇧ドキュメント通りに実行すると「master」ブランチで処理されてしまうようですと。

何と言うか、「config」で「branch」指定できるようにしておかなかったのが何故なのか全くもってよく分からんのだけど...

そもそも、「master」ブランチに限定したユースケースしか想定していないのは謎過ぎるんよね...

Oxidizedのconfigのoutputをgitにした際のデフォルトのリポジトリがbareでbranchがmasterな問題に対応するには?

どうしたものか思案していたところ、

「Oxidized」の「config」の設定項目「output」で「git」にした場合のissueが上がっており「open」の状態だったので、追加質問してみたところ、

github.com

⇧ というような回答をいただきましたと。

つまり、「Oxidized」が実行されるより前に、予め「Git」の「bare repository」を生成しておき、「branch」が「main」のブランチを作成し、「branch」の参照を「main」ブランチにしておくという対応。

「Git」の公式のドキュメントによると、

git-scm.com

⇧ とありますと。

「Oxidized」内部での「Rugged」の実装・処理の振る舞いが理解できていないので、「Oxidized」内部での「Rugged」の実装が、事前に用意しておいた「Git」のリポジトリの「main」ブランチで処理してくれるのかが分からないのだけど、他に対応できそうな方法が無さそう。

何と言うか、「Oxidized」の公式のドキュメントに対応方法を記載しておいて欲しいんだが...

まともに動作させるまでの条件などを端折り過ぎなんよね...

とりあえず、動作確認してみるしかないってことですな...

2024年10月22日(火)追記:↓ ここから

何やら、

github.com

github.com

⇧ 2024年10月15日に、ドキュメントの変更があった模様。

Oxidizedが動く前に、

git config --global init.defaultBranch <Name>

⇧ を設定しておけば良いってことなんかね?

謎なのは、

github.com

⇧ 何故、outputの方のドキュメントに記載しないのか...

何か、

github.com

⇧ Oxidizedのメンテナーの人から連携いただいたのですが、厳しいかもしれないとのこと。そして、git pushをプロキシ経由でするのは、Oxidizedの想定していない利用のされ方ということらしい。

2024年10月22日(火)追記:↑ ここまで

毎度モヤモヤ感が半端ない…

今回はこのへんで。