3

基本的にはあそこの仲間と同じことをしたいです。

誰もがサーバー側のフックについて考えていたようです(すべての邪悪な可能性があります)。

コミットする前にクライアント側のスクリプトを実行して、astyleが上司の好みに合わせてコードをフォーマットできるようにします。

私のIDE(VS2010Pro)は、ディスク上のファイルが変更されたときに自動的にチェックし、ファイルのリロードをオプトインするので、それだけで本当の悪はありません。

AnkhSVNでそれを達成するための(クリーンな)方法はありますか?

たぶん、VisualStudioを拡張してpre-commit-scriptを呼び出す方法もあります...

4

3 に答える 3

3

AnkhSVN は TortoiseSVN のフック スクリプトを使用するように作成されているようです。ナイトリー ビルドに含まれているという話があります。また、毎日の更新ではフックについて言及しているようです (たとえば、リビジョン 10870およびリビジョン 10873 .

デイリー ビルドを取得してTools->Options->Source Control->Subversion Environment、Visual Studio でSubversion オプションを確認してみてください。それでもうまくいかない場合は、上記の会話リンクで述べたように、 Windows レジストリをHKEY_CURRENT_USER\Software\Ankh​SVN\VisualStudio\​&lt;Version>\Conf​iguration(ここで<Version>は 10.0 である必要があります) に開きEnableTortoiseSvnHooks、 dataという名前の文字列を追加してみてください。True

于 2012-03-30T09:34:57.493 に答える
1

Visual Studio > ツール > オプション

ここに画像の説明を入力

于 2013-05-07T18:40:09.380 に答える
0

AnkhSVN から離れてTortoiseSVNに切り替えることができれば、クライアント側フックのサポートを無料で利用できます。

実行可能なものをフックとして使用でき、フックスクリプトのタイプに応じて異なるパラメーターが渡されます。

pre-commitたとえば、フックは次のパラメーターを取得します。

PATH DEPTH MESSAGEFILE CWD

要素は次のとおりです。

  • PATH
    操作が開始されたすべてのパスを含む一時ファイルへのパス。各パスは、一時ファイルの個別の行にあります。

  • DEPTH
    コミット/更新が行われる深さ。

  • MESSAGEFILE
    コミットのログ メッセージを含むファイルへのパス。このファイルには、UTF-8 エンコーディングのテキストが含まれています。start-commit フックの実行が成功すると、ログ メッセージが読み返され、フックがそれを変更する機会が与えられます。

  • CWD
    スクリプトが実行される現在の作業ディレクトリ。これは、影響を受けるすべてのパスの共通ルート ディレクトリに設定されます。

TortoiseSVN は VS に統合されていませんが、他のプロジェクト (つまり、VS では行わない他のすべてのコーディング/スクリプト作成) の汎用クライアントとしても使用できるため、一見の価値があると思います。

于 2012-03-30T09:35:22.297 に答える