Ответ 1
Лучше поздно, чем никогда; https://entire/Path/To/Folder/file/?p=REV
? p = Rev указывает версию
Я использую VisualSVN Server для размещения SVN-репо, и для некоторых работ по автоматизации я хотел бы получить конкретные версии через слой http [s].
Я могу получить версию HEAD просто через http [s] запрос на сервер (httpd?) - но есть ли возможность указать версию, возможно, как строку запроса? Я не могу найти его...
Я не хочу делать чек, если не могу помочь, поскольку в определенной папке много файлов, и я не хочу их всех - всего один или два.
Лучше поздно, чем никогда; https://entire/Path/To/Folder/file/?p=REV
? p = Rev указывает версию
Не знаю, если вы уже нашли ответ на этот вопрос, но на регулярном сервере svn на apache вы можете перейти к конкретной версии с помощью:
http://host/svn-name/!svn/bc/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);
}
[Update 2008-12-31: Одна из следующих версий Subversion запустит документирование общедоступных URL-адресов, которые вы можете использовать для получения старых версий.]
Это:
Использование WebDAV в Subversion
должен помочь.