svnkitのメソッドを使用するときdoExport()
、1つのパラメーターの意味がわかりません。
Javadocを見てもまだわかりません
パラメータpegRevision
はどういう意味ですか?
ドキュメントは言う
pegRevision-必要なものであることを確認するために、URLがリポジトリで最初に表示されるリビジョン
しかし、それは私がそれを理解するのに本当に役立ちません。
この素晴らしい説明を見てください。あなたが言及したjavadocから取られたように:
...必要なものであることを確認するために、URLがリポジトリで最初に表示されるリビジョン...
これは通常@BASEまたは@HEADだと思います。これは、一意の履歴を識別することのみを目的としてSubversionに提供されたリビジョンです。最大で1つのバージョン管理されたリソースがいつでもパスを占有する可能性があるため(より正確には、任意の1つのリビジョンで)、特定の履歴行を参照するために必要なのは、パスとペグリビジョンの組み合わせだけです。
HEADを使用してみてください:
org.tmatesoft.svn.core.wc.Revision.HEAD
例:
ずっと前にリポジトリを作成し、リビジョン1で、最初のコンセプトディレクトリと、そのディレクトリにコンセプトについて説明しているIDEAファイルを追加したとします。実際のコードが追加されて微調整されたいくつかのリビジョンの後、リビジョン20で、このディレクトリの名前をfrabnaggilywortに変更しました。リビジョン27までに、新しいコンセプト、それを保持するための新しいコンセプトディレクトリ、およびそれを記述するための新しいIDEAファイルができました。そして、5年と何千もの改訂が、他の良い恋愛小説と同じように飛んでいきました。
さて、数年後、IDEAファイルがリビジョン1でどのように表示されたか疑問に思います。しかし、Subversionは、現在のファイルがリビジョン1でどのように戻ったかを尋ねているのか、それとも存在するファイルの内容を求めているのかを知る必要があります。改訂1のconcepts/IDEAで確かにそれらの質問は異なる答えを持っています、そしてペグ改訂のために、あなたはそれらの質問をすることができます。その古いリビジョンで現在のIDEAファイルがどのように表示されたかを確認するには、次のコマンドを実行します。
$ svn cat -r 1 concept/IDEA
svn: Unable to find repository location for 'concept/IDEA' in revision 1
もちろん、この例では、現在のIDEAファイルはリビジョン1にはまだ存在していなかったため、Subversionはエラーを出します。
ペグリビジョンと呼ばれるメカニズム で問題を解決できます。
$ svn cat -r 1 concept/IDEA@BASE
or
$ svn cat -r 1 concept/IDEA@1
--------------------------より複雑な状況--------------------- --------------
frabnaggilywortがHEADから削除されたが、リビジョン20に存在することがわかっていて(svnログを参照)、リビジョン4と10の間のIDEAファイルの違いを確認したいとします。ペグリビジョン20を次のように使用できます。 FrabnaggilywortのIDEAファイルをリビジョン20で保持し、4と10を有効なリビジョン範囲として使用するURL。
$ svn diff -r 4:10 http://svn.red-bean.com/projects/frabnaggilywort/IDEA@20
Index: frabnaggilywort/IDEA
===================================================================
--- frabnaggilywort/IDEA (revision 4)
+++ frabnaggilywort/IDEA (revision 10)
@@ -1,5 +1,5 @@
-The idea behind this project is to come up with a piece of software
+The idea behind this project is to come up with a piece of
詳細はこちらhttp://svnbook.red-bean.com/en/1.6/svn.advanced.pegrevs.html