如何在cygwin上通过控制台安装以前版本的软件包?

Jim*_*ian 7 svn cygwin

我需要编写一个脚本,使用svn-1.6-17部署许多cygwin应用程序.我的所有尝试都是通过安装或svn-1.7完成的,或者什么都没有.

我试图安装subversion,subversion-1.6,subversion-1.6-17.一切都没用.

如何在cygwin上通过控制台安装以前版本的软件包?

Dev*_*ler 9

我刚刚完成了这个,我正在添加它以帮助下一个人.注意:同样的技术可能适用于任何Cygwin包.

我们有第三方产品直接与subversion服务器对话,但保持其目录为1.6格式.如果更新了本地目录,则该工具会中断.但是svn cleanup当工具处于不良状态时,我需要一种方法来做一次.

这是我如何做到这一点:

  • crouchingtigerhiddenfruitbat.org上的Cygwin Time Machine维护以前版本的档案.每个版本都包含一个setup.bz2(压缩的setup.ini文件)和该版本软件包的相关归档集合.

  • 我在cygwin-announce邮件列表中搜索了subversion的更新.1.6的最新更新是2011年6月10日.

  • 接下来,我浏览了那个日期之前发布的crouchingtigerhiddenfruitbat.org 索引,直到我找到svn 1.6的最后一个版本,这是2011年7月1日发布的.

  • 我从crouchingtigerhiddenfruitbat上的相应目录下载了setup.bz2(在这种情况下:http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/circa/2011/07/01/062011/setup.bz2 ).我使用bunzip2将setup.bz2解压缩到一个简单的文本文件.我找到了subversion的条目并复制了安装tarball的路径(release/subversion/subversion-1.6.17-1.tar.bz2).您正在寻找的部分如下所示: svn cleanup通常看起来像(AFAIK):

    java.lang.ClassCastException:foo.bar.ClassA无法强制转换foo.bar.ClassB

    但是,我看到的错误在第一部分显示为空白.

    我决定研究一下,如果返回列表的函数内部输入错误的对象列表并返回它或其他东西,那么可能会发生一些事情.所以我看了一下:

    svn cleanup

    @ subversion
    sdesc: "A version control system"
    ldesc: "Subversion is a version control system that aims to be a compelling
    replacement for CVS in the open source community"
    category: Devel
    requires: libapr1 libaprutil1 libdb4.5 libexpat1 libgcc1 libintl8 libneon27 libsasl2 libserf0_1 libsqlite3_0 zlib0 cygwin
    version: 1.6.17-1
    install: release/subversion/subversion-1.6.17-1.tar.bz2 775392 ed0c4a3cc494564c0539dffedcd5e8b6
    source: release/subversion/subversion-1.6.17-1-src.tar.bz2 5551632 1b41eede9a14ea4cedcc462b06b1f7cb
    [prev]
    version: 1.6.16-1
    install: release/subversion/subversion-1.6.16-1.tar.bz2 1476151 ecbc29b1e1d9694bf8792e3871efa5f8
    source: release/subversion/subversion-1.6.16-1-src.tar.bz2 5557232 cb12425d2345a57341f16ad0ff559b84
    
    Run Code Online (Sandbox Code Playgroud)

    好的,所以返回的列表是从中填充的 svn cleanup

    svn cleanup

    install: release/subversion/subversion-1.6.17-1.tar.bz2 775392 
    
    Run Code Online (Sandbox Code Playgroud)

    所以该项目是从svn cleanup... 创建的

    最后svn cleanupsvn cleanup

    PATH=~/svn16:$PATH svn up
    
    Run Code Online (Sandbox Code Playgroud)

    所以一切似乎都没问题.它创建一个svn cleanup类型的svn cleanup,因此,在svn cleanup它的创建svn cleanup项目,并把它变成svn cleanupsvn cleanup,这是返回的列表.所有类型/类对我来说都很好.

    所以我的问题,

    1. 如何发生上述ClassCastException?
    2. 为什么它会显示错误消息的"空白"类型?
    3. 什么是可能的解决方案?

    我想把列表作为列表svn cleanup并检查" svn cleanup",但我认为这不会起作用,因为它可能最终会说

    ClassCastException:无法强制转换为java.lang.Object"或者其他东西.

    任何关于如何发生这种情况的见解和解释都将非常感激.

    1. Dalvik/JVM简直搞砸了吗?
    2. 内存是否已损坏?

    我只能疯狂猜测=)


Luc*_*c M 7

1)subversioncygwin安装程序提供的下载站点下载程序包. 我个人从这里(64位版本)取出它 并将其保存到一个空目录中.

编辑:如果你想要32位版本,只需从URL中删除"_64".

选择下载站点

2)启动cygwin安装程序并选择Install from Local Directory何时要求从下载源中进行选择.

3)找到与之相关的所有内容subversion.卸载不需要的版本并安装旧版本.新版本已在图像上卸载.

在此输入图像描述