Опакечивание ikvm

Разработка на C# под linux
 
http://stackoverflow.com/questions/36139839/how-to-download-an-archive-with-specific-revision-from-cvs-web-interface
https://sourceforge.net/p/forge/site-support/12382/

Официальный сайт - http://www.ikvm.net/
Репозиторий - https://sourceforge.net/projects/ikvm/ (Исходные тексты ikvm находятся на сервисе sourceforge)
в репозитории CVS, вот web-интерфейс к репозиторию - http://ikvm.cvs.sourceforge.net/viewvc/ikvm/ (web-based CVS repository viewer)

стабильные пакеты gentoo делаются для сборки исходников программы некой фиксированной версии

Формирование архива исходников программы из репозитория обеспечивает
программная компонента VCView 1.1.6 (Powered by ViewVC 1.1.6, released 2012-10-24)

Неясно, выдаёт эта компонента архив только для последней версии исходников или ей можно указать какую ревизию нужно использовать, а если можно указать, то как это делать.


Можно найти исходные тексты VCView и посмотреть как формируется архив, предусмотрено ли там задание ревизии

Можно найти документацию на VCView, чтобы не анализировать код
Это она - http://viewvc.tigris.org/svn/viewvc/tags/1.1.16/docs/url-reference.html
Можно установить VCView в виртуальную машину и провести эксперимент по выборке двух разных ревизий (чтобы наверняка быть уверенным, что фича может работать)
Можно проверить работоспособность фичи на sourceforge

Выяснение факта возможности сборки по ревизии позволит выяснить, возможна ли сборка ikvm из исходного репозитория gentoo-методом без предварительной сборки архива в отдельном месте

это позволит собрать ikvm 8.1 (последнюю актуальную версию) написать туториал и начать пользоваться hsqsldb, git-клиентом, возможно mondrian

Изучение VCView не вдохновляет, так как возможен (абстрактно-теоретически, не было деклараций) переход ikvm на git-хостинг
Версия ikvm есть и на github, но там она 7.4 - https://github.com/gluck/ikvm,
в то время как последняя - 8.1

Есть ли смысл изучать VCView, если за это время можно изучить что-нибудь другое, более перспективное?

Почитать документацию на ViewVC

pathrev The current sticky revision (Subversion) or sticky tag (CVS), as described in the help_rootview.html ViewVC help page. In Subversion, because path information is revision controlled, this value is also used to look up paths in the repository, providing a means of accessing paths that no longer exist in HEAD.
http://ikvm.cvs.sourceforge.net/viewvc/ikvm/?view=tar&pathrev=HEAD
Что если нужна ревизия с определённым номером, а не HEAD?
Как определить нужный номер?
Список ревизий - http://ikvm.cvs.sourceforge.net/viewvc/ikvm/ikvm/japi/japi-status.build?view=log&pathrev=HEAD
http://ikvm.cvs.sourceforge.net/viewvc/ikvm/?view=tar&pathrev=HEAD&revision=1.16

Пролема в том, что

исходные тексты ViewVC

Исходные тексты лежат на http://viewvc.tigris.org/svn/viewvc/trunk/, login: guest, password - пустой
под управлением Subversion 1.6.0 (r36650). Subversion = svn, для неё пока не надо искать, как вытаскивать архив по ревизии,
нужная ревизия доступна для просмотра через web по тегу - http://viewvc.tigris.org/svn/viewvc/tags/1.1.16/
svn checkout <url-to-repostitory>
svn checkout http://viewvc.tigris.org/svn/viewvc

http://viewvc.tigris.org/svn/viewvc/tags/1.1.16/notes/logo/viewvc-logo.svg - как работает?

http://viewvc.tigris.org/svn/viewvc/tags/1.1.16/bin/cgi/viewvc.cgi

Apache передаёт URI с именем /viewvc/* в python-скрипт:
как настравивать Apache написано в файле - http://viewvc.tigris.org/svn/viewvc/tags/1.1.16/INSTALL

скрипт вызывает какой-то другой код (про который в документации написано, что он просто отображает директории)
и там же написано, что используется зависимость
RCS (=Revision Control System) - http://www.cs.purdue.edu/homes/trinkle/RCS/
В общем, можно достать из .cvs-репозитория в директорию определённую ревизию - http://www.gnu.org/software/rcs/manual/rcs.html#co
неясно только, используется ли это во viewvc или нет.

<h3>An Exception Has Occurred</h3>
<h4>Python Traceback</h4>
<p><pre>Traceback (most recent call last):
  File &amp;quot;/usr/lib/python2.4/site-packages/viewvc/lib/viewvc.py&amp;quot;, line 4337, in main
    request.run_viewvc()
  File &amp;quot;/usr/lib/python2.4/site-packages/viewvc/lib/viewvc.py&amp;quot;, line 397, in run_viewvc
    self.view_func(self)
  File &amp;quot;/usr/lib/python2.4/site-packages/viewvc/lib/viewvc.py&amp;quot;, line 3403, in download_tarball
    generate_tarball(fp, request, [], [])
  File &amp;quot;/usr/lib/python2.4/site-packages/viewvc/lib/viewvc.py&amp;quot;, line 3374, in generate_tarball
    generate_tarball(out, request, reldir + [file.name], stack, mtime)
  File &amp;quot;/usr/lib/python2.4/site-packages/viewvc/lib/viewvc.py&amp;quot;, line 3374, in generate_tarball
    generate_tarball(out, request, reldir + [file.name], stack, mtime)
  File &amp;quot;/usr/lib/python2.4/site-packages/viewvc/lib/viewvc.py&amp;quot;, line 3374, in generate_tarball
    generate_tarball(out, request, reldir + [file.name], stack, mtime)
  File &amp;quot;/usr/lib/python2.4/site-packages/viewvc/lib/viewvc.py&amp;quot;, line 3292, in generate_tarball
    request.repos.dirlogs(rep_path, request.pathrev, entries, {})
  File &amp;quot;/usr/lib/python2.4/site-packages/viewvc/lib/vclib/ccvs/bincvs.py&amp;quot;, line 247, in dirlogs
    alltags = _get_logs(self, path_parts, entries_to_fetch, rev, subdirs)
  File &amp;quot;/usr/lib/python2.4/site-packages/viewvc/lib/vclib/ccvs/bincvs.py&amp;quot;, line 1016, in _get_logs
    raise vclib.Error('Error parsing rlog output. Expected RCS file %s'
Error: Error parsing rlog output. Expected RCS file /cvsroot-fuse/ikvm/ikvm/classpath/java/lang/Attic/LibraryVMInterfaceImpl.java,v, found /cvsroot-fuse/ikvm/ikvm/classpath/java/lang/Attic/ExceptionHelper.java,v
</pre></p>

как скачать исходники ikvm

про скачивание cvs-репозитория написано тут
cvs -z3 -d:pserver:guest@viewvc.tigris.org:/svn/viewvc co <module>