1

Subversionで以下のコマンドを書く方法を教えてください

1) ファイルをチャンクでコミットする方法。2) コミットする前にすべてのファイルをロックします。

4

2 に答える 2

3

これは、元の質問とステファンの回答に対するコメントに基づいています (大きすぎてコメント ボックスに収まりませんでした)。

1) Subversion はアトミック コミット操作を使用するため、ファイルをチャンクでコミットすることはできません。

2) 十分な Subversion カンフーがあれば、これを行うことができます (セットアップの詳細によって異なります) が、Subversion が異なる哲学に基づいて設計されている場合、Subversion を古いリポジトリのように動作させることになります。この問題は、私のチームが最近 VSS から Subversion に切り替えたときに経験したことをよく思い出させます。

ここでの明白な答えは、コンパイルされたオブジェクトをリポジトリにチェックインしないことです。バージョン管理システムは、生成されたバイナリではなく、バイナリを生成するソース コードを格納するように設計されています。これが問題を引き起こしている理由の 1 つは、Subversion が設計されたタイプのものではないということです。http://svnbook.red-bean.com/で無料で入手できる Subversion の公式本をお勧めします。. 必ずしもすべてを読む必要はありません。最初の 2、3 章をざっと読むだけでも多くのことを学ぶことができます (技術文書に関する限り、この本は非常に読みやすいです)。あなたの古いリビジョン管理システムのワークフロー/哲学は、Subversion のそれと完全に互換性があるわけではありません (どちらが良いか悪いかではなく、単に異なるだけです)。場合。

コンパイルされた出力のコピーをアーカイブしようとしているだけの場合は、必要なバイナリ ファイルをアーカイブ (zip、tar、gzip など) にロードし、このアーカイブをファイル サーバーに保存することをお勧めします。ソースコードのリビジョンをバイナリ出力と簡単に一致させる必要がある場合は、アーカイブまたはアーカイブを含むフォルダーに、それを生成するために使用されたコードのリビジョン番号を付けて名前を付けることができます。

それはさておき、ウイルス対策プログラムが問題を引き起こしている場合は、ソース コードを保持しているディレクトリをウイルス対策プログラムの無視リストに追加してみてください。通常、これらのフォルダーには、作成したソース コード ファイルまたはバイナリのみが含まれ、通常はウイルスに感染していないと見なすことができます (ウイルスを作成している場合を除きますが、それはまったく別の問題です)。

于 2009-11-23T21:59:59.520 に答える
3

1) それは不可能です。ファイル内のすべての変更がコミットされるか、またはまったく変更されません。ファイルの変更の一部だけをコミットすることはできません。

2) 可能でしょう。ただし、その方法については説明しません。この質問は、SVN (または VSS 以外のバージョン管理システム) がどのように機能するかを理解していないか、または (もし理解していれば) ワークフローが壊れていることを明確に示しています。バージョン管理を悪用して、壊れたワークフローに合わせようとしています。コミット前にファイルをロックする必要はなく、特にすべてのファイルをロックする必要はありません。コミットするだけで大​​丈夫です。ロックは、マージできないファイル (バイナリ ファイル) に対してのみ有効であり、それらに対しても安易に使用するべきではありません。

于 2009-11-23T11:33:08.960 に答える