« RubyCocoa の svn trunk でテンプレートが正しくインストールされない?(未解決) | トップページ | RubyCocoa 今日のコミット »

2006.09.18

svk patch って?

前から気にはなっていたのだけど、svk には patch というサブコマンドがある。ある程度の変更は、コミットする前にパッチ(diff)を ML に投げるって手順が多いので、このコマンドの機能が気になっていた。

まずは help。

 % svk patch help
 NAME
 
     patch - Manage patches
 
 SYNOPSIS
 
      patch --ls    [--list]
      patch --cat   [--view]       PATCHNAME
      patch --regen [--regenerate] PATCHNAME
      patch --up    [--update]     PATCHNAME
      patch --apply                PATCHNAME [DEPOTPATH | PATH] [-- MERGEOPTIONS]
      patch --rm    [--delete]     PATCHNAME
 
 OPTIONS
 
      --depot DEPOTNAME      : operate on a depot other than the default one

…って、パッチを作成する方法がないじゃん!なんだよ --regen って?

というわけで CPAN のドキュメント SVK::Command::Patch。ついでに SvkHelp - GCC Wiki。さらに svk patch - SVK Book

  • パッチの作成は svk push -P(--patch) PATCHNAME で作成
  • パッチは PATCHNAME で depot に保存される

ということがわかった。

GCC Wiki の例を見る限りでは、push -P でミラー先が更新されることはないようだけど、少し不安。RubyCocoa を修正するときに試してみるか、と思ったところ

 % svk sync -s HEAD //mirror/rubycocoa_sf/trunk
 RA layer request failed: REPORT request failed on '/svnroot/rubycocoa/!svn/bc/10
 87/trunk': REPORT of '/svnroot/rubycocoa/!svn/bc/1087/trunk': 200 OK (https://sv
 n.sourceforge.net)

というわけで、ローカルリポジトリ作れず。

(2007.02.12 追記)svk が利用している perl モジュールの問題のようです。コメントくれた人、ありがとうございます。

ついでに。10月に svk patch の動作まとめ たのでここに書いておく。

|

« RubyCocoa の svn trunk でテンプレートが正しくインストールされない?(未解決) | トップページ | RubyCocoa 今日のコミット »