I need to write a script that deploy many cygwin applications with svn-1.6-17. All my attempts were finished by installing or svn-1.7, or nothing.
I tried to install subversion, subversion-1.6, subversion-1.6-17. It all was useless.
How I can install previous version of package by console on cygwin?
I just went through this and I'm adding this to help the next person. Note: this same technique will probably work for any Cygwin package.
We have a third party product that talks directly to the subversion server, but keeps its directories in the 1.6 format. If the local directories are updated, the tool breaks. But I needed a way to do a svn cleanup
for times when the tool got in a bad state.
Here's how I went about doing this:
Cygwin Time Machine at crouchingtigerhiddenfruitbat.org maintains archives of previous releases. Each release consists of a setup.bz2 (the compressed setup.ini file) and a collection of related archives for the packages of that release.
I searched the cygwin-announce mailinglist for updates of subversion. The last update for 1.6 was June 10, 2011.
Next, I walked through the crouchingtigerhiddenfruitbat.org indexes of previous releases from that date until I found the last release of svn 1.6, It was the July 1, 2011 release.
I downloaded setup.bz2 from the corresponding directory on crouchingtigerhiddenfruitbat (in this case: http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/circa/2011/07/01/062011/setup.bz2). I used bunzip2 to unpack setup.bz2 to a simple text file. I found the entry for subversion and copied the path of the install tarball (release/subversion/subversion-1.6.17-1.tar.bz2). The section you're looking for looks like this:
@ 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
We're interested in this line that gives the relative path to the 1.6 svn tarball:
install: release/subversion/subversion-1.6.17-1.tar.bz2 775392
I retrieved the tarball for subversion and extracted it to a temporary directory (temp). I moved the contents of temp/usr/bin to a svn16 directory.
Now, I can prepend that directory to the search path and get the functionality of svn 1.6 like so:
PATH=~/svn16:$PATH svn up
Note: It looks like the Cygwin Time Machine no longer allows directory browsing. This means you'll need to start from the root an dig a bit to find a package.
Updated with links as I just needed to do this again.
Note 2: Updated links to crouchingtigerhiddenfruitbat
1) Download a subversion
package from a download site offered by the cygwin
installer.
I personally took it from here (64 bit version) and saved it into an empty directory.
EDIT: If you want the 32-bit version, just remov the "_64" from the URL.
2) Start the cygwin
installer and choose Install from Local Directory
when it asks to choose from a download source.
3) Locate everything related to subversion
. Uninstall the unwanted version and install the old one. The newer version is already uninstalled on the image.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With