|
1 | 1 | # What is GitX?
|
2 | 2 |
|
3 |
| -GitX is a graphical client for the `git` version control system, written |
4 |
| -specifically for OS X Mavericks. |
| 3 | +GitX is an OS X (MacOS) native graphical client for the `git` version |
| 4 | +control system. |
5 | 5 |
|
6 |
| -This means that it has a native interface and tries to integrate with the |
7 |
| -operating system as good as possible. Examples of this are drag and drop |
8 |
| -support and QuickLook support. |
| 6 | +GitX has a long history of various branches and versions maintained by |
| 7 | +various people over the years. This github org & repo are an attempt to |
| 8 | +consolidate and move forward with a current, common, community-maintained |
| 9 | +version. See discussion at [**Forking, and plans for the future of |
| 10 | +GitX**](https://github.com/gitx/gitx.github.io/issues/1). |
9 | 11 |
|
10 |
| -Legacy builds are available for older OS X platforms, see below. |
| 12 | +### How to Build & Install: |
11 | 13 |
|
12 |
| -# What is GitX-dev? |
13 |
| - |
14 |
| -This fork (variant) of GitX focuses on programmer-oriented features for those |
15 |
| -working with the latest tools for developing software for current Apple platforms. |
16 |
| -As such, it only supports 64-bit Intel macs, and currently deploying versions of OS X and Xcode. |
17 |
| - |
18 |
| -Drawing several important early improvements from mainline "official" GitX |
19 |
| -from GitX (L) and others, we are prioritizing moving away from deprecated |
20 |
| -or unreliable technologies like a dependency on command-line `git` usage |
21 |
| -to drive GitX features; and staying up-to-date with Apple and third-party |
22 |
| -frameworks and libraries that are used. |
23 |
| - |
24 |
| -# Getting GitX-dev |
25 |
| - |
26 |
| -## Download the latest binary |
27 |
| - |
28 |
| -[](http://builds.phere.net/GitX/development/GitX-dev.dmg) |
29 |
| - |
30 |
| -* *Download the [latest build](http://builds.phere.net/GitX/development/GitX-dev.dmg)* for OS X 10.8 Mountain Lion and newer. OS X 10.7 Lion and 10.6 Snow Leopard users please see *Older releases* below. |
31 |
| -* Browse the [project releases page](https://github.com/rowanj/gitx/releases) for milestones and preview builds. |
32 |
| -* Jump straight to the [latest milestone build](https://github.com/rowanj/gitx/releases/latest) |
33 |
| - |
34 |
| -GitX-dev uses the [Sparkle](http://sparkle.andymatuschak.org/) framework for in-app updates; so once you have version 0.11 (December 2011) or later, you can check for or update to new builds from the GitX menu at any time, or opt-in for automatic updates. |
35 |
| - |
36 |
| -## Older releases |
37 |
| - |
38 |
| -Milestone releases are uploaded to the [GitHub project releases page](https://github.com/rowanj/gitx/releases). |
39 |
| - |
40 |
| -Older binary archives (predating the GitHub releases system) are available on the [GitHub project downloads page](https://github.com/rowanj/gitx/downloads). |
41 |
| - |
42 |
| -The last build compatible with OS X Lion (10.7) is [0.15.1949](http://builds.phere.net/GitX/development/GitX-dev-1949.dmg), from July 27th 2014. Among the reasons that OS X 10.7 support has been dropped is that it does not fully support ARC, application sandboxing, and other modern programming features like XPC services. It also breaks in ways that cannot be reproduced on newer platforms, and so has been a disproportionate support load; and a poor experience for users on this platform. |
43 |
| - |
44 |
| -The last build compatible with OS X Snow Leopard (10.6) is [0.14.81](http://builds.phere.net/GitX/development/GitX-dev-81.dmg), from February 4th 2013. Among the OS X features that Snow Leopard does not support is Objective-C ARC, which is now the only non-deprecated memory management system on OS X. |
45 |
| - |
46 |
| -OS X Mountain Lion (10.8) support for new builds will be ending soon, probably around Q2 2015. |
47 |
| - |
48 |
| -The maintainence strategy will be as with Snow Leopard and Lion, |
49 |
| -a legacy build will be earmarked for any new installs on these platforms. |
50 |
| - |
51 |
| - |
52 |
| -# Features |
53 |
| - |
54 |
| -The project is well underway, and based on the solid foundations of GitX and |
55 |
| -GitX (L), used day-to-day by our developers. We consider GitX-dev to be |
56 |
| -close to feature-complete, with very few workflows dependant on manual |
57 |
| -command-line `git` usage. |
58 |
| - |
59 |
| - * History browsing of your repository |
60 |
| - * See a nicely formatted diff of any revision |
61 |
| - * Search based on author or revision subject |
62 |
| - * Look at the complete tree of any revision |
63 |
| - * Preview any file in the tree in a text view or with QuickLook |
64 |
| - * Drag and drop files out of the tree view to copy them to your system |
65 |
| - * Support for all parameters git rev-list has |
66 |
| - * Good performance on large (200+ MB) repositories |
67 |
| - |
68 |
| -# Development |
69 |
| - |
70 |
| -Developing for GitX-dev has a few requirements above and beyond those |
71 |
| -for mainline GitX. |
72 |
| - |
73 |
| -Most third-party code is referenced with Git submodules, so [read up](http://book.git-scm.com/5_submodules.html) on those if you're not familiar. |
74 |
| - |
75 |
| - * Very recent Xcode install, 5.1 release strongly recommended. |
76 |
| - * Most development is done on OS X Mavericks, earlier host platforms may or may not work at all. |
77 |
| - * `Homebrew` and `xctool` for running Objective-Git’s `bootstrap` script. |
78 |
| - * `CMake` with a working command-line compiling environment for building `libgit2`. |
79 |
| - * `node.js` for building `SyntaxHighlighter` (not necessary unless you're updating SyntaxHighlighter itself.) |
80 |
| - |
81 |
| -To get GitX-dev to compile locally you need to: |
82 |
| - |
83 |
| - 1. Clone the repository locally: `git clone https://github.com/rowanj/gitx.git` |
84 |
| - 2. After cloning it `cd gitx` and then recursively initialize all submodules: `git submodule update --init --recursive` |
85 |
| - 3. Then prepare objective-git by running its bootstrap script: `cd objective-git && ./script/bootstrap` |
86 |
| - 4. Then compile objective-git `cd objective-git && ./script/update_libgit2` |
87 |
| - |
88 |
| -After that you should be able to open the Xcode project and build successfully. |
89 |
| - |
90 |
| -# License |
91 |
| - |
92 |
| -GitX is licensed under the GPL version 2. For more information, see the attached COPYING file. |
93 |
| - |
94 |
| -# Usage |
95 |
| - |
96 |
| -GitX itself is fairly simple. Most of its power is in the 'gitx' binary, which |
97 |
| -you should install through the menu. the 'gitx' binary supports most of git |
98 |
| -rev-list's arguments. For example, you can run `gitx --all` to display all |
99 |
| -branches in the repository, or `gitx -- Documentation` to only show commits |
100 |
| -relating to the 'Documentation' subdirectory. With `gitx -Shaha`, gitx will |
101 |
| -only show commits that contain the word 'haha'. Similarly, with `gitx |
102 |
| -v0.2.1..`, you will get a list of all commits since version 0.2.1. |
103 |
| - |
104 |
| -# Helping out |
105 |
| - |
106 |
| -Any help on GitX is welcome. GitX is programmed in Objective-C, but even if |
107 |
| -you are not a programmer you can do useful things. A short selection: |
108 |
| - |
109 |
| - * Give feedback |
110 |
| - * File [bug reports](https://github.com/rowanj/gitx/issues?labels=Bug) and [feature requests](https://github.com/rowanj/gitx/issues?labels=Feature). |
| 14 | +See [the wiki page](https://github.com/gitx/gitx/wiki/Build-instructions) |
| 15 | +for build instructions. |
0 commit comments