2009-03-28 5 views
1

は、私はファイルを持っているとしましょうSubversionでは、履歴ファイルを変更するためのベストプラクティスは何ですか?

helloworld.c 
helloworld.m 

フィフティーンの編集前に誰かがhelloworld.cでmemroyをリークし、それはいくつかの枝にそれを作ることに成功しました。私はそれが辿ったすべての枝で歴史の中のそのバージョンを修正したい。

ファイルを元に戻してチェックインしようとすると、どのような影響がありますか?明らかに14の変化は、それ以来私は失いたくないでしょうか?

更新:誰かがこの問題に直面していると確信しています。彼らが彼らのために働いている理由とその理由を知りたいと思います。

私は、ブランチとトランクを管理して、ファイルが存在するすべてのコンテキストでファイルを参照する必要があると考えていますか。

答えて

9

なぜ履歴を修正しますか?そのトリックはいつもスタートレックを悩ませている。

さらに、現在のバージョンを変更するか、現在のバージョンを元に戻してコミットしてください。変更を任意のブランチにマージします。

+0

おかしくて有益... – nxadm

+0

WIlliam Shatnerと議論することは難しいです...しかし、あなたは多くの状況でファイルを訪れていますか? – ojblass

0

単一のバージョンを元に戻すことができます。競合があるかもしれませんが、解決することができます。

または、現在のファイルでエラーを修正し、コミットするだけで済みます。

3

履歴を変更したくないです。履歴とは、ファイルが通過した編集のシーケンスで、改ざんされたものではありません。

すべてのブランチのヘッドとトランクをメモリリーク修正で更新してください。通常は、新しいコミットで古い変更を元に戻すことを参照することをお勧めします。 "メモリリークのためR100を元に戻す"

グッド:たとえば:R100

  • チームは、あなたがコミットメッセージとR116をコミット作るR101-R115
  • で変更を行うに

    1. 人リークを紹介しますluck、

  • 0

    トランクの変更を元に戻しても、既に作成されたブランチには問題があります。最新のものを使用してブランチを再構築するか、それらのブランチにはnkがあります。問題が本当に問題になるのであれば、それは最高だと思います。

    0

    残念ながら、各ヘッドに修正を加える必要があります。 私は確かにsvnadmin dumpとdumpfilterを使ってこのトリックを行う方法がありますが、リポジトリを再構築する必要があると言わざるを得なくなりました。

    最新のtortoisesvn 1.6には本当に良いリビジョングラフがあり、すべての変更がどこで行われたのか分かりません。

    関連する問題