質問

VisualSVN Serverを使用してSVNリポジトリをホストしています。一部の自動化作業のために、http [s]レイヤーを介して特定のバージョンを取得できるようにします。

サーバーへのhttp [s]要求(httpd?)を介してHEADバージョンを取得できますが、クエリ文字列としてリビジョンを指定する機能はありますか?見つからないようです...

特定のフォルダーに多くのファイルがあり、1つまたは2つだけのファイルは必要ないので、私が助けてくれない限り、チェックアウトを行いたくありません。

役に立ちましたか?

解決

決して遅くない方が良い。 https:// entire / Path / To / Folder / file /?p = REV

?p = Revはリビジョンを指定します

他のヒント

この質問への答えをすでに見つけた場合はDunnoですが、Apacheの通常のsvnサーバーでは、次のようにして特定のリビジョンに到達できます。

http://host/svn-name/!svn/bc/REVISION_NUMBER/path/to/file.ext
  • ホスト& REVISION_NUMBERは明らかです
  • /path/to/file.extはレポジトリに相対的です

visualsvnを使用したことがないため、走行距離が異なる場合があります。

Subversionは、情報にアクセスするために内部で使用するUrisを公に文書化しません。 (文書化されている場合、これは将来のバージョンで変更される可能性があると明示的に述べられています)

ウェブ上のこの情報にアクセスするには、ウェブビューアーを使用できます(例: websvn、 viewvc )。

独自のプログラムからアクセスしたい場合は、SharpSvnなどのクライアントバインディングを使用することもできます。

using (SvnClient client = new SvnClient())
using (FileStream fs = File.Create("c:\\temp\\file.txt"))
{
    // Perform svn cat http://svn.collab.net/svn/repos/trunk/COMMITTERS -r 23456 
    //                    > file.txt

    SvnCatArgs a = new SvnCatArgs();
    a.Revision = 23456;
    client.Cat(new Uri("http://svn.collab.net/svn/repos/trunk/COMMITTERS"), a, fs);
}

[アップデート2008-12-31:Subversionの次のいくつかのバージョンの1つは、古いバージョンの取得に使用できるパブリックURLのドキュメント化を開始します。]

これ:

WebDAVの使用Subversionで

役立つはずです。

VisualSVN Webインターフェイスのヘルプページでは、次のいずれかの形式のアドレス:

link to r1484 commit in the serf's project repository:
https://demo-server.visualsvn.com/!/#serf/commit/r1484/

link to the current content of the trunk/context.c file in the serf's project repository:
https://demo-server.visualsvn.com/!/#serf/view/head/trunk/context.c

link to the content of trunk/context.c file at revision r2222 in the serf's project repository:
https://demo-server.visualsvn.com/!/#serf/view/r2222/trunk/context.c

重要なのは、 'r'で始まるリポジトリのリビジョン番号のようです。ここにある他の回答はどれも言及しておらず、このようにフォーマットされたアドレスを使用して、VisualSVNサーバーからソースファイルの特定のリビジョンを表示することができました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top