1. ホーム
  2. svn

[解決済み] アイテムをリビジョンに更新する vs リビジョンに戻す

2022-04-25 12:53:15

質問

TortoiseSVNでSubversionを使うようになりました。ログを開き、古いリビジョンを右クリックすると、古いバージョンにロールバックするような2つのオプションが表示されます: "Update item to revision" と "Revert to this revision".

古いリビジョンへの更新は、古いバージョンを見返すだけで、実際にはリポジトリを変更しない場合に使用されると理解しています。元に戻すのは、実際に失敗して、リポジトリの最新リビジョンを古いバージョンと同じにしたいときです。

例えば、HEADのリビジョンが100で、私が95に戻した場合。すると、私の作業コピーが95にリバース・マージされます。そして、その変更をリポジトリにコミットすると、リビジョン101が作成されますね?リビジョン95に更新して戻った場合、どう違うのでしょうか?最後のリビジョンからの変更を逆マージするだけではないのでしょうか?古いリビジョンに戻す、あるいは更新した後、作業コピーの状態がどのように異なるのか、混乱しています。

解決方法は?

リビジョンへの更新 は、作業コピーのファイルを選択したリビジョンにのみ更新します。 しかし、あなたは 続行不可 は、このリビジョンで作業することはできません。なぜなら、SVN はあなたの作業コピーが 時代遅れ .

このリビジョンに戻す は、選択したリビジョン以降に行われた作業コピーの変更をすべて取り消します (例: rev. 96,97,98,99,100) あなたの作業コピーは、現在 修正状態 .

両シナリオのファイルの内容は同じですが、最初のケースは 修正されていない作業コピー で、変更をコミットすることができません(作業コピーが HEAD rev 100 を指していないため)。 修正済み 作業コピーはheadを指しているので、作業を継続しコミットすることができます。