8 :ref:`v2.11 <v2.11>` is the latest stable release.
13 Clone the git-cola repo to get the latest development version:
15 ``git clone git://github.com/git-cola/git-cola.git``
22 Usability, bells and whistles
23 -----------------------------
24 * New Ukranian translation.
26 https://github.com/git-cola/git-cola/pull/670
28 https://github.com/git-cola/git-cola/pull/672
30 * New and improved French translations.
32 * The new `Branches` widget makes it easier to checkout, merge, push,
33 and pull branches from a single interface.
35 * `git cola` now includes a dark icon theme. The dark icon theme can be
36 activated either by setting the `GIT_COLA_ICON_THEME` environment variable
37 to `dark`, by configuring `cola.icontheme` to `dark`, or by specifying
38 `--icon-theme=dark` on the command line.
40 https://github.com/git-cola/git-cola/pull/638
42 * Autocompletion was added to the `Fetch`, `Push`, and `Pull` dialogs.
44 * The commit message editor now remembers the "Spellcheck" setting
47 https://github.com/git-cola/git-cola/pull/645
49 * `git dag` now uses an improved algorithm for laying out the graph,
50 which avoids collisions under certain graph configurations, and
51 avoids overlapping tag with commits.
53 https://github.com/git-cola/git-cola/pull/648
55 https://github.com/git-cola/git-cola/pull/651
57 https://github.com/git-cola/git-cola/pull/654
59 https://github.com/git-cola/git-cola/pull/656
61 https://github.com/git-cola/git-cola/pull/659
63 * `git dag` now remembers its column sizes across sessions.
65 https://github.com/git-cola/git-cola/issues/674
67 * `Grep` now shows a preview of the selected file's content in a split window
68 below the grep results.
70 * `Grep` now includes line numbers in the preview pane's output.
72 * `Edit Remotes` now remembers its window settings after exiting.
74 * `Diff` now has an option to display line numbers in the editor.
76 https://github.com/git-cola/git-cola/issues/136
78 * `Amend Last Commit` can now be triggered via the `Commit` menu in addition
79 to the commit message editor's options.
81 https://github.com/git-cola/git-cola/issues/640
83 * The `File Browser` tool was made much faster and can now operate on
84 much larger repositories.
86 https://github.com/git-cola/git-cola/issues/499
88 * A new "turbo" mode was added that allows you to opt-out of operations
89 that can slow `git cola` on large repositories. The turbo mode is
90 enabled by configuring `git config cola.turbo true`. Turbo mode
91 disables the background loading of Git commit messages and other
92 details in the `File Browser` widget.
94 * A new GitIgnore dialog allows adding custom gitignore patterns.
96 https://github.com/git-cola/git-cola/pull/653
98 * The spellchecker in `git cola` can now use an additional dictionary
99 by configuring `cola.dictionary` to the path to a file containing
100 a newline-separated list of words.
102 https://github.com/git-cola/git-cola/issues/663
104 * The stash, export patches, diff, and gitignore dialogs now remember
107 * A new `git cola recent` sub-command was added for finding recently
110 * The `Fetch` dialog now allows pruning remote branches.
112 https://github.com/git-cola/git-cola/issues/639
114 https://github.com/git-cola/git-cola/pull/680
118 * `git cola`'s spellchecker now supports the new `dict-common` filesystem
119 layout, and prefers the `/usr/share/dict/cracklib-small` file over the
120 `/usr/share/dict/words` provided on older distributions.
121 This makes the spellchecker compatible with Arch, which does not provide
122 a `words` symlink like Debian.
124 https://github.com/git-cola/git-cola/issues/663
126 * Properly handle the case where an existing file is untracked using
129 * Fix a quirk where the "Create Branch" dialog sometimes required clicking
130 twice on the radio buttons.
132 https://github.com/git-cola/git-cola/pull/662
134 * Fixed a focus issue to ensure that "Push", "Fetch", and "Pull" can
135 be executed with the press of a single enter key after being shown.
137 https://github.com/git-cola/git-cola/issues/661
139 * Committing is now allowed in when resolving a merge results in no
140 changes. This state was previously prevented by the commit message editor,
141 which prevented users from resolving merges that result in no changes.
143 https://github.com/git-cola/git-cola/pull/679
145 * The filesystem monitor would sometimes emit backtraces when directories
146 are modified. This has been fixed.
148 https://bugzilla.redhat.com/show_bug.cgi?id=1438522
150 * Absolute paths are now returned when querying for `.git`-relative paths
151 from within a submodule, which uses `.git`-files.
152 This fixes launching `git cola` from within a subdirectory of a submodule.
154 https://github.com/git-cola/git-cola/pull/675
161 Usability, bells and whistles
162 -----------------------------
163 * `git cola` can now invoke the `.git/hooks/cola-prepare-commit-msg`
164 hook to update the commit message. This hook takes the same parameters
165 as Git's `prepare-commit-message` hook. The default path to this hook
166 can be overridden by setting the `cola.prepareCommitMessageHook`
167 configuration variable.
169 http://git-cola.readthedocs.io/en/latest/git-cola.html#prepare-commit-message
171 * `git cola diff` (and the corresponding `Diff` menu actions) can now
172 launch difftool with the standard `Ctrl+D` hotkey. The `Ctrl+E` hotkey was
173 also added for launching an editor.
175 * Traditional Chinese (Taiwan) translation updates.
179 * `git cola` now works when installed in non-ascii, utf8-encoded paths.
181 https://github.com/git-cola/git-cola/issues/629
183 * Styling issues that caused black backgrounds in various widgets when using
184 PyQ5 on Mac OS X have been fixed.
186 https://github.com/git-cola/git-cola/issues/624
188 * The "Open Recent" menu action was broken and has been fixed.
190 https://github.com/git-cola/git-cola/issues/634
192 * Exiting `git cola` with a maximized main window would hang when reopened
195 https://github.com/git-cola/git-cola/issues/641
199 * `appdata.xml` files are now provided at
200 `share/appdata/git-cola.xml` and `share/appdata/git-dag.xml`
201 for use by the Linux software gallery.
203 https://people.freedesktop.org/~hughsient/appdata/
205 https://github.com/git-cola/git-cola/pull/627
214 * The "Open Recent" menu was updated to new bookmarks format.
216 https://github.com/git-cola/git-cola/issues/628
223 Usability, bells and whistles
224 -----------------------------
225 * New Polish translation thanks to Łukasz Wojniłowicz
227 https://github.com/git-cola/git-cola/pull/598
229 * The `Bypass Commit Hooks` feature now disables itself automatically
230 when a new commit is created. The new behavior turns the option into a
231 single-use flag, which helps prevent users from accidentally leaving it
232 active longer than intended.
234 https://github.com/git-cola/git-cola/pull/595
236 * `git dag` learned to launch an external diff viewer on selected commits.
237 The standard `Ctrl+D` shortcut can be used to view diffs.
239 https://github.com/git-cola/git-cola/issues/468
241 * `git dag` learned to launch directory diffs via `git difftool --dir-diff`.
242 The `Ctrl+Shift+D` shortcut launches difftool in directory-diff mode.
244 https://github.com/git-cola/git-cola/issues/468
246 * Items in the "Favorites" list can now be renamed, which makes it
247 easier to differentiate between several checkouts of the same repository.
249 https://github.com/git-cola/git-cola/issues/599
251 https://github.com/git-cola/git-cola/pull/601
253 * The startup screen now includes a logo and `git cola` version information.
255 https://github.com/git-cola/git-cola/issues/526
257 * The `About` page was revamped to contain multiple tabs. A new tab was added
258 that provides details about `git cola`''s dependencies. New tabs were also
259 added for giving credit to `git cola`'s authors and translators.
261 * The `About` page can now be accessed via `git cola about`.
263 * The "Fast-forward only" and "No fast-forward" options supported by
264 `git pull` are now accessible via `git cola pull`.
266 * Doing a forced push no longer requires selecting the remote branch.
268 https://github.com/git-cola/git-cola/pull/618
270 * `git cola push` now has an option to suppress the prompt that is shown
271 when pushing would create new remote branches.
273 https://github.com/git-cola/git-cola/issues/605
275 * `git dag` now shows commit messages in a more readable color.
277 https://github.com/git-cola/git-cola/issues/574
279 * `git cola browse` and the `status` widget learned to launch the OS-specified
280 default action for a file. When used on directories via `git cola browse`,
281 or when "Open Parent Directory" is used on files, the OS-specified
282 file browser will typically be used.
284 * `git cola browse` and the `status` widget learned to launch terminals.
288 * `git cola browse` was not updating when expanding items.
290 https://github.com/git-cola/git-cola/issues/588
292 * Typofixes in comments, naming, and strings have been applied.
294 https://github.com/git-cola/git-cola/pull/593
296 * The inotify and win32 filesystem monitoring no longer refreshes
297 when updates are made to ignored files.
299 https://github.com/git-cola/git-cola/issues/517
301 https://github.com/git-cola/git-cola/issues/516
303 * The `Refresh` button on the actions panel no longer raises an
304 exception when using PyQt5.
306 https://github.com/git-cola/git-cola/issues/604
308 * Fixed a typo in the inotify backend that is triggered when files are removed.
310 https://github.com/git-cola/git-cola/issues/607
312 * Fixed a typo when recovering from a failed attempt to open a repository.
314 https://github.com/git-cola/git-cola/issues/606
316 * `git dag` now properly updates itself when launched from the menubar.
318 https://github.com/git-cola/git-cola/pull/613
320 * If git-cola is invoked on Windows using `start pythonw git-cola`,
321 a console window will briefly flash on the screen each time
322 `git cola` invokes `git`. The console window is now suppressed.
324 * We now avoid some problematic Popen flags on Windows which were
325 breaking the `git rebase` feature on Windows.
327 * The `Save` button in `git dag`'s "Grab File..." feature now properly
328 prompts for a filename when saving files.
330 https://github.com/git-cola/git-cola/pull/617
334 * The `qtpy` symlink in the source tree has been removed to allow for easier
335 development on Windows.
337 https://github.com/git-cola/git-cola/issues/626
344 Usability, bells and whistles
345 -----------------------------
346 * `git cola push` learned to configure upstream branches.
348 https://github.com/git-cola/git-cola/issues/563
352 * The diffstat view is now properly updated when notifications are
353 received via inotify filesystem monitoring.
355 https://github.com/git-cola/git-cola/issues/577
357 * Python3 with PyQt5 had a bug that prevented `git cola` from starting.
359 https://github.com/git-cola/git-cola/pull/589
369 * When repositories stored in non-ASCII, UTF-8-encoded filesystem paths
370 were operated upon with `LC_ALL=C` set in the environment, unicode errors
371 would occur when using `python2`. `git cola` was made more robust and will
372 now operate correctly within this environment.
374 https://github.com/git-cola/git-cola/issues/581
376 * Support for the `GIT_WORK_TREE` environment variable was fixed.
378 https://github.com/git-cola/git-cola/pull/582
383 * The `unittest.mock` module is now used instead of the original `mock` module
384 when running the `git cola` test suite using Python3.
386 https://github.com/git-cola/git-cola/issues/569
391 * `git cola` is now compatible with *PyQt5*, *PyQt4*, and *Pyside*.
392 `git cola` previously supported *PyQt4* only, but will now use whichever
393 library is available. Users are not required to upgrade at this time,
394 but *PyQt5* support can be enabled anytime by making its python
397 https://github.com/git-cola/git-cola/issues/232
399 *NOTE*: We do not yet recommend using *PyQt5* because there are known
400 exit-on-segfault bugs in *Qt5* that have not yet been addressed.
401 `git cola` is sensitive to this bug and is known to crash on exit
402 when using `git dag` or the interactive rebase feature on *PyQt5*.
404 https://bugreports.qt.io/browse/QTBUG-52988
406 *PyQt4* is stable and there are no known issues when using it so
407 we recommend using it until the Qt5 bugs have been resolved.
409 * `git cola` now depends on *QtPy* and includes a bundled copy of the
410 `qtpy` library. If you are packaging `git cola` and would prefer to use
411 `qtpy` from your distribution instead of the built-in version then use
412 `make NO_VENDOR_LIBS=1` when building `git cola`. This will prevent
413 vendored libraries from being installed.
420 Usability, bells and whistles
421 -----------------------------
423 * A new "Reset" sub-menu provides access to running "git reset --mixed"
424 when resetting branch heads and "git reset --merge" when resetting
427 https://github.com/git-cola/git-cola/issues/542
429 * `git cola` now supports linked worktrees, i.e. worktrees created by
432 https://github.com/git-cola/git-cola/issues/554
437 * Diff highlighting is now robust to the user having
438 diff.supressBlankEmpty=true in their git config.
440 https://github.com/git-cola/git-cola/issues/541
442 * The filesystem monitor now properly handles repositories that use
443 `.git`-files, e.g. when using submodules.
445 https://github.com/git-cola/git-cola/issues/545
447 https://github.com/git-cola/git-cola/pulls/546
449 * Per-repository git configuration is now properly detected when launching
450 `git cola` from an application launcher.
452 https://github.com/git-cola/git-cola/issues/548
454 * `git cola` now cleans up after itself immediately to avoid leaving behind
455 empty `/tmp/git-cola-XXXXXX` directories when the user uses `Ctrl+C`
458 https://github.com/git-cola/git-cola/issues/566
463 * It is now possible to install `git cola` to and from utf8-encoded filesystem
464 paths. Previously, Python's stdlib would throw an encoding error during
465 installation. We workaround the stdlib by forcing python2 to use utf-8,
466 thus fixing assumptions in the stdlib library code.
468 https://github.com/git-cola/git-cola/issues/551
475 Usability, bells and whistles
476 -----------------------------
478 * The icon for untracked files was adjusted to better differentiate
479 between files and the "Untracked" header.
481 https://github.com/git-cola/git-cola/issues/509
483 * Ctrl+O was added as a hotkey for opening repositories.
485 https://github.com/git-cola/git-cola/pull/507
487 * `git dag` now uses consistent edge colors across updates.
489 https://github.com/git-cola/git-cola/issues/512
491 * `git cola`'s Bookmarks widget can now be used to set a "Default Repository".
492 Under the hood, we set the `cola.defaultrepo` configuration variable.
493 The default repository is used whenever `git cola` is launched outside of
494 a Git repository. When unset, or when set to a bogus value, `git cola`
495 will prompt for a repository, as it previously did.
497 https://github.com/git-cola/git-cola/issues/513
499 * `git cola`'s Russian and Spanish translations were improved
500 thanks to Vaiz and Zeioth.
502 https://github.com/git-cola/git-cola/pull/514
504 https://github.com/git-cola/git-cola/pull/515
506 https://github.com/git-cola/git-cola/pull/523
508 * `git cola` was translated to Turkish thanks to Barış ÇELİK.
510 https://github.com/git-cola/git-cola/pull/520
512 * The status view now supports launching `git gui blame`. It can be
513 configured to use a different command by setting `cola.blameviewer`.
515 https://github.com/git-cola/git-cola/pull/521
517 * `git dag` now allows selecting non-contiguous ranges in the log widget.
519 https://github.com/git-cola/git-cola/issues/468
521 * Any font can now be chosen for the diff editor, not just monospace fonts.
523 https://github.com/git-cola/git-cola/issues/525
528 * `xfce4-terminal` and `gnome-terminal` are now supported when launching
529 `git mergetool` to resolve merges. These terminals require that the command
530 to execute is shell-quoted and passed as a single string argument to `-e`
531 rather than as additional command line arguments.
533 https://github.com/git-cola/git-cola/issues/524
535 * Fixed a unicode problem when formatting the error message that is shown
536 when `gitk` is not installed. We now handle unicode data in tracebacks
537 generated by python itself.
539 https://github.com/git-cola/git-cola/issues/528
541 * The `New repository` feature was fixed.
543 https://github.com/git-cola/git-cola/pull/533
545 * We now use omit the extended description when creating "fixup!" commits,
546 for consistency with the Git CLI. We now include only the one-line summary
547 in the final commit message.
549 https://github.com/git-cola/git-cola/issues/522
556 Usability, bells and whistles
557 -----------------------------
559 * The user interface is now HiDPI-capable. git-cola now uses SVG
560 icons, and its interface can be scaled by setting the `GIT_COLA_SCALE`
561 environment variable.
563 * `git dag` now supports the standard editor, difftool, and history hotkeys.
564 It is now possible to invoke these actions from file widget's context
565 menu and through the standard hotkeys.
567 https://github.com/git-cola/git-cola/pull/473
569 * The `Status` tool also learned about the history hotkey.
570 Additionally, the `Alt-{j,k}` aliases are also supported in the `Status`
571 tool for consistency with the other tools where the non-Alt hotkeys are not
574 https://github.com/git-cola/git-cola/pull/488
576 * The `File Browser` tool now has better default column sizes,
577 and remembers its window size and placement.
579 * The `File Browser` now supports the refresh hotkey, and has better
580 behavior when refreshing. The selection is now retained, and new and
581 removed files are found when refreshing.
583 * A new `git-cola-completion.bash` completion script is provided in the
584 `contrib/` directory. It must be used alongside Git's completion script.
585 Source it from your `~/.bashrc` (or `~/.zshrc`, etc) after sourcing
586 the `git-completion.bash` script and you will have command-line completion
587 support for the `git cola` and `git dag` sub-commands.
589 * The "checkout" dialog now offers completion for remote branches and other
590 git refs. This makes it easier to checkout remote branches in a detached
591 head state. Additionally, the checkout dialog also offers completion for
592 remote branches that have not yet been checked out, which makes it easier to
593 create a local tracking branch by just completing for that potential name.
595 https://github.com/git-cola/git-cola/issues/390
597 * The "create branch" and "create tag" dialogs now save and restore their
600 * The "status" widget can now be configured to use a bold font with a darker
601 background for the header items.
603 https://github.com/git-cola/git-cola/pull/506
605 * The "status" widget now remembers its horizontol scrollbar position across
606 updates. This is helpful when working on projects with long paths.
608 https://github.com/git-cola/git-cola/issues/494
613 * When using *Git for Windows*, a `git` window would appear
614 when running *Windows 8*. We now pass additional flags to
615 `subprocess.Popen` to prevent a `git` window from appearing.
617 https://github.com/git-cola/git-cola/issues/477
619 https://github.com/git-cola/git-cola/pull/486
621 * Launching difftool with `.PY` in `$PATHEXT` on Windows was fixed.
623 https://github.com/git-cola/git-cola/issues/492
625 * Creating a local branch tracking a remote branch that contains
626 slashes in its name is now properly handled.
628 https://github.com/git-cola/git-cola/issues/496
630 * The "Browse Other Branch" feature was broken by Python3, and is now fixed.
632 https://github.com/git-cola/git-cola/issues/501
634 * We now avoid `long` for better Python3 compatibility.
636 https://github.com/git-cola/git-cola/issues/502
638 * We now use Git's default merge message when merging branches.
640 https://github.com/git-cola/git-cola/issues/508
642 * Miscellaneous fixes
644 https://github.com/git-cola/git-cola/pull/485
649 * git-cola's documentation no longer uses an intersphinx link mapping
650 to docs.python.org. This fixes warnings when building rpms using koji,
651 where network access is prevented.
653 https://bugzilla.redhat.com/show_bug.cgi?id=1231812
660 Usability, bells and whistles
661 -----------------------------
663 * The Interactive Rebase feature now works on Windows!
665 https://github.com/git-cola/git-cola/issues/463
667 * The `diff` editor now understands vim-style `hjkl` navigation hotkeys.
669 https://github.com/git-cola/git-cola/issues/476
671 * `Alt-{j,k}` navigation hotkeys were added to allow changing to the
672 next/previous file from the diff and commit editors.
674 * The `Rename branch` menu action is now disabled in empty repositories.
676 https://github.com/git-cola/git-cola/pull/475
678 https://github.com/git-cola/git-cola/issues/459
680 * `git cola` now checks unmerged files for conflict markers before
681 staging them. This feature can be disabled in the preferences.
683 https://github.com/git-cola/git-cola/issues/464
685 * `git dag` now remembers which commits were selected when refreshing
686 so that it can restore the selection afterwards.
688 https://github.com/git-cola/git-cola/issues/480
690 * "Launch Editor", "Launch Difftool", "Stage/Unstage",
691 and "Move Up/Down" hotkeys now work when the commit message
694 https://github.com/git-cola/git-cola/issues/453
696 * The diff editor now supports the `Ctrl+u` hotkey for reverting
697 diff hunks and selected lines.
699 * The `core.commentChar` Git configuration value is now honored.
700 Commit messages and rebase instruction sheets will now use
701 the configured character for comments. This allows having
702 commit messages that start with `#` when `core.commentChar`
703 is configured to its non-default value.
705 https://github.com/git-cola/git-cola/issues/446
710 * Diff syntax highlighting was improved to handle more edge cases
713 https://github.com/git-cola/git-cola/pull/467
715 * Setting commands in the interactive rebase editor was fixed.
717 https://github.com/git-cola/git-cola/issues/472
719 * git-cola no longer clobbers the Ctrl+Backspace text editing shortcut
720 in the commit message editor.
722 https://github.com/git-cola/git-cola/issues/453
724 * The copy/paste clipboard now persists after `git cola` exits.
726 https://github.com/git-cola/git-cola/issues/484
735 * Fixed the "Sign off" feature in the commit message editor.
742 Usability, bells and whistles
743 -----------------------------
744 * Double-click will now choose a commit in the "Select commit" dialog.
746 * `git cola` has a feature that reads `.git/MERGE_MSG` and friends for the
747 commit message when a merge is in-progress. Upon refresh, `git cola` will
748 now detect when a merge has completed and reset the commit message back to
749 its previous state. It is only reset if the editor contains a message
750 that was read from the file and has not been manually edited by the user.
752 * The commit message editor's context menu now has a "Clear..." action for
753 clearing the message across both the summary and description fields.
755 * Traditional Chinese (Taiwan) translation updates.
757 * The system theme's icons are now used wherever possible.
759 https://github.com/git-cola/git-cola/pull/458
763 * The stash viewer now uses ``git show --no-ext-diff`` to avoid running
764 user-configured diff tools.
766 * `git cola` now uses the `setsid()` system call to ensure that the
767 `GIT_ASKPASS` and `SSH_ASKPASS` helper programs are used when pushing
768 changes using `git`. The askpass helpers will now be used even when
769 `git cola` is launched from a terminal.
771 The behavior without `setsid()` is that `git cola` can appear to hang while
772 pushing changes. The hang happens when `git` prompts the user for a
773 password using the terminal, but the user never sees the prompt. `setsid()`
774 detaches the terminal, which ensures that the askpass helpers are used.
776 https://github.com/git-cola/git-cola/issues/218
778 https://github.com/git-cola/git-cola/issues/262
780 https://github.com/git-cola/git-cola/issues/377
782 * `git dag`'s file list tool was updated to properly handle unicode paths.
784 * `gnome-terminal` is no longer used by default when `cola.terminal` is unset.
785 It is broken, as was detailed in #456.
787 https://github.com/git-cola/git-cola/issues/456
789 * The interactive rebase feature was not always setting `$GIT_EDITOR`
790 to the value of `gui.editor`, thus there could be instances where rebase
791 will seem to not stop, or hang, when performing "reword" actions.
793 We now set the `$GIT_EDITOR` environment variable when performing the
794 "Continue", "Skip", and "Edit Todo" rebase actions so that the correct
795 editor is used during the rebase.
797 https://github.com/git-cola/git-cola/issues/445
801 * `git cola` moved from a 3-part version number to a simpler 2-part "vX.Y"
802 version number. Most of our releases tend to contain new features.
809 Usability, bells and whistles
810 -----------------------------
811 * Updated zh_TW translations.
813 * `git cola rebase` now defaults to `@{upstream}`, and generally uses the same
814 CLI syntax as `git rebase`.
816 * The commit message editor now allows you to bypass commit hooks by selecting
817 the "Bypass Commit Hooks" option. This is equivalent to passing the
818 `--no-verify` option to `git commit`.
820 https://github.com/git-cola/git-cola/issues/357
822 * We now prevent the "Delete Files" action from creating a dialog that does
825 https://github.com/git-cola/git-cola/issues/378
827 * `git xbase` learned to edit rebase instruction sheets that contain
830 * The diff colors are now configurable. `cola.color.{text,add,remove,header}`
831 can now be set with 6-digit hexadecimal colors.
832 See the `git cola manual <https://git-cola.readthedocs.io/en/latest/git-cola.html#configuration-variables>_`
835 * Improved hotkey documentation.
839 * `git cola` will now allow starting an interactive rebase with a dirty
840 worktree when `rebase.autostash` is set.
842 https://github.com/git-cola/git-cola/issues/360
849 Usability, bells and whistles
850 -----------------------------
851 * A new "Find files" widget was added, and can be activated by
852 using the `Ctrl+t` or `t` hotkeys.
854 * A new `git cola find` sub-command was added for finding files.
856 * `git cola` now remembers the text cursor's position when staging
857 interactively with the keyboard. This makes it easier to use the keyboard
858 arrows to select and stage lines.
860 * The completion widgets will now select the top completion item
861 when `Enter` or `Return` are pressed.
863 * You can now refresh using `F5` in addition to the existing `Ctrl+R` hotkey.
867 * `git cola` now passes `--no-abbrev-commit` to `git log` to override
868 having `log.abbrevCommit = true` set in `.gitconfig`.
874 Usability, bells and whistles
875 -----------------------------
876 * `git dag` now forwards all unknown arguments along to `git log`.
878 https://github.com/git-cola/git-cola/issues/389
880 * Line-by-line interactive staging was made more robust.
882 https://github.com/git-cola/git-cola/pull/399
884 * "Bookmarks" was renamed to "Favorites".
886 https://github.com/git-cola/git-cola/issues/392
888 * Untracked files are now displayed using a unique icon.
890 https://github.com/git-cola/git-cola/pull/388
894 * `git dag` was triggering a traceback on Fedora when parsing Git logs.
896 https://bugzilla.redhat.com/show_bug.cgi?id=1181686
898 * inotify expects unicode paths on Python3.
900 https://github.com/git-cola/git-cola/pull/393
902 * Untracked files are now assumed to be utf-8 encoded.
904 https://github.com/git-cola/git-cola/issues/401
910 Usability, bells and whistles
911 -----------------------------
912 * `git cola` can now create GPG-signed commits and merges.
914 https://github.com/git-cola/git-cola/issues/149
916 See the documentation for details about setting up a GPG agent.
918 * The status widget learned to copy relative paths when `Ctrl+x` is pressed.
920 https://github.com/git-cola/git-cola/issues/358
922 * Custom GUI actions can now define their own keyboard shortcuts by
923 setting `guitool.$name.shortcut` to a string understood by Qt's
924 `QAction::setShortcut()` API, e.g. `Alt+X`.
926 See http://qt-project.org/doc/qt-4.8/qkeysequence.html#QKeySequence-2
927 for more details about the supported values.
929 * `git cola` learned to rename branches.
931 https://github.com/git-cola/git-cola/pull/364
933 https://github.com/git-cola/git-cola/issues/278
935 * `git dag` now has a "Show history" context menu which can be used to filter
936 history using the selected paths.
940 * `sphinxtogithub.py` was fixed for Python3.
942 https://github.com/git-cola/git-cola/pull/353
944 * The commit that changed how we read remotes from `git remote`
945 to parsing `git config` was reverted since it created problems
948 * Fixed a crash when using the `rebase edit` feature.
950 https://github.com/git-cola/git-cola/issues/351
952 * Better drag-and-drop behavior when dropping into gnome-terminal.
954 https://github.com/git-cola/git-cola/issues/373
958 * The `git-cola-folder-handler.desktop` file handler was fixed
959 to pass validation by `desktop-file-validate`.
961 https://github.com/git-cola/git-cola/issues/356
963 * The `git.svg` icon was renamed to `git-cola.svg`, and `git cola` was taught
964 to prefer icons from the desktop theme when available.
970 Usability, bells and whistles
971 -----------------------------
972 * New hotkey: `Ctrl+Shift+M` merges branches.
974 * New hotkey: `Ctrl+R` refreshes the DAG viewer.
976 https://github.com/git-cola/git-cola/issues/347
980 * We now use `git config` to parse the list of remotes
981 instead of parsing the output of `git remote`, which
982 is a Git porcelain and should not be used by scripts.
984 * Avoid "C++ object has been deleted" errors from PyQt4.
986 https://github.com/git-cola/git-cola/issues/346
990 * The `make install` target now uses `install` instead of `cp`.
996 Usability, bells and whistles
997 -----------------------------
998 * Updated Brazillian Portuguese translation.
1000 * The status and browse widgets now allow drag-and-drop into
1001 external applications.
1003 https://github.com/git-cola/git-cola/issues/335
1005 * We now show a progress bar when cloning repositories.
1007 https://github.com/git-cola/git-cola/issues/312
1009 * The bookmarks widget was simplified to not need a
1012 https://github.com/git-cola/git-cola/issues/289
1014 * Updated Traditional Chinese translation.
1016 * We now display a warning when trying to rebase with uncommitted changes.
1018 https://github.com/git-cola/git-cola/issues/338
1020 * The status widget learned to filter paths.
1021 `Ctrl+Shift+S` toggles the filter widget.
1023 https://github.com/git-cola/git-cola/issues/337
1025 https://github.com/git-cola/git-cola/pull/339
1027 * The status widget learned to move files to the trash
1028 when the `send2trash <https://github.com/hsoft/send2trash>`_
1029 module is installed.
1031 https://github.com/git-cola/git-cola/issues/341
1033 * "Recent repositories" is now a dedicated widget.
1035 https://github.com/git-cola/git-cola/issues/342
1037 * New Spanish translation thanks to Pilar Molina Lopez.
1039 https://github.com/git-cola/git-cola/pull/344
1043 * Newly added remotes are now properly seen by the fetch/push/pull dialogs.
1045 https://github.com/git-cola/git-cola/issues/343
1051 Usability, bells and whistles
1052 -----------------------------
1053 * New Brazillian Portuguese translation thanks to Vitor Lobo.
1055 * New Indonesian translation thanks to Samsul Ma'arif.
1057 * Updated Simplified Chinese translation thanks to Zhang Han.
1059 * `Ctrl+Backspace` is now a hotkey for "delete untracked files" in
1062 * Fetch/Push/Pull dialogs now use the configured remote of the current
1065 https://github.com/git-cola/git-cola/pull/324
1069 * We now use `os.getcwd()` on Python3.
1071 https://github.com/git-cola/git-cola/pull/316
1073 https://github.com/git-cola/git-cola/pull/326
1075 * The `Ctrl+P` hotkey was overloaded to both "push" and "cherry-pick",
1076 so "cherry-pick" was moved to `Ctrl+Shift+C`.
1078 * Custom GUI tools with mixed-case names are now properly supported.
1080 * "Diff Region" is now referred to as "Diff Hunk" for consistency
1081 with common terminology from diff/patch tools.
1083 https://github.com/git-cola/git-cola/issues/328
1085 * git-cola's test suite is now portable to MS Windows.
1087 https://github.com/git-cola/git-cola/pull/332
1093 Usability, bells and whistles
1094 -----------------------------
1095 * We now handle the case when inotify `add_watch()` fails
1096 and display instructions on how to increase the number of watches.
1098 https://github.com/git-cola/git-cola/issues/263
1100 * New and improved zh_TW localization thanks to V字龍(Vdragon).
1102 https://github.com/git-cola/git-cola/pull/265
1104 https://github.com/git-cola/git-cola/pull/267
1106 https://github.com/git-cola/git-cola/pull/268
1108 https://github.com/git-cola/git-cola/issues/269
1110 https://github.com/git-cola/git-cola/pull/270
1112 https://github.com/git-cola/git-cola/pull/271
1114 https://github.com/git-cola/git-cola/pull/272
1116 * New hotkeys: `Ctrl+F` for fetch, `Ctrl+P` for push,
1117 and `Ctrl+Shift+P` for pull.
1119 * The bookmarks widget's context menu actions were made clearer.
1121 https://github.com/git-cola/git-cola/issues/281
1123 * The term "Staging Area" is used consistently in the UI
1124 to allow for better localization.
1126 https://github.com/git-cola/git-cola/issues/283
1128 * The "Section" term is now referred to as "Diff Region"
1131 https://github.com/git-cola/git-cola/issues/297
1133 * The localization documentation related to the LANGUAGE
1134 environment variable was improved.
1136 https://github.com/git-cola/git-cola/pull/293
1138 * The "Actions" panel now contains tooltips for each button
1139 in case the button labels gets truncated by Qt.
1141 https://github.com/git-cola/git-cola/issues/292
1143 * Custom `git config`-defined actions can now be run in the
1144 background by setting `guitool.<name>.background` to `true`.
1148 * We now use bold fonts instead of SmallCaps to avoid
1149 artifacts on several configurations.
1151 * We now pickup `user.email`, `cola.tabwidth`, and similar settings
1152 when defined in /etc/gitconfig.
1154 https://github.com/git-cola/git-cola/issues/259
1156 * Better support for unicode paths when using inotify.
1158 https://bugzilla.redhat.com/show_bug.cgi?id=1104181
1160 * Unicode fixes for non-ascii locales.
1162 https://github.com/git-cola/git-cola/issues/266
1164 https://github.com/git-cola/git-cola/issues/273
1166 https://github.com/git-cola/git-cola/issues/276
1168 https://github.com/git-cola/git-cola/issues/282
1170 https://github.com/git-cola/git-cola/issues/298
1172 https://github.com/git-cola/git-cola/issues/302
1174 https://github.com/git-cola/git-cola/issues/303
1176 https://github.com/git-cola/git-cola/issues/305
1178 * Viewing history from the file browser was fixed for Python3.
1180 https://github.com/git-cola/git-cola/issues/274
1182 * setup.py was fixed to install the `*.rst` documentation.
1184 https://github.com/git-cola/git-cola/issues/279
1186 * Patch export was fixed for Python3.
1188 https://github.com/git-cola/git-cola/issues/290
1190 * Fixed adding a bookmark with trailing slashes.
1192 https://github.com/git-cola/git-cola/pull/295
1194 * The default `git dag` layout is now setup so that its widgets
1195 can be freely resized on Linux.
1197 https://github.com/git-cola/git-cola/issues/299
1199 * Invalid tag names are now reported when creating tags.
1201 https://github.com/git-cola/git-cola/pull/296
1207 Usability, bells and whistles
1208 -----------------------------
1209 * `git cola` no longer prompts after successfully creating a new branch.
1211 https://github.com/git-cola/git-cola/pull/251
1213 * Hitting enter on simple dialogs now accepts them.
1215 https://github.com/git-cola/git-cola/pull/255
1219 * `git dag` no longer relies on `sys.maxint`, which is
1220 not available in Python3.
1222 https://github.com/git-cola/git-cola/issues/249
1224 * Python3-related fixes.
1226 https://github.com/git-cola/git-cola/pull/254
1228 * Python3-on-Windows-related fixes.
1230 https://github.com/git-cola/git-cola/pull/250
1232 https://github.com/git-cola/git-cola/pull/252
1234 https://github.com/git-cola/git-cola/pull/253
1236 * Switching repositories using the bookmarks widget was not
1237 refreshing the inotify watcher.
1239 https://github.com/git-cola/git-cola/pull/256
1241 * Special commit messages trailers (e.g. "Acked-by:") are now special-cased to
1242 fix word wrapping lines that start with "foo:".
1244 https://github.com/git-cola/git-cola/issues/257
1246 * `git dag` sometimes left behind selection artifacts.
1247 We now refresh the view to avoid them.
1249 https://github.com/git-cola/git-cola/issues/204
1255 Usability, bells and whistles
1256 -----------------------------
1257 * Better inotify support for file creation and deletion.
1259 https://github.com/git-cola/git-cola/issues/240
1261 * `git cola` now supports the X11 Session Management Protocol
1262 and remembers its state across logout/reboot.
1264 https://github.com/git-cola/git-cola/issues/164
1266 * `git cola` has a new icon.
1268 https://github.com/git-cola/git-cola/issues/190
1272 * Building the documentation no longer requires `asciidoc`.
1273 We now use `Sphinx <http://sphinx-doc.org/>`_ for building
1274 html documentation and man pages.
1278 * Reworked the git-dag gravatar icon code to avoid a unicode
1281 * Commit message line-wrapping was made to better match the GUI editor.
1283 https://github.com/git-cola/git-cola/issues/242
1285 * Better support for Python3 on Windows
1287 https://github.com/git-cola/git-cola/issues/246
1291 * git-cola no longer depends on Asciidoc for building its documentation
1292 and man-pages. We now depend on [Sphinx](http://sphinx-doc.org/) only.
1298 Usability, bells and whistles
1299 -----------------------------
1300 * Some context menu actions are now hidden when selected
1303 https://github.com/git-cola/git-cola/issues/238
1307 * The build-git-cola.sh contrib script was improved.
1309 https://github.com/git-cola/git-cola/pull/235
1311 * Non-ascii worktrees work properly again.
1313 https://github.com/git-cola/git-cola/issues/234
1315 * The browser now guards itself against missing files.
1317 https://bugzilla.redhat.com/show_bug.cgi?id=1071378
1319 * Saving widget state now works under Python3.
1321 https://github.com/git-cola/git-cola/pull/236
1329 * git-cola now runs on Python 3 thanks to Virgil Dupras.
1331 https://github.com/git-cola/git-cola/pull/233
1333 * Python 2.6, 2.7, and 3.2+ are now supported.
1334 Python 2.5 is no longer supported.
1338 * i18n test fixes thanks to Virgil Dupras.
1340 https://github.com/git-cola/git-cola/pull/231
1342 * git-cola.app build fixes thanks to Maicon D. Filippsen.
1344 https://github.com/git-cola/git-cola/pull/230
1346 * Lots of pylint improvements thanks to Alex Chernetz.
1348 https://github.com/git-cola/git-cola/pull/229
1354 Usability, bells and whistles
1355 -----------------------------
1356 * The new `Bookmarks` tool makes it really easy to switch between repositories.
1358 * There is now a dedicated dialog for applying patches.
1359 See the ``File -> Apply Patches`` menu item.
1361 https://github.com/git-cola/git-cola/issues/215
1363 * A new `git cola am` sub-command was added for applying patches.
1367 * Fixed a typo that caused inotify events to be silently ignored.
1369 * Fixed the sys.path setup for Mac OS X (Homebrew).
1371 https://github.com/git-cola/git-cola/issues/221
1373 * Lots of pylint fixes thanks to Alex Chernetz.
1379 Usability, bells and whistles
1380 -----------------------------
1381 * `git cola --amend` now starts the editor in `amend` mode.
1383 https://github.com/git-cola/git-cola/issues/187
1385 * Multiple lines of text can now be pasted into the `summary` field.
1386 All text beyond the first newline will be automatically moved to the
1387 `extended description` field.
1389 https://github.com/git-cola/git-cola/issues/212
1393 * Stray whitespace in `.git` files is now ignored.
1395 https://github.com/git-cola/git-cola/issues/213
1397 * Fix "known incorrect sRGB profile" in `staged-item.png`.
1399 http://comments.gmane.org/gmane.linux.gentoo.devel/85066
1407 * Fix a traceback when `git push` fails.
1409 https://bugzilla.redhat.com/show_bug.cgi?id=1034778
1413 * Most of the git-cola sub-packages have been removed.
1414 The only remaining packages are `cola`, `cola.models`,
1417 * The translation file for Simplified Chinese was renamed
1420 https://github.com/git-cola/git-cola/issues/209
1428 * `git cola version --brief` now prints the brief version number.
1432 * Resurrected the "make dist" target, for those that prefer to create
1435 * Fixed the typo that broke the preferences dialog.
1441 Usability, bells and whistles
1442 -----------------------------
1443 * We now ship a full-featured interactive `git rebase` editor.
1444 The rebase todo file is edited using the `git xbase` script which
1445 is provided at `$prefix/share/git-cola/bin/git-xbase`.
1446 This script can be used standalone by setting the `$GIT_SEQUENCE_EDITOR`
1447 before running `git rebase --interactive`.
1449 https://github.com/git-cola/git-cola/issues/1
1451 * Fixup commit messages can now be loaded from the commit message editor.
1453 * Tool widgets can be locked in place by using the "Tools/Lock Layout"
1456 https://github.com/git-cola/git-cola/issues/202
1458 * You can now push to several remotes simultaneously by selecting
1459 multiple remotes in the "Push" dialog.
1461 https://github.com/git-cola/git-cola/issues/148
1463 * The `grep` tool learned to search using three different modes:
1464 basic regular expressions (default), extended regular expressions,
1469 * `git cola` now depends on the `argparse` Python module.
1470 This module is part of the stdlib in Python 2.7 and must
1471 be installed separately when using Python 2.6 and below.
1475 * Support unicode in the output from `fetch`, `push`, and `pull`.
1481 Usability, bells and whistles
1482 -----------------------------
1483 * We now detect when the editor or history browser are misconfigured.
1485 https://github.com/git-cola/git-cola/issues/197
1487 https://bugzilla.redhat.com/show_bug.cgi?id=886826
1489 * Display of untracked files can be disabled from the Preferences dialog
1490 or by setting the `gui.displayuntracked` configuration variable to `false`.
1492 http://thread.gmane.org/gmane.comp.version-control.git/232683
1496 * Unicode stash names are now supported
1498 https://github.com/git-cola/git-cola/issues/198
1500 * The diffs produced when reverting workspace changes were made more robust.
1505 =======================
1506 Usability, bells and whistles
1507 -----------------------------
1508 * Brand new German translation thanks to Sven Claussner.
1510 * The "File" menu now provides a "New Repository..." menu action.
1512 * `git dag` now uses a dock-widget interface so that its widgets can
1513 be laid-out and arranged. Customizations are saved and restored
1514 the next time `git dag` is launched.
1516 * `git dag` now has a "Zoom Best Fit" button next alongside the
1517 "Zoom In" and "Zoom Out" buttons.
1519 * `Ctrl+L` now focuses the "Search" field in the `git dag` tool.
1521 * Right-clicking in the "diff" viewer now updates the cursor position
1522 before performing actions, which makes it much easier to click around
1523 and selectively stage sections. Previously, the current cursor position
1524 was used which meant that it required two clicks (left-click to update
1525 the position followed by right-click to get the context menu) for the
1526 desired section to be used. This is now a single right-click operation.
1528 * The `Ctrl+D` "Launch Diff Tool" action learned to automatically choose
1529 between `git difftool` and `git mergetool`. If the file is unmerged then
1530 we automatically launch `git mergetool` on the path, otherwise we use
1531 `git difftool`. We do this because `git difftool` is not intended to
1532 be used on unmerged paths. Automatically using `git mergetool` when
1533 appropriate is the most intuitive and muscle-memory-friendly thing to do.
1535 * You can now right-click on folders in your standard file browser
1536 and choose "Open With -> Git Cola" (Linux-only).
1540 * Python 2.6 on Mac OS X Snow Leopard does not provide a namedtuple
1541 at `sys.version_info`. We now avoid using that variable for better
1544 * We now read the user's Git configuration from `~/.config/git/config`
1545 if that file is available, otherwise we use the traditional `~/.gitconfig`
1546 path, just like Git itself.
1548 * Some edge cases were fixed when applying partial/selected diffs.
1550 * The diff viewer is now properly cleared when refreshing.
1552 https://github.com/git-cola/git-cola/issues/194
1558 Usability, bells and whistles
1559 -----------------------------
1560 * The diff viewer now has an "Options" menu which can be
1561 used to set "git diff" options. This can be used to
1562 ignore whitespace changes or to show a change with its
1563 surrounding function as context.
1565 https://github.com/git-cola/git-cola/issues/150
1567 * `git cola` now remembers your commit message and will restore it
1568 when `git cola` is restarted.
1570 https://github.com/git-cola/git-cola/pull/175
1572 * `Ctrl+M` can now be used to toggle the "Amend last commit"
1573 checkbox in the commit message editor.
1575 https://github.com/git-cola/git-cola/pull/161
1577 * Deleting remote branches can now be done from the "Branch" menu.
1579 https://github.com/git-cola/git-cola/issues/152
1581 * The commit message editor now has a built-in spell checker.
1585 * We now avoid invoking external diffs when showing diffstats.
1587 https://github.com/git-cola/git-cola/pull/163
1589 * The `Status` tool learned to reselect files when refreshing.
1591 https://github.com/git-cola/git-cola/issues/165
1593 * `git cola` now remembers whether it has been maximized and will restore the
1594 maximized state when `git cola` is restarted.
1596 https://github.com/git-cola/git-cola/issues/172
1598 * Performance is now vastly improved when staging hundreds or
1601 * `git cola` was not correctly saving repo-specific configuration.
1603 https://github.com/git-cola/git-cola/issues/174
1605 * Fix a UnicodeDecode in sphinxtogithub when building from source.
1611 Usability, bells and whistles
1612 -----------------------------
1613 * We now automatically remove missing repositories from the
1614 "Select Repository" dialog.
1616 https://github.com/git-cola/git-cola/issues/145
1618 * A new `git cola diff` sub-command was added for diffing changed files.
1622 * The inotify auto-refresh feature makes it difficult to select text in
1623 the "diff" editor when files are being continually modified by another
1624 process. The auto-refresh causes it to lose the currently selected text,
1625 which is not wanted. We now avoid this problem by saving and restoring
1626 the selection when refreshing the editor.
1628 https://github.com/git-cola/git-cola/issues/155
1630 * More strings have been marked for l10n.
1632 https://github.com/git-cola/git-cola/issues/157
1634 * Fixed the Alt+D Diffstat shortcut.
1636 https://github.com/git-cola/git-cola/issues/159
1640 * Better error handling when cloning repositories.
1642 We were not handling the case where a git URL has
1643 no basename, e.g. `https://git.example.com/`.
1644 `git cola` originally rejected these URLs instead of
1645 allowing users to clone them. It now allows these URLs
1646 when they point to valid git repositories.
1648 Additionally, `git cola` learned to echo the errors
1649 reported by `git clone` when it fails.
1651 https://github.com/git-cola/git-cola/issues/156
1657 Usability, bells and whistles
1658 -----------------------------
1659 * `git dag` got a big visual upgrade.
1661 * `Ctrl+G` now launches the "Grep" tool.
1663 * `Ctrl+D` launches difftool and `Ctrl+E` launches your editor
1664 when in the diff panel.
1666 * git-cola can now be told to use an alternative language.
1667 For example, if the native language is German and we want git-cola to
1668 use English then we can create a `~/.config/git-cola/language` file with
1669 "en" as its contents:
1671 $ echo en >~/.config/git-cola/language
1673 https://github.com/git-cola/git-cola/issues/140
1675 * A new `git cola merge` sub-command was added for merging branches.
1677 * Less blocking in the main UI
1681 * Autocomplete issues on KDE
1683 https://github.com/git-cola/git-cola/issues/144
1685 * The "recently opened repositories" startup dialog did not
1686 display itself in the absence of bookmarks.
1688 https://github.com/git-cola/git-cola/issues/139
1694 Usability, bells and whistles
1695 -----------------------------
1696 * `git cola` learned to honor `.gitattributes` when showing and
1697 interactively applying diffs. This makes it possible to store
1698 files in git using a non-utf-8 encoding and `git cola` will
1699 properly accept them. This must be enabled by settings
1700 `cola.fileattributes` to true, as it incurs a small performance
1703 https://github.com/git-cola/git-cola/issues/96
1705 * `git cola` now wraps commit messages at 72 columns automatically.
1706 This is configurable using the `cola.linebreak` variable to enable/disable
1707 the feature, and `cola.textwidth` to configure the limit.
1709 https://github.com/git-cola/git-cola/issues/133
1711 * A new "Open Recent" sub-menu was added to the "File" menu.
1712 This makes it easy to open a recently-edited repository.
1714 https://github.com/git-cola/git-cola/issues/135
1716 * We now show a preview for untracked files when they are clicked
1717 using the `Status` tool.
1718 * A new "Open Using Default Application" action was added to the
1719 `Status` tool. It is activated using either `Spacebar` or through
1720 the context menu. This action uses `xdg-open` on Linux and
1722 * A new "Open Parent Directory" action was added to the `Status` tool.
1723 It is activated using either `Shift+Spacebar` or through the
1725 * `git dag` learned to honor the `log.date` git configuration variable.
1726 This makes the date display follow whatever format the user has
1728 * A new `git cola config` sub-command was added for quickly
1729 tweaking `git cola`'s git configuration settings.
1730 * Some small usability tweaks -- some user confirmation prompts
1731 were defaulting to "Cancel" when they should have been defaulting
1732 to the affirmative option instead.
1736 * Properly handle arbitrarily-named branches.
1737 * We went back to launching `git mergetool` using an xterm.
1738 The reason is that there are a couple of places where `git mergetool`
1739 requires a terminal for user interaction not covered by `--no-prompt`.
1740 * We now properly handle an edge case when applying short diffs at
1741 the start of a file.
1747 Usability, bells and whistles
1748 -----------------------------
1749 * New and improved `grep` mode lets you instantly find and edit files.
1750 * New `git cola grep` standalone mode.
1751 * Support for passing arguments to the configured editors, e.g. `gvim -p`
1752 This makes it possible to select multiple files in the status
1753 window and use `Ctrl-e` to edit them all at once.
1754 * Remote operations now prompt on errors only.
1755 * The `Tab` key now jumps to the extended description when editing the summary.
1756 * More shortcut key labels and misc. UX improvements.
1760 * Selecting an item no longer copies its filename to the copy/paste buffer.
1761 `Ctrl-c` or the "Copy" context-menu action can be used instead.
1762 * The repository monitoring feature on Windows learned to ignore
1763 changes within the ".git" directory. Thanks to Andreas Sommer.
1765 https://github.com/git-cola/git-cola/issues/120
1771 Usability, bells and whistles
1772 -----------------------------
1773 * `git dag` learned to color-code branchy edges.
1774 The edge colors change when a new branch is detected,
1775 which makes the history much easier to follow.
1776 A huge thanks to Uri Okrent for making it happen.
1778 * New GUI for editing remote repositories.
1780 * New `git cola archive` and `git cola remote` sub-commands.
1782 * `git cola browser` learned an 'Untrack' command.
1784 * The diff editor learned to staged/unstaged while amending.
1786 * The status tool can now scroll horizontally.
1788 * New git repositories can be created by clicking 'New' on the
1789 `git cola --prompt` startup screen.
1795 Usability, bells and whistles
1796 -----------------------------
1797 * Auto-completion was added to more tools.
1799 * `git dag` is easier to use on smaller displays -- the author
1800 field elides its text which allows for a more compact display.
1802 * Selected commits in `git dag` were made more prominent and
1805 * 'Create Branch' learned to fetch remote branches and uses a
1806 background thread to do so.
1808 * User-configured GUI tools are listed alphabetically in the 'Actions' menu.
1810 * The 'Pull' dialog remembers the value of the 'Rebase' checkbox
1811 between invocations.
1819 * Detect Homebrew so that OS X users do not need to set PYTHONPATH.
1821 * `git dag` can export patches again.
1827 Usability, bells and whistles
1828 -----------------------------
1829 * The 'Classic' tool was renamed to 'Browser' and learned to
1830 limit history to the current branch.
1832 * `git dag` learned about gravatar and uses it to show images
1835 * `git dag` learned to use OpenGL for rendering resulting in
1836 much faster rendering.
1838 * More dialogs learned vim-style keyboard shortcuts.
1840 * The commit message editor learned better arrow key navigation.
1846 Usability, bells and whistles
1847 -----------------------------
1848 * `git cola` learned a few new sub commands:
1856 * `Return` in the summary field jumps to the extended description.
1858 * `Ctrl+Return` is now a shortcut for 'Commit'.
1860 * Better French translation for 'Sign-off'.
1862 * The 'Search' widget now has a much simpler and streamlined
1865 * vim-style `h,j,k,l` navigation shortcuts were added to the DAG widget.
1867 * `git dag` no longer prompts for files when diffing commits if the
1868 text field contains paths.
1870 * General user interface and performance improvements.
1874 * The diff viewer no longer changes font size when holding `Control`
1875 while scrolling with the mouse wheel.
1877 * Files with a typechange (e.g. symlinks that become files, etc.)
1878 are now correctly identified as being modified.
1882 * The `cola.controllers` and `cola.views` packages were removed.
1888 Usability, bells and whistles
1889 -----------------------------
1890 * `git cola` can now launch sub commands, e.g.:
1901 * `git dag` is more responsive when gathering auto-completions.
1903 * Keyboard shortcuts are displayed when the '?' key is pressed.
1905 * Various keyboard shortcuts were added for improved usability.
1907 * The status widget now lists unmerged files before modified files.
1909 * vim-style `h,j,k,l` navigation shortcuts were added to the status widget.
1911 * A 'Recently Modified Files...' tool was added.
1913 * Tools can now be hidden with `Alt + #` (where `#` is a keyboard number)
1914 and focused with `Alt + Shift + #`.
1916 * The syntax highlighting colors for diffs was made less intrusive.
1918 * The commit message editor was redesigned to have a more compact
1919 and keyboard-convenient user interface.
1921 * Keyboard shortcuts for adding a Signed-off-by (`Ctrl + i`)
1922 and creating a commit (`Ctrl + m`) were added.
1924 * The status widget was adjusted to use less screen real-estate.
1928 * Avoid updating the index when responding to inotify events.
1929 This avoids interfering with operations such as `git rebase --interactive`.
1931 https://github.com/git-cola/git-cola/issues/99
1935 * Create `git-dag.pyw` in the win32 installer.
1937 * win32 shortcuts now contain explicit calls to `pythonw.exe` instead of
1938 calling the `.pyw` file directly.
1942 * The 'Apply Changes from Branch...' feature was removed.
1943 `git dag`'s 'Grab File...' feature used alongside the index/worktree editor
1944 is a simpler alternative.
1952 * Further enhanced the staging/unstaging behavior in the status widget.
1954 https://github.com/git-cola/git-cola/issues/97
1956 * Unmerged files are no longer listed as modified.
1960 The `cola-$version` tarballs on github were originally setup to
1961 have the same contents as the old tarballs hosted on tuxfamily.
1962 The `make dist` target was changed to write files to a
1963 `git-cola-$version` subdirectory and tarball.
1965 This makes the filenames consistent for the source tarball,
1966 the darwin .app tarball, and the win32 .exe installer.
1972 Usability, bells and whistles
1973 -----------------------------
1974 * Refined the staging/unstaging behavior for code reviews.
1976 https://github.com/git-cola/git-cola/issues/97
1978 * Added more styling and icons to menus and buttons.
1980 * Adjusted some terminology to more closely match the git CLI.
1984 * Boolean `git config` settings with no value are now supported
1985 (these are not created by git these days but exist in legacy repositories).
1987 * Unicode branches and tags are supported in the "branch diff" tool.
1989 * Guard against low-memory conditions and more interrupted system calls.
1993 * Added desktop launchers for git-cola.desktop and git-dag.desktop.
1994 This replaces the old cola.desktop, so some adjustments to RPM .spec
1995 and debian/ files will be needed.
1997 * Fixed the darwin app-tarball Makefile target to create relative paths.
2001 * The `--style` option was removed. `git cola` follows the system theme
2002 so there's no need for this option these days.
2008 Usability, bells and whistles
2009 -----------------------------
2010 * Export a patch series from `git dag` into a `patches/` directory.
2012 * `git dag` learned to diff commits, slice history along paths, etc.
2014 * Added instant-preview to the `git stash` widget.
2016 * A simpler preferences editor is used to edit `git config` values.
2018 https://github.com/git-cola/git-cola/issues/90
2020 https://github.com/git-cola/git-cola/issues/89
2022 * Previous commit messages can be re-loaded from the message editor.
2024 https://github.com/git-cola/git-cola/issues/33
2028 * Display commits with no file changes.
2030 https://github.com/git-cola/git-cola/issues/82
2032 * Improved the diff editor's copy/paste behavior
2034 https://github.com/git-cola/git-cola/issues/90
2038 * Bumped version number to ceil(minimum git version).
2039 `git cola` now requires `git` >= 1.6.3.
2041 * Simplified git-cola's versioning when building from tarballs
2042 outside of git. We no longer check for a 'version' file at
2043 the root of the repository. We instead keep a default version
2044 in `cola/version.py` and use it when `git cola`'s `.git` repository
2051 Usability, bells and whistles
2052 -----------------------------
2053 * inotify is much snappier and available on Windows
2054 thanks to Karl Bielefeldt.
2056 * New right-click command to add untracked files to .gitignore
2057 thanks to Audrius Karabanovas.
2059 * Stash, fetch, push, and pull usability improvements
2061 * General usability improvements
2063 * stderr is logged when applying partial diffs.
2067 * Files can be unstaged when amending.
2069 https://github.com/git-cola/git-cola/issues/82
2071 * Show the configured remote.$remote.pushurl in the GUI
2073 https://github.com/git-cola/git-cola/issues/83
2075 * Removed usage of the "user" module.
2077 https://github.com/git-cola/git-cola/issues/86
2079 * Avoids an extra `git update-index` call during startup.
2086 Usability, bells and whistles
2087 -----------------------------
2088 * We now provide better feedback when `git push` fails.
2090 https://github.com/git-cola/git-cola/issues/69
2092 * The Fetch, Push, and Pull dialogs now give better feedback
2093 when interacting with remotes. The dialogs are modal and
2094 a progress dialog is used.
2098 * More unicode fixes, again. It is now possible to have
2099 unicode branch names, repository paths, home directories, etc.
2100 This continued the work initiated by Redhat's bugzilla #694806.
2102 https://bugzilla.redhat.com/show_bug.cgi?id=694806
2108 Usability, bells and whistles
2109 -----------------------------
2110 * The `git cola` desktop launchers now prompt for a repo
2111 by default. This is done by using the new `--prompt`
2112 flag which tells `git cola` to ignore any git repositories
2113 in the current directory and prompt for one instead.
2117 * More Unicode fixes for repositories and home directories with
2118 embedded unicode characters. Thanks to Christian Jann for
2119 patience and helpful bug reports.
2121 * Fix the 'Clone' button in the startup dialog.
2127 Usability, bells and whistles
2128 -----------------------------
2129 * Faster startup time! `git cola` now offloads initialization
2130 to a background thread so that the GUI appears almost instantly.
2132 * Specialized diff options for p4merge, vimdiff, araxis, emerge,
2133 and ecmerge in difftool (backported from git.git).
2137 * Fix launching commands in the background on Windows
2138 (e.g. when launching `git difftool`).
2140 * Fix unicode errors when home or repository directories contain
2143 https://github.com/git-cola/git-cola/issues/74
2145 Redhat's bugzilla #694806
2147 https://bugzilla.redhat.com/show_bug.cgi?id=694806
2153 Usability, bells and whistles
2154 -----------------------------
2155 * The `cola classic` tool can be now configured to be dockable.
2157 https://github.com/git-cola/git-cola/issues/56
2159 * The `cola classic` tool now uses visual sigils to indicate a file's status.
2160 The idea and icons were provided by Uri Okrent.
2162 * Include the 'Rescan' button in the 'Actions' widget regardless
2163 of whether inotify is installed.
2167 * Fix installation of translations per Fedora
2168 This incorporates Fedora's fix for the translations path
2169 which originally appeared in cola-1.4.3-translations.patch.
2171 * Mac OS X git-cola developers can now generate git-cola.app
2172 application bundles using 'make app-bundle'.
2176 * Fixed a stacktrace when trying to use "Get Commit Message Template"
2177 with an unconfigured "commit.template" git config variable.
2179 https://github.com/git-cola/git-cola/issues/72
2181 This bug originated in Redhat's bugzilla #675721 via a Fedora user.
2183 https://bugzilla.redhat.com/show_bug.cgi?id=675721
2185 * Properly raise the main window on Mac OS X.
2187 * Properly handle staging a huge numbers of files at once.
2189 * Speed up 'git config' usage by fixing cola's caching proxy.
2191 * Guard against damaged ~/.cola files.
2197 Usability, bells and whistles
2198 -----------------------------
2199 * `git dag` now has a separate display area
2200 for displaying commit metadata. This area will soon
2201 grow additional functionality such as cherry-picking,
2206 * Fixed tests from a previous refactoring.
2208 * Guard against 'diff.external' configuration by always
2209 calling 'git diff' with the '--no-ext-diff' option.
2211 https://github.com/git-cola/git-cola/issues/67
2213 * Respect 'gui.diffcontext' so that cola's diff display
2214 shows the correct number of context lines.
2216 * Raise the GUI so that it is in the foreground on OS X.
2220 * We now allow distutils to rewrite cola's shebang line.
2221 This allows us to run on systems where "which python"
2222 is Python3k. This is exposed by setting the `PYTHON`
2223 Makefile variable to the location of python2.x.
2225 * git-cola.app is now a tiny download because it no longer
2226 contains Qt and PyQt. These libraries are provided as a
2229 http://code.google.com/p/git-cola/downloads/list
2235 Usability, bells and whistles
2236 -----------------------------
2237 * Clicking on paths in the status widget copies them into the
2238 copy/paste buffer for easy middle-clicking into terminals.
2240 * `Ctrl+C` in diff viewer copies the selected diff to the clipboard.
2244 * Fixed the disappearing actions buttons on PyQt 4.7.4
2245 as reported by Arch and Ubuntu 10.10.
2247 https://github.com/git-cola/git-cola/issues/62
2249 * Fixed mouse interaction with the status widget where some
2250 items could not be de-selected.
2254 * Removed hard-coded reference to lib/ when calculating Python's
2255 site-packages directory.
2261 Usability, bells and whistles
2262 -----------------------------
2263 * Removed "single-click to (un)stage" in the status view.
2264 This is a usability improvement since we no longer perform
2265 different actions depending on where a row is clicked.
2267 * Added ability to create unsigned, annotated tags.
2271 * Updated documentation to use `cola.git` instead of `cola.gitcmd`.
2277 Usability, bells and whistles
2278 -----------------------------
2279 * Allow un/staging by right-clicking top-level items
2281 https://github.com/git-cola/git-cola/issues/57
2283 * Running 'commit' with no staged changes prompts to allow
2286 https://github.com/git-cola/git-cola/issues/55
2288 * Fetch, Push, and Pull are now available via the menus
2290 https://github.com/git-cola/git-cola/issues/58
2294 * Simplified the actions widget to work around a regression
2297 https://github.com/git-cola/git-cola/issues/62
2303 Usability, bells and whistles
2304 -----------------------------
2305 * `git dag` interaction was made faster.
2309 * Added '...' indicators to the buttons for
2310 'Fetch...', 'Push...', 'Pull...', and 'Stash...'.
2312 https://github.com/git-cola/git-cola/issues/51
2314 * Fixed a hang-on-exit bug in the cola-provided
2315 'ssh-askpass' implementation.
2321 Usability, bells and whistles
2322 -----------------------------
2323 * Staging and unstaging is faster.
2325 https://github.com/git-cola/git-cola/issues/48
2327 * `git dag` reads history in a background thread.
2331 * Added :data:`cola.compat.hashlib` for `Python 2.4` compatibility
2332 * Improved `PyQt 4.1.x` compatibility.
2336 * Configured menu actions use ``sh -c`` for Windows portability.
2343 Usability, bells and whistles
2344 -----------------------------
2345 * Added support for the configurable ``guitool.<tool>.*``
2346 actions as described in ``git-config(1)``.
2348 https://github.com/git-cola/git-cola/issues/44
2350 http://schacon.github.com/git/git-config.html
2352 This makes it possible to add new actions to `git cola`
2353 by simply editing ``~/.gitconfig``. This implements the
2354 same guitool support as `git gui`.
2355 * Introduced a stat cache to speed up `git config` and
2356 repository status checks.
2357 * Added Alt-key shortcuts to the main `git cola` interface.
2358 * The `Actions` dock widget switches between a horizontal
2359 and vertical layout when resized.
2360 * We now use ``git diff --submodule`` for submodules
2361 (used when git >= 1.6.6).
2362 * The context menu for modified submodules includes an option
2363 to launch `git cola`.
2365 https://github.com/git-cola/git-cola/issues/17
2367 * Prefer ``$VISUAL`` over ``$EDITOR`` when both are defined.
2368 These are used to set a default editor in lieu of `core.editor`
2370 * Force the editor to be ``gvim`` when we see ``vim``.
2371 This prevents us from launching an editor in the (typically
2372 unattached) parent terminal and creating zombie editors
2373 that cannot be easily killed.
2374 * Selections are remembered and restored across updates.
2375 This makes the `partial-staging` workflow easier since the
2376 diff view will show the updated diff after staging.
2377 * Show the path to the current repository in a tooltip
2378 over the commit message editor.
2380 https://github.com/git-cola/git-cola/issues/45
2382 * Log internal ``git`` commands when ``GIT_COLA_TRACE`` is defined.
2384 https://github.com/git-cola/git-cola/issues/39
2388 * Improved backwards compatibility for Python 2.4.
2389 * `Review mode` can now review the current branch; it no longer
2390 requires you to checkout the branch into which the reviewed
2391 branch will be merged.
2392 * Guard against `color.ui = always` configuration when using
2393 `git log` by passing ``--no-color``.
2394 * ``yes`` and ``no`` are now supported as valid booleans
2395 by the `git config` parser.
2396 * Better defaults are used for `fetch`, `push`, and `pull`..
2398 https://github.com/git-cola/git-cola/issues/43
2402 * Removed colon (`:`) from the applilcation name on Windows
2404 https://github.com/git-cola/git-cola/issues/41
2406 * Fixed bugs with the Windows installer
2408 https://github.com/git-cola/git-cola/issues/40
2410 * Added a more standard i18n infrastructure. The install
2411 tree now has the common ``share/locale/$lang/LC_MESSAGES/git-cola.mo``
2412 layout in use by several projects.
2414 * Started trying to accommodate Mac OSX 10.6 (Snow Leopard)
2415 in the ``darwin/`` build scripts but our tester is yet to
2416 report success building a `.app` bundle.
2418 * Replaced use of ``perl`` in Sphinx/documentation Makefile
2419 with more-portable ``sed`` constructs. Thanks to
2420 Stefan Naewe for discovering the portability issues and
2421 providing msysgit-friendly patches.
2427 Usability, bells and whistles
2428 -----------------------------
2429 * It is now possible to checkout from the index as well
2430 as from `HEAD`. This corresponds to the
2431 `Removed Unstaged Changes` action in the `Repository Status` tool.
2432 * The `remote` dialogs (fetch, push, pull) are now slightly
2434 * Bookmarks can be selected when `git cola` is run outside of a git repository.
2435 * Added more user documentation. We now include many links to
2436 external git resources.
2437 * Added `git dag` to the available tools.
2438 `git dag` is a node-based DAG history browser.
2439 It doesn't do much yet, but it's been merged so that we can start
2440 building and improving upon it.
2444 * Fixed a missing ``import`` when showing `right-click` actions
2445 for unmerged files in the `Repository Status` tool.
2446 * ``git update-index --refresh`` is no longer run every time
2447 ``git cola version`` is run.
2448 * Don't try to watch non-existent directories when using `inotify`.
2449 * Use ``git rev-parse --symbolic-full-name`` plumbing to find
2450 the name of the current branch.
2454 * The ``Makefile`` will now conditionally include a ``config.mak``
2455 file located at the root of the project. This allows for user
2456 customizations such as changes to the `prefix` variable
2457 to be stored in a file so that custom settings do not need to
2458 be specified every time on the command-line.
2459 * The build scripts no longer require a ``.git`` directory to
2460 generate the ``builtin_version.py`` module. The release tarballs
2461 now include a ``version`` file at the root of the project which
2462 is used in lieu of having the git repository available.
2463 This allows for ``make clean && make`` to function outside of
2465 * Added maintainer's ``make dist`` target to the ``Makefile``.
2466 * The built-in `simplejson` and `jsonpickle` libraries can be
2467 excluded from ``make install`` by specifying the ``standalone=true``
2468 `make` variable. For example, ``make standalone=true install``.
2469 This corresponds to the ``--standalone`` option to ``setup.py``.
2476 Usability, bells and whistles
2477 -----------------------------
2478 * We now use patience diff by default when it is available via
2479 `git diff --patience`.
2480 * Allow closing the `cola classic` tool with `Ctrl+W`.
2484 * Fixed an unbound variable error in the `push` dialog.
2488 * Don't include `simplejson` in MANIFEST.in.
2489 * Update desktop entry to read `Cola Git GUI`.
2496 This feature release adds two new features directly from
2497 `git cola`'s github issues backlog. On the developer
2498 front, further work was done towards modularizing the code base.
2500 Usability, bells and whistles
2501 -----------------------------
2502 * Dragging and dropping patches invokes `git am`
2504 https://github.com/git-cola/git-cola/issues/3
2506 * A dialog to allow opening or cloning a repository
2507 is presented when `git cola` is launched outside of a git repository.
2509 https://github.com/git-cola/git-cola/issues/22
2511 * Warn when `push` is used to create a new branch
2513 https://github.com/git-cola/git-cola/issues/35
2515 * Optimized startup time by removing several calls to `git`.
2520 * `git cola` is once again compatible with PyQt 4.3.x.
2524 * `cola.gitcmds` was added to factor out git command-line utilities
2525 * `cola.gitcfg` was added for interacting with `git config`
2526 * `cola.models.browser` was added to factor out repobrowser data
2536 * Fix launching external applications on Windows
2537 * Ensure that the `amend` checkbox is unchecked when switching modes
2538 * Update the status tree when amending commits
2547 * Fix Lintian warnings
2556 * Fix X11 warnings on application startup
2565 * Added missing 'Exit Diff Mode' button for 'Diff Expression' mode
2567 https://github.com/git-cola/git-cola/issues/31
2569 * Fix a bug when initializing fonts on Windows
2571 https://github.com/git-cola/git-cola/issues/32
2580 * Keep entries in sorted order in the `cola classic` tool
2581 * Fix staging untracked files
2583 https://github.com/git-cola/git-cola/issues/27
2585 * Fix the `show` command in the Stash dialog
2587 https://github.com/git-cola/git-cola/issues/29
2589 * Fix a typo when loading merge commit messages
2591 https://github.com/git-cola/git-cola/issues/30
2598 This release focuses on a redesign of the git-cola user interface,
2599 a tags interface, and better integration of the `cola classic` tool.
2600 A flexible interface based on configurable docks is used to manage the
2601 various cola widgets.
2603 Usability, bells and whistles
2604 -----------------------------
2605 * New GUI is flexible and user-configurable
2606 * Individual widgets can be detached and rearranged arbitrarily
2607 * Add an interface for creating tags
2608 * Provide a fallback `SSH_ASKPASS` implementation to prompt for
2609 SSH passwords on fetch/push/pull
2610 * The commit message editor displays the current row/column and
2611 warns when lines get too long
2612 * The `cola classic` tool displays upstream changes
2613 * `git cola --classic` launches `cola classic` in standalone mode
2614 * Provide more information in log messages
2618 * Inherit the window manager's font settings
2619 * Miscellaneous PyQt4 bug fixes and workarounds
2623 * Removed all usage of Qt Designer `.ui` files
2624 * Simpler model/view architecture
2625 * Selection is now shared across tools
2626 * Centralized notifications are used to keep views in sync
2627 * The `cola.git` command class was made thread-safe
2628 * Less coupling between model and view actions
2629 * The status view was rewritten to use the MVC architecture
2630 * Added more documentation and tests
2637 Usability, bells and whistles
2638 -----------------------------
2639 * Added a `cola classic` tool for browsing the entire repository
2640 * Handle diff expressions with spaces
2641 * Handle renamed files
2645 * Handle carat `^` characters in diff expressions on Windows
2646 * Worked around a PyQt 4.5/4.6 QThreadPool bug
2650 * Added a keyboard shortcuts reference page
2651 * Added developer API documentation
2655 * Fix the diff expression used when reviewing branches
2656 * Fix a bug when pushing branches
2657 * Fix X11 warnings at startup
2658 * Fix more interrupted system calls on Mac OS X
2665 Usability, bells and whistles
2666 -----------------------------
2667 * Fresh and tasty SVG logos
2668 * Added `Branch Review` mode for reviewing topic branches
2669 * Added diff modes for diffing between tags, branches,
2670 or arbitrary `git diff` expressions
2671 * The push dialog selects the current branch by default.
2672 This is in preparation for `git 1.7.0` where unconfigured `git push`
2673 will refuse to push when run without specifying the remote name
2674 and branch. See the `git` release notes for more information
2675 * Support `open` and `clone` commands on Windows
2676 * Allow saving cola UI layouts
2677 * Re-enabled `double-click-to-stage` for unmerged entries.
2678 Disabling it for unmerged items was inconsistent, though safer.
2679 * Show diffs when navigating the status tree with the keyboard
2683 * Worked around `pyuic4` bugs in the `setup.py` build script
2684 * Added Mac OSX application bundles to the download page
2693 * `git difftool` became an official git command in `git 1.6.3`.
2694 * `git difftool` learned `--no-prompt` / `-y` and a corresponding
2695 `difftool.prompt` configuration variable
2697 Usability, bells and whistles
2698 -----------------------------
2699 * Warn when `non-fast-forward` is used with fetch, push or pull
2700 * Allow `Ctrl+C` to exit cola when run from the command line
2704 * Support Unicode font names
2705 * Handle interrupted system calls
2709 * `PEP-8`-ified more of the cola code base
2714 * All resources are now installed into `$prefix/share/git-cola`.
2715 Closed Debian bug #519972
2717 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=519972
2726 * Added support for Kompare in `git difftool`
2727 * Added a separate configuration namespace for `git difftool`
2728 * Added the `diff.tool` configuration variable to define the default diff tool
2730 Usability, bells and whistles
2731 -----------------------------
2732 * The stash dialog allows passing the `--keep-index` option to `git stash`
2733 * Amending a published commit warns at commit time
2734 * Simplified the file-across-revisions comparison dialog
2735 * `origin` is selected by default in fetch/push/pull
2736 * Removed the search field from the log widget
2737 * The log window moved into a drawer widget at the bottom of the UI
2738 * Log window display can be configured with
2739 `cola.showoutput` = `{never, always, errors}`. `errors` is the default.
2740 * `NOTE` -- `cola.showoutput` was removed with the GUI rewrite in 1.4.0.
2744 * Improved nose unittest usage
2748 * Added a Windows/msysGit installer
2749 * Included private versions of `simplejson` and `jsonpickle`
2750 for ease of installation and development