1

SVN Eclipse EFS プラグインを作成しようとしていますが、エントリの名前を取得するときに問題が発生します。

私が電話をかけるとき: SVNRepository

// ディレクトリの内容を提供されたコレクション オブジェクトにフェッチし、ディレクトリ エントリ自体を返します。

SVNDirEntry getDir(文字列パス、長いリビジョン、ブール値の includeCommitMessages、コレクション エントリ)`

指定されたパスのエントリを正しく返しますが、「返された」エントリに「名前」の値を設定しません。コレクションで返されるアイテムはすべて問題ないことに注意してください。

これがなぜなのか誰か知っていますか?および/または回避策がある場合は?

参照: http://svnkit.com/javadoc/org/tmatesoft/svn/core/io/SVNRepository.html http://svnkit.com/javadoc/org/tmatesoft/svn/core/io/SVNRepository.html#getDir (java.lang.String、long、boolean、java.util.Collection)

4

2 に答える 2

2

指定されたパスのエントリを正しく返しますが、「返された」エントリに「名前」の値を設定しません。コレクションで返されるアイテムはすべて問題ないことに注意してください。

ディレクトリ内のエントリを一覧表示する「ls」コマンドのように扱います。ディレクトリ自体は「.」で表されます。または、エントリの名前はディレクトリに対して相対的であり、ディレクトリ自体は空の文字列であると言ったほうがよいでしょう。

これがなぜなのか誰か知っていますか?および/または回避策がある場合は?

dirEntry.getURL() を使用すると、URL のパスから名前を計算できます。また、ディレクトリ名は「パス」パラメータの一部か、SVNRepository オブジェクトの場所の URL の一部です。

于 2010-04-13T13:27:41.190 に答える
1

私がチェックしたSVNDirEntryところ、メソッドによって返されたのはgetDir()常に name 属性が空の文字列に設定されています。

ただし、そのメソッドを使用してディレクトリ リストを取得すると、各ディレクトリ エントリに適切な名前が割り当てられます。

SVNDirEntryURLから の名前を見つけることはできますが、その動作には多少のバグがあると思います。

SVNDirEntry dirEntry = repository.getDir("branches/1.0", -1, false, null);
String name = SVNPathUtil.tail(dirEntry.getURL().getPath());
于 2010-04-13T03:15:55.927 に答える