3

「不明」状態にある 2 つのファイルを含む StarTeam ビューがあります。なぜそれらがこの状態にあるのか、および/または状態から抜け出す方法を理解している人はいますか?

それらを削除して別の名前で再度追加することが唯一の解決策ですか?

これら 2 つのファイルを (定期的に、または「強制チェックアウト」を使用して) チェックアウトすると、それらは常に「不明」(煩わしい) としてリストされることに注意してください。

ありがとう。


以下のクレイグの提案に基づく詳細情報:

a) MD5 チェックサムを使用したファイル ステータスの計算: 同じ結果 (「不明」ステータス)

b) 問題のこれら 2 つのファイルは、サーバー上に 1 つのリビジョンしかありません。これは、CM グループがファイルを削除して再作成することで問題を修正しようとしたためなのか、それとも本当にリビジョンが 1 つだけだったのかはわかりません。ファイルはテキストファイルです。

c) ローカル マシン上のファイルを削除して、ステータスを更新しようとしました。これを行うと、2 つのファイルが "不明" として表示されるのではなく、合計 4 つのファイルが "不明" の状態で表示されます。ファイルごとに 2 つのエントリが表示されます。各ペアのファイル名、フォルダ パス、「変更者」、および「チェックイン時のファイル スタンプ」は同じです。各ファイルが 2 回リストされている理由がわかりません。ペアの各エントリを選択して [コンテンツの比較] を選択すると、差分ツールはそれらが同一であると表示します。

MD5 チェックサム比較を使用するか、非 MD5 を使用するかに関係なく、4 つのファイルで同じ奇妙な問題が発生します。

不足している 4 つのファイルすべてをチェックアウトしようとすると、ファイルをマージするように求める 2 つのアラートが表示されます。いいえ、ファイルはローカル ファイル システムにあり、ステータスは最初の状態に戻りました。2 つのファイルが「不明」としてリストされています。


クレイグの最新情報:

あなたは間違いなく何かに取り組んでいます。重複する各アイテムを別のディレクトリに移動しました。「不明な」アイテムなしで4つのアイテム(同じディレクトリに2つ、新しいディレクトリに2つ)をチェックアウトできるという点で、すぐに問題が解決しました。次に、新しいディレクトリに移動した 2 つのアイテムを削除しました。

これを行う際に、私はいくつかのより多くの情報を見ました。どういうわけか、次のようなディレクトリ構造があります。

Parent_Dir
--SubDir1
--SubDir1
--SubDir1
--SubDir1 <- Two items were here
--SubDir1 <- Two items were here
--SubDir2
--SubDir3
--SubDir4
--SubDir5

どういうわけか、同じ名前のサブディレクトリが 5 つあり、問題のこれら 2 つのファイルは同じ名前のサブディレクトリの 2 つに存在していました。

問題は解決したようです。余分なサブディレクトリを手動で削除する必要があると思いますか?


Craig のおかげで、この問題は解決されたようです。この状況がどのように作成されたかはわかりませんが (誰か?)、しかし..今は大丈夫です。ありがとうクレイグ!

4

4 に答える 4

6

問題の場所を特定する前にファイルを削除するのは大きな間違いです。ファイルを削除して再度追加すると、履歴とファイルへのリンクが失われます。また、StarTeam が内部で (Native-II リポジトリを使用して) 動作する方法が原因で、問題が解決しない場合もあります。ファイルを削除して同じファイルを再度追加しても、そのリビジョンへのポインタを除いて、実際にはリポジトリ内の何も更新されません。ファイルを削除してもリビジョン自体はそこに残っていて、再度追加すると、そのリビジョンへの新しいポインターが作成されるだけです。

まだ行っていない場合は、MD5 チェックサムを使用してファイル ステータスを計算するように StarTeam に指示することを強くお勧めします。[ツール] -> [個人用オプション] -> [ファイル] -> [ファイル チェックサムを使用してステータスを計算する] を使用して、クライアントでこれを行います。その後、ステータスの更新を再試行してください。これは (StarTeam の少なくとも一部のバージョンでは) デフォルト設定ではないため、確認する価値があります。これをまだ行っていない場合は、それ自体で問題が解決する可能性があります。

最初に行うことは、リビジョンがサーバー上で有効かどうかを判断することです。ファイルがテキストの場合、最も簡単な方法は、そのリビジョンと以前のリビジョンの内容を比較することです。リビジョンが破損していることが判明した場合、最善の解決策は、以前のリビジョンをチェックアウトしてから、強制的にチェックインすることです。これにより、ファイルの履歴が保持されます。

サーバー上でファイルに問題がないように見える場合は、内容を比較してローカルでテストします。ファイルがローカルで破損している場合は、ファイルをローカルで削除してから、もう一度チェックアウトしてください。サーバー上のファイルを削除する場合とは異なり、これを行っても、ローカル リビジョン以外は何も失われません。

これらの提案で問題が解決しない場合でも、サーバー上のファイルを削除することはお勧めしません。ここに戻って調査の結果を教えてくれ。私の意見では、歴史を殺すのはほとんどの場合間違いです。

アップデート

投稿の最新情報に基づいて、ここで何が起こっているのかをよりよく理解しています. 同じファイルを指し、同じ名前を持つ 2 つのアイテムが存在する可能性があります。「アイテム」は、1 つのファイル、変更要求、要件などを一度に複数の場所に置くことができるという StarTeam の概念です。たとえば、1 つのファイルを 2 つの異なるビューまたはプロジェクトに含めることができます。

通常、同じフォルダーに同じ名前のアイテムはありません。しかし、それは起こる可能性があります。そして、それはおそらく「不明」ステータスを説明しています。ディスク上のファイルをサーバー上の同じ名前のアイテムと比較するように StarTeam に指示すると、おそらく、どのアイテムを参照すべきか判断できません。

私が最初に試みることは、2 つの項目のいずれかを別の場所にドラッグすることです。問題のフォルダーの問題が修正された場合は、フォルダー内のアイテムに影響を与えることなく、他の場所でアイテムを削除できます。一方、アイテムの 1 つを別の場所にドラッグすると両方が移動する場合、元の場所にアイテムをドラッグして戻すのは簡単です。

更新 2

余分なサブディレクトリを手動で削除する必要があると思いますか?

はい。ただし、ファイルと同様に、最初に移動し、保持したいサブディレクトリが影響を受けていないことを確認してから削除してください。

于 2009-01-28T15:42:44.163 に答える
2

この問題が再び発生した場合にこの問題を特定する良い方法は、ルート フォルダーをクリックし、表示された列にフォルダー パスを追加してから、[すべての子孫] ボタンをクリックすることです。ファイルを名前で並べ替え、不明なファイルを探し、同じ名前の複数のファイルが同じパスにチェックアウトされているかどうかを確認します。通常、これは誤った共有、追加、またはフォルダー チェックアウト パスの変更の結果です。

StarTeam がファイルをチェックアウトする順序は不明であるため、同じローカル ロケーションを指す同じ名前の 2 つの異なるファイルを持つことは誤りです。2005R2 ネイティブ Windows クライアントとクロス プラットフォーム クライアントは、ファイルをわずかに異なる順序でプルするため、この問題を含むビューでは異なるファイルでチェックアウトが生成されます。

合法的にこのような状況に陥る方法はいくつかあります。1 つのファイルの複数のブランチをチップに保持し、ビュー ラベルで使用するブランチを指定するのが一般的な方法です。StarTeam は、このような複数の参照を処理できる数少ない VC の 1 つです。

それとは別に、できることなら、決してファイルを削除して再度追加しないでください。99% の場合、それはあなたがやりたいことではありません。ファイルをサーバーに再度追加すると、データベースにまったく新しいアーカイブが作成され、そのファイルの既存の共有に関連付けられることはありません。また、変更履歴もすべて失われます。代わりに、ファイルを移動する方法を探してください。また、サーバー上に同じ名前とコンテンツを持つ複数のファイルがある場合は、ファイルを再追加するのではなく、ファイルが存在するはずのさまざまな場所でファイルを共有するように努力することをお勧めします。これにより、変更が確実に反映されるため、修正を何度もチェックインする必要がなくなります。

于 2009-03-23T08:47:08.687 に答える
1

それらのファイルは 2 回追加されましたか? 同じファイルを複数回追加すると、このエラーが発生する可能性があります。また、[参照] タブを確認してください。これらのリンクされたファイルはリポジトリ内の別の場所にありますか?

于 2009-01-28T22:11:51.833 に答える
0

それは、サーバー上でファイルまたはそのステータスが破損した可能性がありますか? その場合、削除して再度追加するしか方法はありません。

于 2009-01-27T23:04:20.777 に答える