subversionのimport/commitを取り消す方法を教えてください。


importの階層を間違えてしまいました。

リポジトリの中の
./db/revprops/23
./db/revs/23
を消したら取り消せたりしますか?

23番のコミットをまったくなかったことにする方法を教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/02/16 19:41:21
  • 終了:2007/02/21 09:11:13

ベストアンサー

id:Tietew No.1

Tietew回答回数12ベストアンサー獲得回数42007/02/16 19:53:51

ポイント60pt

http://subversion.bluegate.org/doc/book.html#svn.reposadmin.main...

しかし、時にはどうしてもリポジトリの履歴を操作したいことがあります。リポジトリに間違って追加してしまったすべてのファイル(あるいはどんな理由であれとにかくそこにあるべきではないファイル)を削除したいと思うかも知れません。あるいは一つのリポジトリを共有する複数のプロジェクトがあって、それぞれを固有のリポジトリに分割することに決めたのかも知れません。このような作業のためには、管理者はリポジトリ中のデータのより柔軟に管理可能で柔軟な表現形式が必要です—それは Subversion のリポジトリダンプフォーマットです。

id:urekat

ありがとうございます。

パス単位のフィルタでなくてリビジョン番号指定取り消しできますか?

2007/02/16 20:07:09
  • id:b-wind
    直接は無理のはず。
    元のファイルを再度コミットするか、再構築するしか。
  • id:urekat
    見つけた。
    http://blog.yappo.jp/yappo/archives/000477.html
  • id:Tietew
    > パス単位のフィルタでなくてリビジョン番号指定取り消しできますか?
    今回誤インポートということなのでディレクトリごとexcludeしてしまえば良いのかと思いましたが違いますでしょうか。svndumpfilterは空になったリビジョンを欠番あるいは詰めることもできるので、ご希望の状態にできると思います。

    その他、
    http://subversion.bluegate.org/doc/book.html#svn.reposadmin.maint.migrate
    を注意深く読むと、リビジョンの範囲を指定してダンプできるようです。そのr23の後に何もコミットしていないなら、r1~r22までダンプし、空のリポジトリにロードすることでr23を「無かったこと」にできるかと。

    その他では、ダンプファイルを直接編集するという方法もありますが、ちょっとハードルが高い。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません