Wine HQ

  WineHQ Menu
 WineHQ
 AppDB
 Bugzilla
 Wine Wiki
 Wine Forums

  About
 Introduction
 Features
 Screenshots
 Contributing
 News
 Press
 License

  Download
 Get Wine Now

  Support
 Getting Help
 FAQ
 Documentation
 HowTo
 Live Support Chat
 Paid Support

  Development
 Developers Guide
 Mailing Lists
 GIT
 Sending Patches
 To Do Lists
 Fun Projects
 Janitorial
 Winelib
 Status
 Resources
 WineConf

Search WineHQ
The Wine Git Tree

The Wine Git Tree

Wine uses an Open Source, open process development model. Anyone may get the code, post opinions on what should be done, and contribute patches. You will need to know C and/or perl, and something about Unix and Windows.

Git is a fast directory content manager, originally written for use with large repositories, such as the Linux Kernel source.

You will need Git 1.3.1 or above.

Read the sections below on how to use our Git tree or check the GitWine guide on the Wine Wiki.

  1. Getting a local copy of Wine
  2. Cleaning up your existing tree
  3. Staying Up-To-Date
  4. Source Tree Browsing via the Web
  5. Other modules available from WineHQ
  6. Getting a local copy of Wine with CVS
  7. Documentation module available from Sourceforge

Getting a local copy of Wine

To check out the entire Wine source tree, do:

git clone git://source.winehq.org/git/wine.git wine


Cleaning up your existing tree

A quick way to clean up your tree after you've been modifying it and want to remove changes you haven't checked in is this:

cd wine git diff-index -p HEAD > total-x.x.x.diff patch -p1 -R < total-x.x.x.diff git reset

Using the current x.x.x tags, you can keep a history of changes that were in your Wine tree.

If you have made commits to the tree, and want to remove them all, you can use the following more dangerous command:

git reset --hard origin

This will wipe out any local changes you have made, so use it with caution.


Staying Up-To-Date

First, make sure to clean your tree as described above, then run the following commands from the top level wine directory:

git fetch git rebase origin


Source Tree Browsing via the Web

The source code of the entire Wine tree is (LXR-based) cross-referenced and available for browsing, including a search engine. This cross-references source is based on the snapshot-releases and is made available at:

Direct access from the web to the complete Git tree is also possible, using gitweb package:


Other modules available from WineHQ

In addition to the main source tree, the WineHQ Git server also exports the following modules:

  • website.git -- source for the WineHQ.org website
  • bugzilla.git -- source for the bugzilla version used on the WineHQ site
  • appdb.git -- source for the application database web site
  • tools.git -- tools used on the WineHQ site

Getting a local copy of Wine with CVS

If you cannot use Git for some reason, the main source tree is also available through CVS.

To login to the CVS server, run in a terminal:

cvs -d :pserver:cvs@cvs.winehq.org:/home/wine login

Use "cvs" as the password (without the quotes).

To check out the Wine source tree run:

cvs -z 3 -d :pserver:cvs@cvs.winehq.org:/home/wine checkout wine


Documentation module available from Sourceforge

The documentation lives in a separate CVS tree on Sourceforge.
To get a git repository of the documentation create a new directory and in a terminal run in that directory:

git cvsimport -v -k -d :pserver:anonymous@wine.cvs.sourceforge.net:/cvsroot/wine docs

But be aware that this can take quite some time.