0

ファイルの履歴を可能な限り保持するために、SVN リポジトリ内でコピーして名前を変更している一連のファイルがあります。ソースからターゲットにコピーするだけでなく、新しい形式の新しいファイルと、別の場所にあるコンテンツの更新を既に持っています。新しいファイルの上に別の場所から新しいファイルの更新されたバージョンをコピーして、ファイルに変更を適用しています。したがって、シーケンスは次のようになります。

# Copy and rename the files within svn
svn cp <old-directory><old-file-name> <new-directory>/<new-filename>

# Copy and update version of the new file in place
cp <updated-directory>/<new-filename> <new-directory>/<new-filename>

次に、ファイルのステータスを確認すると、次のようになります。

A  +    <new-directory>/<new-filename>

これは、このファイルが移動されることを意味すると理解しています(コミット後)

ちなみに、移動ではなくコピーする理由は、コードがかなり重要であり、段階的に移動したいからです。

<old-directory>が と同じ場合もある<new-directory>ため、名前の変更と内部の変更のみです。これらのファイルに対して を実行するsvn logと、通常のログ履歴が得られます。ただし、他のケースでは、ファイルをコピーするときに<new-directory>存在せず、使用したsvnに新しいディレクトリを作成する必要がありました:

svn mkdir <new-directory>

これらのファイルとディレクトリは、次のようにも表示さA +れます。

A       <new-directory>
A  +    <new-directory>/<new-filename-one>
A  +    <new-directory>/<new-filename-two>

これらのファイルを実行しようとするとsvn log、次のエラー メッセージが表示されます。

svn: Unable to find repository location for '<new-directory>/<new-filename>' in revision 0

ここで間違いを犯したかどうかはわかりません:svn mkdirファイルをディレクトリに追加する前にコミットする必要があったのでしょうか? おそらく、すべてをコミットした後に解決するのでしょうか? アンピックしなければならない穴に特に深く入りたくないので、まだファイルをコミットしていません。

4

1 に答える 1

1

通常、Subversion で新しいディレクトリを作成し、そのディレクトリにファイルを追加すると、新しいファイルそのディレクトリsvn statusを追加していることだけが表示されます。

$ svn mkdir foo
A       foo

$ cd foo
$ touch bar fu barfu
$ svn add *
A       bar
A       fu
A       barfu

$ cd ..
$ svn status
A       foo
A       foo\bar
A       foo\fu
A       foo\barfu

私のステータスは、ディレクトリfooとそのディレクトリの下に 3 つのファイルを追加していることを示していることに注意してください。

ファイルを存在しないディレクトリにコピーしようとすると、エラーが発生svn: E155007: Path '<myNewDir>' is not a directoryするため、最初にそのディレクトリを作成する必要があります。

それで、質問はあなたの完全なsvn status外観がどのように見えるかということだと思いますか? 新しいディレクトリが含まれていますか、それとも移動したファイルだけですか?

http://また、ディレクトリ名がorで始まる可能性はありますfoo://か? それが Subversion を混乱させているのですか?

エラーメッセージは次のとおりです。

svn: Unable to find repository location for '<new-directory>/<new-filename>' in revision 0

最後に、ローカルの作業ディレクトリではなく、URL にアクセスしようとしているように見えるリポジトリrevision 0の場所について話していることに気付きました。

于 2013-01-23T15:04:01.253 に答える