widgets: improve reuse of keyboard bindings, etc
[git-cola.git] / README.md
bloba1b464eb79b124c11d43d175052ef961bd144f0d
1 # git-cola: The highly caffeinated git GUI
3     git-cola is a powerful git GUI with a slick and intuitive user interface.
5     Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013
6     David Aguilar and contributors
8     This program is free software: you can redistribute it and/or modify
9     it under the terms of the GNU General Public License as published by
10     the Free Software Foundation, either version 2 of the License, or
11     (at your option) any later version.
13     This program is distributed in the hope that it will be useful,
14     but WITHOUT ANY WARRANTY; without even the implied warranty of
15     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16     GNU General Public License for more details.
18     You should have received a copy of the GNU General Public License
19     along with this program.  If not, see <http://www.gnu.org/licenses/>.
21 ## SCREENSHOTS
23 Screenshots are available on the
24 [git-cola screenshots page](http://git-cola.github.io/screenshots.html).
26 ## DOWNLOAD
28     apt-get install git-cola python-pyinotify
30 New releases are available on the
31 [git-cola download page](http://git-cola.github.io/downloads.html).
33 ## FORK
35     git clone git://github.com/git-cola/git-cola.git
37 [git-cola on github](https://github.com/git-cola/git-cola)
39 [git-cola google group](http://groups.google.com/group/git-cola/)
42 # NUTRITIONAL FACTS
45 ## ACTIVE INGREDIENTS
47 * [git](http://git-scm.com/) 1.6.3 or newer
49 * [Python](http://python.org/) 2.5 through 2.7
51 * [PyQt4](http://www.riverbankcomputing.co.uk/software/pyqt/download) 4.4 or newer
53 ## ADDITIVES
55 [pyinotify](https://github.com/seb-m/pyinotify) 0.7.1 or newer
56 enables inotify support on Linux.
58 # BREWING INSTRUCTIONS
60 Normally you can just do "make install" to install *git-cola*
61 in your `$HOME` directory (`$HOME/bin`, `$HOME/share`, etc).
62 If you want to do a global install you can do
64     make prefix=/usr install
66 You don't need to `make` to run it, though.
67 *git-cola* is designed to run directly out of its source tree.
69     bin/git-cola
70     bin/git-dag
72 ## MAC OS X
74 Whether you install cola yourself with `make install` or
75 use the `git-cola.app` bundle, you will need to install
76 *Qt4* and *PyQt4*.
78 The easiest way to do this is to [install homebrew](http://mxcl.github.com/homebrew/)
79 and use it to install git-cola.
81     brew install git-cola
83 Once brew has installed git-cola (and its dependencies) you either use
84 `git-cola.app`, run from source, or install from source via `make install`.
85 You can build `git-cola.app` by running `make git-cola.app`.
87 Installing these packages also gives you a PyQt development
88 environment which can be used for building your own applications
89 or hacking on cola itself.
91 ## WINDOWS INSTALLATION
93 Download the latest stable Git, Python 2.x, and Py2x-PyQt4 installers
95 * [msysGit](http://msysgit.github.com/)
97 * [Python](http://python.org/download/)
99 * [PyQt](http://www.riverbankcomputing.co.uk/software/pyqt/download/)
101 * [git-cola Installer](https://github.com/git-cola/git-cola/downloads)
103 Once these are installed you can run *git-cola* from the Start menu or
104 by double-clicking on the `git-cola.pyw` script.
106 If you are developing *git-cola* on Windows you can use `python.exe` to run
107 *git-cola* directly from source.
109     python.exe bin/git-cola
111 If you want to build the `git-cola Installer` yourself run the provided script
113     win32/create-installer.sh
115 You have to make sure that the file
117     /share/InnoSetup/ISCC.exe
119 exists. That is normally the case when you run the *msysGit bash* and
120 not the *Git for Windows bash* (look [here](http://msysgit.github.com/)
121 for the differences).
123 ## GOODIES
125 *git-cola* ships with an interactive rebase editor called *git-xbase*.
126 *git-xbase* can be used to reorder and choose commits and can be launched
127 independently of the main *git-cola* interface, e.g.:
129     GIT_SEQUENCE_EDITOR=$PWD/share/git-cola/bin/git-xbase git rebase -i master