SVN を使い始めたばかりで、答えが見つからない SVN スイッチに関する奇妙な問題に遭遇しました。簡単に言うと、/my repo/tags/versionnumber に保存したアプリケーションの最新バージョンの作業コピーがありました。いくつかのバグ修正を行い、Trunk にチェックインしてステージ環境にデプロイすることを計画しました。
ただし、svn スイッチを実行すると、リポジトリ パスが /my repo/trunk/ に変更されただけでなく、チェックアウト (または何か) が実行され、ローカルの変更が上書きされました。トランクとタグのリビジョン番号も同じですが、これは私が読んだ限りでは不可能です。
以下は出力例です (スウェーデン語から翻訳されているため、何か変に聞こえる場合はその理由がわかります)。
>svn info
>
>URL: svn+ssh://user@server/my repo/tags/versionnumber
......
>Revision: 8
.....
>Latest change in revision: 6
> svn switch svn+ssh://user@server/my repo/trunk/
> password ********
>
>D log
>D logparse.php
>U document_root/js/standard.js
......
>Updated to revision 8
>
>svn info
>URL: svn+ssh://user@server/my repo/trunk
......
>Revision: 8
.....
>Latest change in revision: 8
元に戻すときも同じです。次に、以前に削除したファイルを追加し (トランクに存在する場合)、両方に存在するファイルを「更新」します。