1

私はtortoiseSVNを使用してコードを同期しています。でも最近、あまり便利ではないものがあることに気づきました。私がファイルを変更するとき、たとえばa.jspとすると、同僚もこのファイルa.jspを変更する可能性があり、これにより競合が発生する可能性があり、いずれかの使用者が最初に自分のコードをチェックインする必要があり、もう一方の使用者は最新バージョンに更新してから、競合を1つずつ解決する必要があります。これは、実際にはエラーが発生しやすいものです。

そのため、tortoise SVNにいくつかの機能が必要です。これにより、編集中にa.jspをロックし、他の同僚が同時にファイルを変更するのを防ぐことができます。tortoiseSVNで「ロック」機能を試しましたが、機能しません。a.jspファイルをロックすると、「同僚が変更しているように、同僚はプロモーションやアラートなしでこのファイルを同時に変更できます。このファイルは、チェックインするまで変更してください」..。

より良い解決策はありますか?前もって感謝します !!

4

4 に答える 4

6

はい、より良い解決策があります。それは3つの部分で構成されています。

  1. ロックしないでください、あなたはする必要はありません
  2. 同じファイル、または少なくともファイルのまったく同じ部分を他の人と同時に操作しないでください
  3. もしそうなら、喜んでマージしてください。

マージは、SVNのようなソース管理システムを使用する典型的な部分です。あなたはそれを恐れるべきではありません、あなたはそれを喜んで受け入れるべきです。

通常、同じ領域で作業している場合を除き、マージは自動的に行うことができます。この場合、手動で変更を加える必要があります(ただし、TortiseSVNのdiffツールがこれを支援します)。

これが頻繁に発生している場合は、プロジェクト内で作業をどのように割り当てているかを再評価することをお勧めします。

于 2009-08-23T04:42:30.440 に答える
5

他の人が述べているように、最も柔軟なワークフローは、ロックする必要がないワークフローです。ただし、本当にファイルをロックしたい場合は、Subversionがこの機能を提供します。

svn:needs-lockロックが必要なファイルにプロパティを追加し、値をに設定します*(プロパティ値が実際には重要ではないと思います)。次に、チェックアウトまたは更新するときに、Subversionは作業コピーでそれらのファイルを読み取り専用としてマークし、最初にそれらをロックするように通知します。

Subversionを使用してファイルをロックすると(このオプションはすでに見つかっていますが、ロックする必要のないファイルには何も実行されません)、ファイルはディスク上で読み取り/書き込み可能になります。次に、変更を加えます。ファイルをチェックインすると、Subversionは自動的にロックを解除します(ただし、必要に応じてロックを保持するオプションがあります)。その後、ファイルは作業コピーで再び読み取り専用になります。

Subversionでのロックは「アドバイス」のみであることに注意してください。これは、他の誰かがすでにロックを持っている場合でも、他の誰かがロックの取得を強制できることを意味します。この場合、誰かがロックせずに変更をマージする必要がある可能性があるため、ワークフローは引き続きサポートされます。

最後に、ファイルのロックは、画像ファイルやMSWordファイルなどのSubversionの非テキストファイルを処理するための最良の方法です。Subversionはこれらのタイプのファイルを自動的にマージできないため、アドバイザリロックは、2人が同時に同じファイルを編集しようとしないようにするのに役立ちます。

于 2009-08-23T05:05:36.137 に答える
0

Tortoiseには「マージ」オプションがあり、コードを変更して更新したら試してみることができます。

于 2009-08-23T04:40:24.657 に答える
0

SVNユーザー(特にアジャイルSVNユーザー)の間では、「チェックインダンス」と呼ばれる慣習があります。この簡単な方法で、コードをSVNリポジトリにチェックインするときに発生する競合の量を大幅に減らすことができます。こんなふうになります:

リポジトリへの変更をチェックインする準備ができたら、次の手順を実行します。1.最初に更新を実行して、他のすべての変更を取得します。2.ビルドスクリプトを実行します(または、ビルドスクリプトがない場合はコンパイルします)。3。すべて問題がなければ、変更をコミットします。

ロックすると、それ自体に一連の問題が発生します。特に、ファイルを「ロック解除」するのを忘れがちで、ファイルを変更する必要がある場合は、他のすべての人が完全に作業できなくなります。

SVNでの競合のマージは非常に簡単であるため、TortoiseSVNの使用に慣れたら、ロックの使用は問題になりません。

これがお役に立てば幸い、リー

于 2009-08-23T04:51:04.183 に答える