SVNで保護されたコードを以前のバージョンに戻す必要があり、それを大幅に変更しました。変更されたバージョンをSVNにコミットしたいのですが、コミットしようとすると、SVNから最初に更新する必要があると通知されます。やりたくない。
SVNからの更新なしで、ローカルバージョン(作業コピー)が新しい現在の正しいバージョンであることを指定することは可能ですか?
SVNで保護されたコードを以前のバージョンに戻す必要があり、それを大幅に変更しました。変更されたバージョンをSVNにコミットしたいのですが、コミットしようとすると、SVNから最初に更新する必要があると通知されます。やりたくない。
SVNからの更新なしで、ローカルバージョン(作業コピー)が新しい現在の正しいバージョンであることを指定することは可能ですか?
HEAD
トランクまたはブランチ以外で変更をコミットすることはできません。これは、すべてのバージョン管理システムで試行されます。そうしないと、保持したい変更を上書きしてしまうことになります。
できることは 2 つあります。
もう一度、リビジョン 11,980 をチェックアウトし、最新のリビジョンが 12,0001 であるとします。
$ svn co -r 11980 http://path/to/my/project workdir
$ cd workdir
...a bunch of changes
$ svn commit -m"My changes"
SVN Error: you need to update first...
$ svn copy -r11900 http://path/to/my/project@11900 http://path/to/branches/my_branch/project
これで、ブランチとして取り組んでいたもののベースができました。ここで、そのブランチに切り替えます。
$ svn switch http://path/to/branches/my_branch/project
私の作業ディレクトリは、私が取り組んでいた古いリビジョンに基づいた新しいブランチにあります。私の変更はすべて、スイッチで変更されていません。問題なく変更をコミットできるようになりました。
$ svn commit -m"My changes"
$ It worked!
ここで、必要に応じて、変更を元のプロジェクトにマージできます。
$ svn co http://path/to/my/project workdir2
$ cd workdir2
$ svn merge http://path/to/branches/my_branch/project
答えはsvn up --accept mine-full
1) 最終的なコード ベースのバックアップを、ハードディスクの別の場所に作成します。
2) 更新を行う
3) SVN からすべてを削除する
4) バックアップ ドライブからすべてのコード ベースをコピーして貼り付ける
5) コミットする
また
それが役立つ場合は、クリーンアップを実行できますが、そうは思いません...