##### Search CVSGrab

## Release History

Version | Date | Description
--- | --- | ---
3.0 | planned features |
2.3 | 2007-03-19 |
2.2.2 | 2005-06-26 |
2.2.1 | 2005-03-24 |
2.2 | 2005-02-10 |
2.1 | 2004-05-12 |
2.0.3 | 2004-02-05 |
2.0.2 | 2003-12-27 |
2.0.1 | 2003-12-07 |
2.0 | 2003-10-31 |
2.0-beta3 | 2003-10-24 |
2.0-beta2 | 2003-10-23 |
2.0-beta | 2003-10-15 |
1.2 | 2002-10 |
1.1 | 2002-08 |
1.0 | 2002-06 |
0.1 | 2002-04 |

Get the RSS feed of the last changes

## Release 3.0 - planned features

Type | Changes | By
--- | --- | ---
| TODO: get an accurate number of failures and successes at the end of the execution (false failures were previously counted), list the files that could not be downloaded | ludovicc
| TODO: update to Commons-HttpClient 3.0 | ludovicc
| TODO: add module support by parsing the CVSROOT/modules file. | ludovicc
| TODO: add option to check out files in DOS mode, UNIX mode | ludovicc
| TODO: running cvsgrab on a repository seems to change the modification date of the files. | ludovicc
| TODO: provide a french version of the messages | ludovicc

## Release 2.3 - 2007-03-19

Type | Changes | By
--- | --- | ---
| cvsgrab should not make any changes in the parent directory. Also, it should not create "D/.////" entry in CVS /Entries Fixes 1264505. Thanks to Pavel Roskin. | ludovicc
| Fix so that CVS/WebRepository always gets updated. Fixes 1264506. Thanks to Pavel Roskin. | shinobukawai
| Add export support. Use command option -export. Fixes 591091. | shinobukawai
| Don't output diff if contents are the same. | shinobukawai
| Allow custom JVM o ptions by environment variable CVSGRAB_OPTS. | shinobukawai
| Make sure WebInterfaceId is in CVS/WebRepository. | shinobukawai
| Fix -url option and autodetect for ViewVC 1.0. | shinobukawai
| Add ViewVC 1.0 support. Fixes 1503120. | shinobukawai
| Add FishEye 1.2 support. Fixes 1502636. | shinobukawai
| Fix XML error in faq.fml. Thanks to Pavel Roskin. | shinobukawai
| Update maven-javaapp-plugin version. Fixes 1503486. | shinobukawai

## Release 2.2.2 - 2005-06-26

Type | Changes | By
--- | --- | ---
| Fixed downloading of files on Eclipse.org site | ludovicc
| Fixed support of multiple cvsRoot, as seen on the Eclipse.org site | ludovicc
| Support FishEye 1.0.1. Fixes 1212524. | ludovicc
| Fixed detection of gzipped content on some web sites | ludovicc
| Support Jahia.org. Fixes 1173243. | ludovicc
| Fix cvsgrab.sh. Fixes 1193006. Thanks to Dieter. | ludovicc
| Support Php.net again | ludovicc
| Fixed autodetection that was blocking cvsgrab on some sites (netbeans.org, dev.java.net) | ludovicc
| Fixed combined use of -url and -webInterface parameters | ludovicc

## Release 2.2.1 - 2005-03-24

Type | Changes | By
--- | --- | ---
| Don't run validation when user specifies which web interface to use. | ludovicc
| Fixed auto-detection of the web interface (SourceCast 2.0) for tigris.org. | ludovicc

## Release 2.2 - 2005-02-10

Type | Changes | By
--- | --- | ---
| Added unique -url parameter, guess from this param the root url, package url, project root | ludovicc
| Decompress files when the pages are gzipped. Fixes 983998. | ludovicc
| Restored download of files for the Maven project. | ludovicc
| Update to NekoHTML 0.94 | ludovicc
| Added support for CVSWeb 3.0 | ludovicc
| Added support for SourceCast 3.0 (used by dev.java.net now) | ludovicc
| Added support for CVSWeb 3.0 | ludovicc
| Hangs forever - cvsgrab -rootUrl https://forms.dev.java.net/source/browse/ -packagePath forms -destDir c:/tmp -prune | ludovicc

## Release 2.1 - 2004-05-12

Type | Changes | By
--- | --- | ---
| Add diff functionality. Feature request from Aslak Helsoy (and me!) | ludovicc
| Store the cvsgrab options like the root url in the CVS admin files. This allow you to execute cvsgrab the second time with no parameters, as it can locate the web repository from those admin files. | ludovicc
| Add support for Chora 2.0. | ludovicc
| Add a clean update option, to force downloading the latest version of a locally modified file. Feature request from Amaury Forgeot d'Arc. | ludovicc
| Detect file type (text or binary) and set the -kb flag in the CVS entries for binary files. Feature request from Amaury Forgeot d'Arc. | ludovicc
| Fixed: pruneEmptyDirs doesn't remove the pruned directories from the CVS entries. | ludovicc
| Support cvsWeb 1.0 with multiple project roots. Necessary to get files from http://cvs.hispalinux.es/cgi-bin/cvsweb/?cvsroot=mono | ludovicc
| Add support for gzipped content. Thanks to Ralf Stoffels . | ludovicc
| Another fix of cvsgrab.sh, this time about the evaluation of CVSGRAB_HOME variable. Thanks to Daniel Fischer . | ludovicc

## Release 2.0.3 - 2004-02-05

Type | Changes | By
--- | --- | ---
| Improved auto-detect functionality: now tests different URLs according to the type of the expected web interface. | ludovicc
| Use Jakarta's CLI library to parse command line arguments | ludovicc
| Output looks more like the standard cvs command. | ludovicc
| Add support for ViewCVS 0.9.2 with multiple cvs roots (http://rubyforge.org/cgi-bin/viewcvs/cgi/viewcvs.cgi/?cvsroot=ooo4r) and CVSWeb 1.0 (http://dev.w3.org/cvsweb/). | ludovicc

## Release 2.0.2 - 2003-12-27

Type | Changes | By
--- | --- | ---
| Added support for SourceCast 1.1 used by NetBea ns.org (contributed partially by Laurent Broudoux). | ludovicc
| Fixed cvsgrab.sh: fixed log arguments that were not working on Linux. Thanks to Eric Le Goff . | ludovicc
| Simplified XPath expressions to avoid duplicates in file and directory selections. | ludovicc

## Release 2.0.1 - 2003-12-07

Type | Changes | By
--- | --- | ---
| Added support for CvsWeb 2.0. | ludovicc
| Added initial test that connects to the site by using the root url, this should help to detect proxy settings issues. | ludovicc
| Added manual selection of the web interface, this can fix issues with some web sites where the autodetect feature doesn't work. | ludovicc
| Fixed cvsgrab.sh: use unix-style file format, updated script and make it use the $CVSGRAB_HOME environment variable (copied from Ant script). | ludovicc
| Fixed incorrect urls for directories that contain spaces | ludovicc
| ViewCVS 1.0: fixed detection when ViewCvs is not configured with multiple cvs roots. | ludovicc
| wxWindows apparently uses ViewCVS 0.9.2, but with an additional link after each file name to show the "revision graph". See http://cvs.wxwindows.org/viewcvs.cgi/wxWindows/ So I had to modify the ViewCvsInterface.java file and change _fileVersionXpath = "TD[A/IMG/@alt != '(graph)' ] [2 ] /A/B"; Thanks to Amaury Forgeot d'Arc . | ludovicc
| Removed caching of pages by the server to get the up-to-date version of the directory lists. Thanks to Amaury Forgeot d'Arc . | ludovicc

## Release 2.0 - 2003-10-31

Type | Changes | By
--- | --- | ---
| Use commons-logging to handle logging. This makes logging compatible with the Java 1.4 logging API. | ludovicc
| Fixed logging level for http client library to avoid repetitive warnings like 'Response content length is not known'. | ludovicc
| Use rootUrl + packagePath to detect the type of the web interface instead of rootUrl alone. This should fix redirection issues with Sourceforge where http://cvs.sourceforge.net/viewcvs.py is redirected to http://sourceforge.net/. | ludovicc
| Put back Main-Class attribute in cvsgrab.jar to be able to run cvsgrab with java -jar cvsgrab.jar | ludovicc
| Fixed an issue on Windows systems where files where not updated because the timestamp stored by Windows does not include seconds. | ludovicc
| Added more synchronisation to fix the issue java.io.FileNotFoundException: xxx\CVS\Root (Specific file path not found) when using simultaneous connections. | ludovicc

## Release 2.0-beta3 - 2003-10-24

Type | Changes | By
--- | --- | ---
| Fixed cookie support to avoid tons of warnings when grabbing files from dev.java.net. | ludovicc
| Fixed null pointer exception when optional packageDir parameter was not set. | ludovicc
| Hide password. | ludovicc
| When password is not present but user name is present, display a masked prompt that asks securely for the password. | ludovicc

## Release 2.0-beta2 - 2003-10-23

Type | Changes | By
--- | --- | ---
| Added detection for invalid rootUrl | ludovicc
| Split parameter package into packagePath and packageDir, to be able to give the package path on the web site, and use a different name for storing the package on the disk. WARNING: this affects the command line arguments and the ant task, read the documentation for more details. | ludovicc
| Fixes for NT domain authentification on MS proxies. | ludovicc
| Fix prune empty dirs: empty directories are now removed from CVS entries. | ludovicc
| Fixed autodetection for Sourceforge viewcvs interface: force the version to ViewCVS 0.8 when the root url contains sourceforge.net or sf.net. | ludovicc

## Release 2.0-beta - 2003-10-15

Type | Changes | By
--- | --- | ---
| Changed license from LGPL to BSD. | ludovicc
| Replaced HotSax by NekoHtml for parsing html pages, uses xpath to extract data from the html pages. | ludovicc
| Replace jcvsii by NetBeans' cvsclient, license is more friendly and this is better designed and supported | ludovicc
| Now uses Jakarta commons-httpclient to make http connections, it supports more options in particular for authentification on the web site or on the proxy. | ludovicc
| Open multiple connections to download files faster. | ludovicc
| Added support for authentification with NT credentials used on MS proxies. | ludovicc
| Added support for authenti fication on the web server. | ludovicc
| Added support for localy modified files: they should not be updated even if there is a more recent version on the remote repository. | ludovicc
| Added support for multiple cvsroots (argument cvsroot=[root ] to the query on viewcvs 0.9.2) | ludovicc
| Fixed issue with files recovered from the Attic/ folder when using version tags. | ludovicc
| Added support for different cvs web interfaces. Currently ViewCVS version 0.7, 0.8, 0.9, 1.0-dev and SourceCast 2.0 are supported. | ludovicc
| Added unit tests for better quality. | ludovicc

## Release 1.2 - 2002-10

Type | Changes | By
--- | --- | ---
| Added the date in the cvs entries. | ludovicc
| Made update more robust when there is an upload that failed (failed uploads don't get their version updated) | ludovicc
| Defined CVSGRAB_HOME, used to run cvsgrab.bat from any location. | ludovicc
| Bugfixes, in particular on the pruneEmptyDirs functionality | ludovicc

## Release 1.1 - 2002-08

Type | Changes | By
--- | --- | ---
| Refactoring: renamed package from cvsgrab to net.sourceforge.cvsgrab | ludovicc
| Added support for proxies and http authentication. | ludovicc
| Added prune empty directories functionality. | ludovicc
| Removed first / in the name stored in the Repository admin file for more compatibility with WinCVS. | ludovicc

## Release 1.0 - 2002-06

Type | Changes | By
--- | --- | ---
| Used clean Java code instead of BSF scripts. | ludovicc
| Created a cvsgrab Ant task | ludovicc
| Packaging, documentation. | ludovicc
| Now able to delete the files removed from the repository | ludovicc
| Support for version tags/branches. | ludovicc

## Release 0.1 - 2002-04

Type | Changes | By
--- | --- | ---
| First release. Uses scripts based on BSF (Bean scripting framework) and Hotsax, initially available under the Hotsax project (http://sourceforge.net/hotsax) | ludovicc