2012-01-18 12 views
3

1)新しいバージョンで置き換えたいバイナリファイルがあるので、新しいファイルを古いファイルにコピーしてコミットしてみてください。svnは更新されず、元に戻されませんが、サーバ上にファイルがあります

svn commit file.swf -m "message" 

私がそこに矛盾があると私は最初

2を更新する必要があるというエラーが出る)svn update . --force

何もありません。

3)svn revert .

ファイルを元に戻します、私は今、サーバーからのものを見ることができます。

4)古いファイルに新しいファイルをコピーしてコミットを試みます。私はまだ紛争があることを知っている。

5)私はレポから最初にそれを削除し、それを追加し、再び

svn del file.swf --force 
D file.swf 

svn commit . -m "message" 
--no response 

svn add file.swf 
A file.swf 

svn commit file.swf -m "message" 

それをコミットしてみてください私は、ファイルをコミットし、エラーがサーバー上にある得ます。何??はい、私はオンラインのレポを確認し、ファイルはまだそこにあります。

6)これで元に戻してみます。

svn revert . 

svn update . --force 

今、私は本当に混乱し、こだわっています。私はrepoからファイルを削除することも、サーバから戻すことも、新しいファイルをコミットすることもできません。この混乱から抜け出す方法は?


あなたが気に入っているのではもう少し疑問がありますが、最も重要なことは解決して行くことです。

なぜ私は前にそれを更新しましたが、ファイルはまだコミットされませんでしたか?なぜ#5で削除を正しくコミットできなかったのですか?ファイルがローカルに存在しない場合は#6で、それがあればサーバーから元に戻したり更新したりすることはできません。

さらに重要なことは、サーバー上のものを新しいバイナリファイルに置き換えるにはどうすればいいですか?私が完全に間違ったルートはありましたか?

+1

:-)何guarenteesは、ファイル上の競合状態を解決するためのsvn決意を使用してみましたか? http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.resolve.html – Nils

+0

いいえ、ありがとうございます。私は答えで説明したように問題を解決しました。 – Ska

+0

ああ、あなたは核ルートを行った:) – Nils

答えて

5

私は自分の質問を削除するのではなく、誰かを助けるかもしれません。

混乱から抜け出すための秘訣は、バイナリを使ってフォルダから出て、ディスクからフォルダ全体を削除し、svnから更新して完全に復元させることでした。古いバイナリ上に新しいバイナリをコピーし、通常のコミットを行います。

すべてが順番に戻ります。それが主要なポイントは、そのフォルダから一レベル上に移動することでした。

0

私は元に戻したかった実際のファイル名(単にディレクトリではなく)を指定することで解決できた同様の状況ですが、全く同じではありません。

その他原子力行く前にそれを試してみてください - しかし、

関連する問題