Get last sources from CVS

This document explains how to get latest Visual-MinGW sources from its CVS repository using MSYS and MSYS Developer Tool Kit. (msysDTK)

1. Installing MSYS

Download MSYS and msysDTK from MinGW project.
Install Msys distribution in any directory, then install msysDTK over the MSYS distribution.
Run MSYS from the created shortcuts. You will get a terminal window, waiting for commands.

MSYS' rxvt terminal.

The up and down arrow keys permit to browse previous/next command line.
Shift + left click pastes text into the terminal window.
Selected text is automatically copied to the clipboard.

2. basic Unix shell commands

 

Action

Command

Example

change directory

cd

cd C:/Temp

list files

ls

ls

rename file/directory

mv

mv dir1 dir2

copy directory

cp -R

cp -R dir1 dir2

remove directory

rm -rf

rm -rf directory

 

Caution: rm -rf doesn't move files to the recycle bin! All files in the directory will be lost.

3. Changing the current directory.

Change the current directory to the location containing Visual-MinGW sources with the cd command.
Then, list files/directories with the ls command.

cd and ls commands.

4. Checking out the sources via an anonymous cvs connexion

As explained in SourceForge's CVS instructions, "cd" to the directory where the sources are to be retrieved and type:

    cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/visual-mingw login

When prompted for a password, hit Enter and check out cvs sources with the following:

    cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/visual-mingw co visual-mingw

(paste these commands with shift + left click)
 

Check out cvs sources.

Check out completion.

ls shows the new visual-mingw directory:

Remove the local directory, copy visual-mingw into local and rename visual-mingw into repository.

Create local and repository.

5. Updating source files in repository

Once all the files are out, you don't need to download all again each time files are modified. You'll just retrieve latest revisions with "cvs update".
"cd" to your copy of the repository and type "cvs -z3 update -dP".
The -z option suits for compression, -d retrieves new directories and their content, -P removes empty directories.

Updating source files.

You will proceed like this in the future to keep your source files up to date.

Win9x users:
You'll find that cvs often freezes after successful completion. Killing cvs with Ctrl + Alt + Del mostly cause Windows to crach. So, in such case, ignore the frozen process, just keep its window opened. It will wake up a few minutes after you'll disconnect. Then launch another MSYS instance.
 

6. Using shell scripts to generate diff files.

The local directory should be used to modify and compile your source files locally, whereas repository contains a verbatim copy of cvs files.

Then the cvsdiff shell script can generate a diff file against local and repository. Then you can submit the generated repository.diff file as a patch. Note that new files in local are not included in the diff file, these must be submitted separately.
 

Generating a patch against cvs source files.

7. References

Quick Unix Tutorial
Unix Course (french)
Unix Help

bash User Manual
rxvt User Manual

MSYS mailing-list (subscription required)