4

私は1.01ですべてのコードを持っていました。最近、名前をトランクに変更しました。今、私はこの名前を変更する前の古いバージョンを取得できません。名前の変更はリビジョン6090で発生しましたが、ファイルのリビジョン5876が必要です。ログは表示できますが、表示されているファイルをエクスポートできませんurl /var/www/project/trunk/file doesn't exists

そのバージョンのファイルを取得するにはどうすればよいですか

走ったsvn export -r 5876 https://url/project/1.01/file

4

4 に答える 4

6

提供された答えはここで正しいですが、この質問に出くわす可能性のある人のためのいくつかの重要なアドバイスがあります。

SVN EXPORTには、異なることを行う2つの構文があります。

そして、多くの人は、2番目の構文を使用する必要があるときに最初の構文を使用します

1. svn export -r 123 svn://rep/file1.txt

which is shorthand for: svn export -r 123 svn://rep/file1.txt@HEAD

このコマンドは何をしますか?最初に、現在のHEADリビジョンで「file1.txt」という名前のファイルを検索します。見つかったら、このファイルの過去のリビジョンを検索して、リビジョン123のファイルの内容を取得します。したがって、リビジョン123のファイルの元の名前がfile.txtで、後でfile1.txtに名前が変更された場合(たとえば、リビジョン133) )リビジョン123の元のファイルfile.txtの内容を取得します。

次に、2番目の構文について説明します。

2. svn export svn://rep/file1.txt@123

which is shorthand for: svn export -r 123 svn://rep/file1.txt@123

このコマンドは、他のリビジョンの別のファイル名を気にせずに、リビジョン123でfile1.txtという名前のファイルを検索するようにSVNに指示します。したがって、リビジョン123のファイルの元の名前が「file1.txt」で、後で「file2.txt」に名前が変更された場合、このコマンドはリビジョン123の元のfile1.txtの内容を引き続き提供します。

要約する:

ファイル名とファイルの内容に別々のリビジョンを提供する場合にのみ、-rフラグを使用してください。これは、リクエストが「SVNがリビジョン123のファイルの内容を提供し、そのファイルの内容が「File1.txt」と呼ばれるようになった場合にのみ当てはまります...」

于 2014-03-19T12:11:23.343 に答える
2

履歴が失われる可能性が非常に高いため、受け入れられた回答ではなく、次のいずれかを実行することをお勧めします。

作業に戻す-コピー

svn cp FILE_URL@REV local_path_to_file

これにより、必要なリビジョンが直接フェッチされ、ローカルの作業コピーでファイルが再追加および再更新されます。

次に、ファイルファイルをコミットして、リモートリポジトリに戻すことができます。

リポジトリに復元

svn cp FILE_URL @ REV FILE_URL

これにより、古いファイルがディレクトリコピーされ、履歴などとともにHEADに戻されます。


明らかに、ブランチなどでこれを行うことができます...

于 2013-04-29T18:14:14.343 に答える
0

やってみました

 svn cat TARGET@5876 > /var/www/project/trunk/new/path/to/file

その後、svnに再度追加します。

ターゲットは、名前を変更する前の古いリポジトリパスである必要があります。

于 2012-06-14T08:32:07.943 に答える
-1

トランクフォルダの名前をどのように「変更」しましたか?「svnrename」または「svnmove」を使用していますか?通常、これらのコマンドを使用する場合、履歴は一貫している必要があり、「svnexport-r...」コマンドを使用するとファイルが使用可能になります。

「プロジェクト」フォルダもバージョン管理下にありますか?はいの場合は、作業コピーを古いリビジョンに更新して、現在の場所にコピーしてみます。

exportコマンドが、エクスポートされるリビジョンの時点で正しいパスを取得することに依存している可能性はありますか?

作業コピーを古いリビジョンに更新するとどうなりますか。目的の古いバージョンから新しいチェックアウトを実行する場合はどうなりますか?

于 2012-06-14T08:27:04.560 に答える