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

标签 svn cygwin

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

我尝试安装 subversion、subversion-1.6、subversion-1.6-17。这一切都没有用。

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

最佳答案

我刚刚经历了这个,我正在添加这个来帮助下一个人。注意:同样的技术可能适用于任何 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 indexes of previous releases,直到我找到了 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)。您要查找的部分如下所示:
    @ 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
    
  • 我们对这行给出了 1.6 svn tarball 的相对路径感兴趣:
    install: release/subversion/subversion-1.6.17-1.tar.bz2 775392
    
  • 我检索了用于 subversion 的 tarball 并将其解压缩到一个临时目录 (temp)。我将 temp/usr/bin 的内容移动到 svn16 目录。

  • 现在,我可以将该目录添加到搜索路径并获得 svn 1.6 的功能,如下所示:
    PATH=~/svn16:$PATH svn up
    
    注意: 看起来 Cygwin Time Machine 不再允许目录浏览。这意味着您需要从 root 开始挖掘一点才能找到一个包。
    更新了链接,因为我只需要再次执行此操作。
    注 2: 更新了 crouchingtigerhiddenfruitbat 的链接

    关于svn - 如何通过控制台在 cygwin 上安装以前版本的软件包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9699972/

    相关文章:

    linux - 使用 date 命令打印上个月的最后一天

    c++ - 使用 mingw g++ 编译后运行 c++.exe 文件时找不到入口点错误

    cygwin - 如何在另一台机器上复制 cygwin 安装和环境?

    svn - Web Subversion 存储库浏览工具,有一个转折

    svn - 有没有SVN的类历史可视化工具

    git - 为什么 `git-svn`卡在 `Found possible branch point:`

    .net - 如何在 Jenkins 构建中从 SVN 监控中排除文件\文件夹

    linux - 过去 15 分钟创建的 Tar 文件并将它们 SCP 到我的本地计算机。 (使用 Cygwin)

    android - 适用于 Android 的预构建 ffmpeg 库

    SVN - 取消导入