6

現在、SVN で排他的なチェックアウトを可能にする機能はありますか?

IDE 経由でアクセスできる Delphi 用の優れたプラグインはありますか?

4

7 に答える 7

11

SVNには、排他的チェックアウトにほぼ対応する「ロック」の概念があります。たとえば、TortoiseSVNでは、これはGetlockおよびReleaselockメニューエントリを介して公開されます。

JCLには、非常にうまく機能するSVNバージョン管理エキスパートが含まれています。他のものに加えて、ttはIDEからロック機能へのアクセスを提供します。

于 2009-07-15T14:24:08.320 に答える
8

TortoiseSVNは、Delphi ツール メニューに追加できます。私はこれを自分で試したことはありません。Explorer 拡張機能として使用することに満足しているためです。

専用チェックアウトについてですが、一度に一人しか編集できないということでしょうか?これは実際には Subversion の背後にある考え方ではなく、作業コピーを用意してから変更をチェックインするという考え方です。次に、変更をマージしようとします (これは通常、ほとんどの場合うまくいきます)。競合がある場合は、手動で解決する必要があります。

于 2009-07-15T14:28:09.437 に答える
2

Subversion リポジトリでアイテムをロックすることについて人々が時々問い合わせる理由の 1 つは、Delphi DFM がバイナリ形式で保存されており、コミット/マージが問題になるためだと思います。

DFM などをテキストに変更する代わりに、Scooter Softwareの Beyond Compare を使用します。

Beyond Compare は Delphi で記述されており、バイナリ DFM の読み取り方法をネイティブに認識しています。これは、DFM が Subversion にバイナリまたはテキストで保存されているかどうかの問題が少なくなる (またはまったく問題にならない) ことを意味します。Beyond Compare V3 は 3 方向のマージも行うため、複数のコミットなどを簡単にマージできます。バイナリ DFM を比較する機能を無視しても、TortoiseSVN の組み込みツールよりもはるかに優れた diff ビューアーです。とてもお勧めできますし、とても安いです。

現在、リポジトリでロックしているのは、COM タイプ ライブラリ (*.tlb とそれに関連する *_TLB.pas ファイル) だけです。

于 2009-07-15T21:15:18.433 に答える
1

排他的なチェックアウトについて。それは可能ですが、それは苦痛であり、一般的に時間の価値はありません. dfms をバイナリとして保存している場合は、それらをテキストに変換します。

Delphi アドインに関しては、 Delphi addins for subversionに投稿があります。

私はjedi jclTortoiseSvnを使用しています。

私が知っているTortoise svn用のDelphi svnとDelphiアドインもあります。

于 2009-07-15T22:18:33.610 に答える
1

私は世間知らずかもしれませんが、変更をマージするという膨大な手間をかけたいと思う人がいるでしょうか? プログラマーが内容を簡単に理解できるテキスト ファイルを編集していた場合、マージは簡単なことであり、プログラマーが変更の意味を知っているため、マージすることができます。ただし、MS Visual Studio で SVN を使用している場合、1 つのファイルを変更すると、知らなかった他のファイルが頻繁に変更され、そのようなファイル内の情報のエンコーディングがプログラマ (したがって、そのようなファイルをマージするよりもはるかに解釈する方法の概念がありません)、バイナリでさえある可能性がある場合、なぜ複数の人が同時に編集するという膨大な問題とリスクに直面するのでしょうか?

ロックのパラダイムは単純です。一度に編集できるのは 1 人だけです。マージは必要ありません。プログラマーは、自分が変更していることにさえ気づいていない (おそらくバイナリーの) ファイルのエンコーディングを知る必要はありません。誰も他人の変更を踏むことはできません。ロック(つまり、デフォルトでロック)は、私にとってははるかに好ましいように思えます。

于 2010-07-15T19:35:16.663 に答える
0

「排他的なチェックアウト」とはどういう意味ですか? あなたがチェックアウトした後、他の誰もチェックアウトできないということですか?

これはロックと呼ばれ、subversion はこれを行うことができます (「ロック」を参照)。ただし、バージョン管理の目的は、複数のユーザーがバージョン管理されたアイテムで同時に作業できるようにすることであるため、一般的には推奨されません。

于 2009-07-15T14:29:14.820 に答える
0

最初の部分では、ロックをサポートする Visual Source Safe を使用していました (使用する前にチェックアウトする必要があります)。SVN にはロック コマンドがありますが、その概念に反しており、慣れるのにほとんど時間がかからず、使用することはありません。再度ロック コマンドを実行します。

質問の 2 番目の部分については、TortoiseSVN を外部ツールとして使用するか、Delphi 2007 以降にバンドルされている File Browser で動作させることができ、古いバージョンで動作するIBrowserを使用できます。

およびDelphi 用の Subversion アドインは、商用製品であるSourceConneXionに加えて、Delphi IDE で使用可能な SVN プラグインをまとめたものです。

于 2009-07-15T15:23:48.517 に答える