先日、FreeBSD のソースコード管理が subversion から git に変更になった旨を『厄介だ』と紹介したのですが・・・
その厄介さを払拭するメンテナンスツールが既に用意されていたのでした。
この手の情報が数えるほどしかなく、日本語による情報を当方が見つけたのはここだけです → KNCN weblog /usr/src を gitup で取得する
#見落としの可能性もあるのでご容赦を・・
これは、OSの標準コマンドではないので、出来る限り最新のports から、
# cd /usr/ports/net/gitup
# make install
# make clean
# rehash
とかやって、インストールします。インストール後、 /usr/local/etc/gitup.conf を以下のように適宜編集します:
(一部抜粋)
# $FreeBSD$
#
# Default configuration options for gitup.conf.
{
"defaults" : {
"host" : "git.freebsd.org",
"port" : 443,
# "proxy_host" : "",
# "proxy_port" : 0,
# "proxy_username" : "",
# "proxy_password" : "",
# "source_address" : "",
"low_memory" : false,
"display_depth" : 0,
"verbosity" : 1,
"work_directory" : "/var/db/gitup",
},
"ports" : {
"repository_path" : "/ports.git",
"branch" : "main",
"target_directory" : "/usr/ports",
"ignores" : [
"distfiles",
"packages",
],
},
"release" : {
"repository_path" : "/src.git",
"branch" : "releng/13.0",
"target_directory" : "/usr/src",
"ignores" : [
"sys/amd64/conf",
"sys/arm64/conf",
"sys/i386/conf",
"sys/pc98/conf",
"sys/powerpc/conf",
"sys/riscv/conf",
"sys/sparc64/conf",
]
},
"stable" : {
"repository_path" : "/src.git",
"branch" : "stable/13",
"target_directory" : "/usr/src",
"ignores" : [
"sys/amd64/conf",
"sys/arm64/conf",
"sys/i386/conf",
"sys/pc98/conf",
"sys/powerpc/conf",
"sys/riscv/conf",
"sys/sparc64/conf",
]
},
見ての通り、JSON 形式な設定ファイル。
初めてだと JSON 形式に面食らうんですが、割と直感的に変更できます。
gitup.conf を編集後、
# gitup release
とやれば、今まで同様の /usr/src 配下へのソースコード取得、
今後は、ports ツリーもgit 管理になるらしいので、そうなった際は、
# gitup ports
で、従来のように /usr/ports 配下への取得が出来るようです。
ただ、ports ツリーの取得は、前処理・後処理があるので、portsnap のほうが使い勝手は良いです。
〔参考〕portsnap が更新しない場合の対処法
尚、新規取得時も更新時も同じコマンドラインで出来ます。