2011-09-10 21 views
10

私は2つのファイルを追加するのを忘れていたので、私は2回コミットしました。ログから特定のコミットを削除できますか?私がコミット削除する Subversionでコミットを削除することはできますか?

screenshot of log

№4

+2

この質問を読むことができます:http://stackoverflow.com/questions/5566327/delete-all-traces-of-a-svn-commit –

答えて

9

単純な答えは "いいえ"です。なぜなら、Subversionはコミットを追加したときに誰かが自分のチェックアウトを更新した後、履歴からコミットを削除したときにその問題を解決する方法を知らないからです。 Subversionストレージ上での手術を含む複雑な答えがあるかもしれないし、そうでないかもしれない。

1

なぜ? Subversionに履歴を残すようにしましょう。これがそのためです。早めに頻繁にチェックインしてください。コミット#4を消去する必要はありません。

+1

私はSite.ccとSite.hhを追加しなかったので(私はそれをするのを忘れた)が、コミットメッセージは私が言った。 –

+3

@WTP:標準的な解決法は、単にninjafixをコミットし、それに応じてコメントしています。 「きちんとした」ワークコミット・ワン・コミット・パッケージの履歴が必要な場合は、Subversion(またはSubversion単独)がそのための適切なツールではないかもしれません。 – millimoose

+0

プロジェクトからきれいにチェックアウトした場合、その2つのファイルは表示されますか?はいの場合、それらをコミットしました。 Subversionを信じる。 – duffymo

4
  1. AFAICS、あなたははい、R5と R4が、マージを削除することがありますか?
  2. 一般的に、SVNのコミット履歴は不変です.Siiは言っています。もしあなたが にリポジトリの削除/作成権限がないなら、何もできません。

あなたは現在のレポを削除し、新しい歴史を持つ新しいを作成することができれば、あなたが試すことができます:

  • svnadmin dumpを人間が読める取得するために(やっと、私が言っている) リポジトリダンプ、GROKフォーマットそして、編集ダンプ、
  • は別のアイデアが(代わりに編集ダンプの)SVN(HG + MQ(HISTEDIT)+ HG-のgit、FEへのブリッジを持つ別の SCM、ある
  • レポを再作成するレポ、svnadmin load を削除し、します リポジトリを取得し、変更セットを折りたたんだり削除したりすることができますs)。 古いリポジトリを置き換えるために - あなたのケースでは
1

上記P.2を参照してください、それはあなたが作った実際の変更を反映するために、#4をコミットに関連したコミットのコメントを修正するだけで必要です。 SVNリポジトリの設定を変更することで、Subversionでそれを行うことができます。 Subversion FAQを参照してください。

関連する問題