サンプルデータのダウンロードに書きフックのためのsubversion Windows[定休日]

StackOverflow https://stackoverflow.com/questions/5134

  •  08-06-2019
  •  | 
  •  

質問

どのプラットフォームに書き フック のための SubversionWindows?私が知る限りでは、実行ファイルを使用できます。その最良の選択?

  • 平野のバッチファイル(ももOKのための非常に簡単なソリューションズ)
  • 専用のパイプ大槌割れのように?)
  • その他のハイブリッドインプリケーションのようなバッチファイルの走行は、Powershellスクリプト)
役に立ちましたか?

解決

私は数日を過ごした先延ばしいこの質問です。ある第三者の製品ごとたっぷりのPERL、Pythonスクリプトがたかったのか簡単に言ったのでよくわかっていばかり書面のフックにC#のコンソールアプリです。でも真っ直ぐに:

public void Main(string[] args)
{
  string repositories = args[0];
  string transaction = args[1];

  var processStartInfo = new ProcessStartInfo
                           {
                             FileName = "svnlook.exe",
                             UseShellExecute = false,
                             CreateNoWindow = true,
                             RedirectStandardOutput = true,
                             RedirectStandardError = true,
                             Arguments = String.Format("log -t \"{0}\" \"{1}\"", transaction, repositories)
                           };

  var p = Process.Start(processStartInfo);
  var s = p.StandardOutput.ReadToEnd();
  p.WaitForExit();

  if (s == string.Empty)
  {
    Console.Error.WriteLine("Message must be provided");
    Environment.Exit(1);
  }

  Environment.Exit(0);
}

き起こる前にcommitを追加する前のコミットするcmdファイルのフックフォルダのレポ-レートのインストール:

[path]\PreCommit.exe %1 %2

するようにしてくださいここを失わせないアイテムが最終的にはこの数分だけ符号といいます。また、利用します。NETのストリート厚で遠くの選択肢.私が勉強してフック出を大幅に書き適切な試験に対してビットは難しいことDOSバッチファイル!

ちなみに、コードの予測を算出するのに使用したから このポスト.

他のヒント

また複雑な要件のように:

  1. 特定のユーザーをフォルダのSVNツリーも皆様に編集できるファイルが
  2. 特定のファイルの拡張子を含めることはできません特定のファイル内のテキスト
  3. 特定のファイルの拡張子で保存されるディレクトリのサブセット
  4. どについて簡単なものなどがなくてはいけコミットコメント
  5. 回帰テスト走行の新フックに対し、以前のすべてのSVN犯

#5が大きいがないから、大変な作業だったと思いません休憩を犯移動しておりめ、以前のすべての犯を通じて新しいフック。のフックを理解する1234た改1234-1した取引を適切な数の引数が呼び出しsvnlook。に決定しています。

前からやっていたのですが、ナットも十分に大きいことを完全にユニットテスト容易化、回帰テスト容易化、C#のコンソールexeのです。したconfigファイルのディレクトリの制限を解析し、既存のhttpd_authzファイルを"特権"ユーザーなど。たしていないWindowsます。NET開発作業を力いう記述ですべてのPythonが、それをサポートする必要があるので、今後ます。純ます。BAT,.VBS,ユsilliness.

個人的には思Powershellは異なる十分です。純るとする説などさまざまな説があり駄目として、"スクリプティング"です。い場合にのみcmdラインの支援によPS(交換、Windows2k8)など。がばいいので解析テキストまたはアクセスです。当期純物PSだけで追加し狂の構文カセ鉄のカーテンが何をできる"ポンヌッフ"とは少ない。NETアプリです。

チェック CaptainHook, "の簡単なプラグインの枠組み文書Subversionのフック。純".

によって複雑な状況が異なる場合、私はただ単に移動ファイル、ん、迅速バッチファイルです。ばもう少し前向きなことをやりたいより複雑な病気の"ねんどろいどスキップのスクリプティング部を書き、迅速c#プログラムに対応できます。

問題はいまそのc#プログラムsvnで番号:)

編集: に専用のc#申請ができる再利用コードの断片をフック後、簡単なログ出力で作成した対応フックです。

長々と書きましたがフックで Python Windowsではいくつかありますので、それぞれの事例に(通常はLinuxの差は、小さい).も使用しています Trac 統合SVNがTracのAPIにアクセス可能なPythonによるディスプレイに自動的に作成/変更TracのチケットからSVNフックのためのイントロダクションです。

またphpの実行を簡単にphpのクラスに書きフックスクリプトはphpなどで表示しま http://www.devhands.com/2010/01/subversion-hook-php-framework-in/

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top