0

一連のコミットをロールバックしようとしています。作業コピーがリビジョン10であり、リビジョン4から7で行われたすべての変更をロールバックしたいとします。次のコマンドでロールバックしようとしています。

svn merge -r 7:4 .

これは次の場合に失敗します。

svn:「library」のエントリにURLがありません

SOとSubversionのマニュアルを見てみると、これはフォルダがないことが原因のようです。これに対処するために私が見た提案は、マージする前に行うことsvn cleanupですsvn update。私はそれを試しましたが、何の違いもありませんでした。

誰かが私が試みるかもしれない他の何か、またはそれが失敗する理由についてのさらにいくつかの洞察を持っていますか?「詳細」オプションを探しましたsvnが、見つかりませんでした。

4

2 に答える 2

1
  • マージコマンドの形式はクリーンです:merge SOURCE[@REV] [TARGET_WCPATH]、すなわち:

ターゲット定義をスキップできます(。が想定されており、WCのルートにいる場合は問題ないため)が、マージのソースを使用する必要があります

  • 実際のマージの前に--dry-run、オプションを使用していつでもマージをテストできます

  • 大きな逆マージを小さなチャンクに分割し、コマンドで1つのリビジョンを元に戻すことができます。-c -N

PS:p.1から開始し、作業コピーのURLをソースパスとして使用します

于 2013-02-25T23:35:19.930 に答える
0

問題は、直前に更新を行ったにもかかわらず、マージを試みる前にファイルにローカルな変更を加えたことであることが判明しました。ファイルを元に戻し、マージを再試行しましたが、期待どおりに機能しました。

于 2013-04-25T19:06:15.047 に答える