1

同じファイル(ファイル名)を2つの異なるブランチ(たとえば、開発とリリース)で2回チェックインしました。

これはほとんど何でも壊れるので、1つのバージョンを取得して、それを他のブランチに「適切に」コピー/マージし、後で失われた変更を手動で(バックアップから)マージしたいと思います。次に、1つのファイルの履歴が失われますが、少なくとも2つのファイルが再度接続されます。

どうやってするの?


また、接続が切断されているため、バージョンツリーを実行するときに、両方のファイルのバージョンツリーが異なるだけでは不十分であることに注意してください。(通常/正しい場合のように、1つのバージョンツリーの異なるファイルでの2つのビューではありません。)

また、2つの異なるファイルへの参照があるフォルダに問題があると思いますが、どういうわけか、フォルダを編集できませんか?!

4

1 に答える 1

1

それらは「邪悪な双子」と呼ばれます(そのSOの質問でも説明されています)
Gitで心配することが1つ少なくなります;)

最も簡単な方法は、1つのブランチを選択することです。

  • 他のブランチ(rmname)からファイルを削除し、
  • そしてマージに。

マージにより、同じファイルが他のブランチに追加されます。
そのプロセス(rmname+ merge)は、「Clearcase:Evil Twinシナリオを回避するために、特定のファイルをあるビューから別のビューにマージするにはどうすればよいですか?」に示されています。


(Andreasによる編集)
あなたのソリューションはうまく機能しました。特定のケースがあることに気付いたので、私はそれを変更しました:
他の誰かがファイルの名前を変更したためにファイルが悪くなりました...それはあなたのソリューションほど単純ではありませんでしたが、私は持っていましたそのまま「手作業」で行う

X:\FullyQualifiedPath(VOBの正しいパス)に移動します

使用する:

cleartool ln FullyQualifiedName ./FileName

たとえば、「<code> Send To-> Copy」(前にドロップするFullyQualifiedNameなど)と言ったときにVersionTreeから取得した名前はどこにありますか。これによりリンクが作成されます//viewfile:

その後、ClearCaseExplorerで目的のバージョンを再度確認できます。

于 2012-07-10T13:33:56.940 に答える