0

多くのクライアントから、ファイルの完全なリストと各ファイルの機能 (ビジネス ロジックの簡単な説明を含む) を提供するよう要求されています。これは、彼らが必要とするリリース ノートの一部です。

ASP.NET Web サイトを開発し、VisualSVN Serverを使用して Subversion とTortoiseSVNをクライアントとして管理しています。開発者がコミットしようとしているときにファイルが変更された理由の説明を追加するよう強制する pre-commit フックを構成しました。ただし、これはファイルのリビジョンに固有のものです。

私がする必要があるのは、ファイルが何をするかの説明を保存することです.SVNに初めてファイルを追加するときに追加する必要があります. TortoiseSVN でそのようなフィールドを見つけることができません。

Subversion でこれを行うことができない場合は、スプレッドシートを使用することを意味します!

4

2 に答える 2

3

独自のカスタム SVN プロパティを各ファイルに追加できます。

svn propset filedescription 'このファイルは Foo の機能を記述しています' src/Foo.cs

次に、次を使用して、各ファイルのこのプロパティを読み取り、ドキュメントを構築するツールを作成できます。

svn propget ファイル説明 src/Foo.cs

-> TortoiseSVN の場合: チェックアウトTortoiseSVN -> Propertiesでファイルを右クリックします。

TortoiseSVN コンテキスト メニュー

次に、New... -> Advancedを選択し、[プロパティの追加] ウィンドウでカスタム プロパティを追加します。

Foo.cs へのカスタム プロパティの追加

結果:

サンプル結果

お役に立てれば。

于 2013-08-16T13:17:39.173 に答える
1

すべてのファイルにカスタム プロパティを自動的に追加する方法はありますか? これを覚えている人に頼る必要はありません。

はいといいえ...

個人の Subversion 構成で自動プロパティを作成できます。これにより、そのユーザーが追加したときに、特定のファイルのプロパティが自動的にクレートされます。ただし、強制力はありません。

私のpre-commit フックは、特定のプロパティのユーザーを強制できます。

[property All files must have a site:description property on them]
match = .*
property = site:description
value = .+
type = regex

site:descriptionこれにより、プロパティが設定されていないファイルを誰かがコミットするのを防ぐことができます。

このフックを使用て、Subversion 構成で自動プロパティをセットアップする方法をユーザーに知らせます。pre-commit フックは、開発者が Subversion 構成で自動プロパティ設定をセットアップする必要があることを穏やかに思い出させるものとして機能します。

(ちなみに、私のフックはコミットの説明があることも確認でき、説明の形式も確認できます)。


さて、重要なポイントに到達するには...

開発者がコミットしようとしているときにファイルが変更された理由の説明を追加するよう強制する pre-commit フックを構成しました。

開発者にファイルごとにコミットすることを奨励していますか?

Subversion は変更セットを使用します。たとえば、半ダースのファイルを変更して新しい機能を追加する場合があります。これは、1 回のコミットでコミットする必要があります。そして、コミット メッセージはこれら 6 つのファイルすべてに対するものです。

コミット メッセージは複数行の長さにすることができ、多くの開発者は各ファイルに加えられた変更を説明したいので、そのようにします。それはいいです。私が主張するのは、変更の一般的な理由であり、通常は問題追跡システムの特定の問題 ID に関連しています。「BUG-1233: パスワードは暗号化された文字列として保存され、クリア テキストとして保存されなくなりました」を確認したい。23 個のファイルが変更され、2 個のファイルが削除され、4 個の新しいファイルが追加された可能性がありますが、これらの変更はすべてこの 1 つの修正のためのものであり、それが私が見たいものです。開発者は、29 個のファイル変更のそれぞれを詳細に調べて、コミット メッセージを 60 行以上の長さにすることができます。特定の機能またはバグに関連する変更理由を確認したいだけです。

このように、コミット メッセージを使用して、コードで対処された問題を確認し、テスト中に問題が発生した場合は変更を取り消すことができます。

すべてのファイルにカスタム プロパティを自動的に追加する方法はありますか? これを覚えている人に頼る必要はありません。

開発者に各ファイルの目的を説明するように強制し、デフォルトの説明を自動的に生成する方法を開発者に提供したいと考えていますか? 開発者は単にデフォルトの説明を使用し、決して変更しないことを知っていますか? 右?


追加の回答

TortoiseSVN には、クライアント側のフックを作成する方法があります。私はこれを行ったことはありませんが、ユーザーがクライアント側のフックを作成してダイアログ ボックスを表示し、ファイルの説明を入力できるようにすることは可能かもしれません。

これは Tortoise でのみ機能し、その特定のマシンでのみ機能します。ただし、それを私の pre-commit フックと組み合わせることができ、(サーバーの pre-commit フックの前に実行される) Tortoise クライアント側フックの作成方法を開発者に示します。このように、彼らの TortoiseSVN フックは説明を埋めるのに役立ち、私のサーバーの precommit フックは彼らがそうするのを確実にします。

于 2013-08-16T14:38:54.903 に答える