views:

117

answers:

4

Hello. I am using svn to download the source code to an open source project. I want to download an older version do to compilation errors and I know you can do that, but I don't know the exact numbers (e.g. 1.2.3) that make up the version. Is there a way svn can list all of the available software versions and when they were published?

Thanks

A: 

The command:

svn log

Will provide you with what you are looking for.

byte
+2  A: 

SVN will provide logs of every checkin that has been made. Most projects also make use of SVN tags to note "interesting" versions of a particular project - things like released versions, alpha or beta versions, release candidates, etc.

I would begin with svn list to find out the version you are interested in has a tag associated with it. Then look at the log for that tag to confirm.

The online SVN Book is the only reference I have ever used.

semiuseless
+2  A: 

If the project does what just about all SVN projects do, try

svn ls http://hoster.com/repo/tags

The tags directory usually contains the versions referenced by name, so you should find something like

version-1.2.3

and can then checkout

svn co http://hoster.com/repo/tags/version-1.2.3

Since you don't know the exact version, you might still have to try, but by just using the tags you at least only look at revisions that are somewhat considered "major".

balpha
A: 

If the open source project uses tags or branches on release, then as balpha says it will be easy to list the tagged directories to find the version you are after.

However, if the project doesn't adopt this approach (and why not, it makes sense!:) then your best bet is to look at the revision history of the file that contains the version number of the project.

Note that you can use dates as well as revision numbers, so if you have some idea of when the version was released, that might be easier if the log messages don't contain the version.

Finally, if you're on windows, TortoiseSVN has excellent search tools.

Si