ソースの表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ Share via Share via... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer Reddit Teams最近の変更Send via e-Mail印刷パーマリンク × « pfSense 2.4.5 on PVE 6.3でConnectX-3のVFが認識されない PVEとConnectX-3とWindowsでSR-IOVが使えないのはMLNX_OFEDが古いせい » FreeBSDの/usr/srcをGitに移行する 2020年12月末にFreeBSDのソースコード管理がSubversionからGitへと移った。将来的に/usr/srcの更新にもgitを使うことになると思われる。現状、Handbookの解説はsvnを使った方法のままだが、そのうち更新されるだろう。一足先にreleng/13.0を使いたいのでgitに移行してみた。 参考資料は↓このへん: Warner's Random Hacking Blog: FreeBSD Subversion to Git Migration: Pt 2 Primer for Users Warner's Random Hacking Blog: FreeBSD Subversion to Git Migration: Pt 1 Why? GitHub - bsdimp/freebsd-git-docs: Draft copies of the FreeBSD git transition documents リポジトリは↓ここ: https://git.freebsd.org/src.git cgit.freebsd.orgにリダイレクトされるけど、cなしの方が公開ミラーという扱いっぽい。cなしURLを使っといたほうが良さそう? 以下の方法はオレオレ式で、FreeBSDプロジェクトの公式方法ではないので注意。 何はともあれgitをインストール。 # pkg install git /usr/srcの中身を消す。過去にmake worldしたことがある人は、オレオレカーネルコンフィグファイルとかがあると思うので間違って消さないよう気をつけて下さい。.svnフォルダの削除も忘れずに。 # cd /usr/src # rm -rf * .* Gitリポジトリからソースコードを取得する。 何もせずに取得(クローン)すると変更履歴をローカルに全て持つことになる。いち利用者としては過剰なので、–depthで取得範囲を制限する。同オプションを使うと、mainブランチ―FreeBSDで言うところのCURRENTしか取得されないので、–no-single-branchを加えて他のブランチ情報を取得するようにする。 # pwd /usr/src # git clone -o freebsd --depth 1 --no-single-branch https://git.freebsd.org/src.git . なお、当方の環境では/usr/srcが独立したZFSデータセットとなっており、中身を空にしても.zfsディレクトリは常に存在する。Gitの「ディレクトリが空じゃないよ」エラーでクローンできなかったため、いったん/usr/src/gitsrcにクローンし中身を/usr/srcに移す方法を採った。 # pwd /usr/src # git clone -o freebsd --depth 1 --no-single-branch https://git.freebsd.org/src.git gitsrc # mv gitsrc/* . # mv gitsrc/.* . # rmdir gitsrc クローン完了後、git branch -rでreleng/13.0などのブランチがだらら~と表示されればOK。 13.0-RELEASEブランチに切り替える。 # git checkout releng/13.0 実のところ特定ブランチだけなら、-bオプションでgit clone -o freebsd -b releng/13.0 –depth 1 https://git.freebsd.org/src.git /usr/srcとすれば良い。こっちの方がディスクの消費量も少ないし。 ただまぁ、どうせgit使うならブランチ情報込みで持っといた方が、今後13.1-RELEASEなどが出てきた時もgit pullしてgit checkoutするだけで良くなるので、面倒がないかなーと。 (2021-02-18 追記) 他のライブラリなどに依存しない、軽量gitクライアントとしてnet/gitupが用意されている。名前のとおりnet/svnupのGit版の位置づけっぽので、ソースコードのクローンしかできなさそう。 ソースコードを取ってくるだけなら、gitupを使った方が依存関係ができなくていいかも? Comments Name E-Mail Website 人間の証明として、ボックス内の全ての文字を入力してください。 この項目は空のままにして下さい:Preview Comment blog/2021/2021-02-09.txt 最終更新: 2022-04-21 11:12by Decomo