3

ここにコメントがあるので、これはwikiとして最適かもしれません: 一般的で有用なSVNpre-commitフックを共有する

Windows7マシンでVisualSVN2.1.7を使用しています。さまざまな国から開発者が参加しており、変更のローカルコピーを実行してから、作業中の各Webサイトのサーバーにftp経由で手動でアップロードすることにより、コードの変更を管理できます。

これは非常に時間のかかるプロセスですが、ライブサイトのバグを修正するよりも時間がかからないため、正しい方向への第一歩です。

Visual SVN Webサイトでは、コミット後フックとコミット前フックについて言及していますが、GUIがあると述べていても、どこにアクセスできるかは示されていません。インストールされたバージョンにはGUIの兆候もオプションもありません。そのため、最初に、どこにアクセスするかを見つけることができません。

スクリプトを介して実行できると仮定して、私はグーグルでSOに来て、それがどこにあり、どのように実行されるかについてのガイダンスを探しましたが、思ったよりもはるかに複雑なようです。

Windowsで(perlをインストールせずに)次のタスクを実行する方法について、サンプルスクリプトを含む経験やガイダンスを持っている人はいますか?

a)コミット前のコマンド/ファイルを作成し、その実行をリポジトリに添付/コミットしますb)コミット後のコマンド/ファイルを作成し、その実行をリポジトリに添付します/コミットします

私の場合、1つの特定のタスク:c)コミットされたファイルをリモートCentOS共有ホストサーバー(VPS / Dediまたはクラウドホストではなく、SVNをそれらにインストールできない)に送信できるPCにローカルVisualSVNをインストールする方法マシン)

これは素晴らしいソフトウェアですが、どのような質問をする必要があるのか​​、どこを見ればよいのかが明確でないため、効率を上げるにはかなりの障壁があるようです。うまくいけば、あなたは同じように立ち往生している人々のためのより良い出発点を提供するのを助けることができます。

ありがとう :)

4

1 に答える 1

2

フックへのアクセス:

1.VisualSVNサーバーマネージャーを起動します

2.リポジトリのプロパティを開きます

3.[フック]タブを選択します

4.必要なフックを編集します

フックは、構成ベースではなく、慣例です。それらを「接続」する必要はありません。フックを作成するpre-commitと、コミットする前にフックが実行されます。フックを作成するpost-commitと、コミット後に実行されるフックがあります。

必要なものについて、コミット後のスクリプトで実行できる手順は次のとおりです。

ポストコミットフックへの引数としてコミットされたリポジトリパスとリビジョンを取得するので、とのようなものを使用repo=%1rev=%2てこれらの値を取得します。

svn updateコミット後にファイルをコピーする1つの方法は、サーバーに作業コピーを作成し、コミット後にこの作業コピーをコミット後フックで発行してから、ファイルをコピーすることです。を使用して変更されたファイルを取得することにより、ファイルを選択的にコピーできますsvnlook changed。svnlookにはリビジョンが必要であり、rev前に設定した変数を使用します。

スクリプト自体は任意の言語にすることができます。

于 2011-04-23T09:47:40.563 に答える