8 :ref:`v3.2 <v3.2>` 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``
19 git-cola v3.3 (unreleased)
20 ==========================
22 Usability, bells and whistles
23 -----------------------------
24 * Running "Launch Editor" from the diff editor now opens the editor at the
27 https://github.com/git-cola/git-cola/pull/898
29 * The textwidth and tabwidth configuration values can now be set
30 per-repository, rather than globally only.
32 * Text entry widgets switched to using a block cursor in `v3.2`.
33 This has been reverted to the original line cursor for consistency
34 with other applications and user expectations.
36 https://github.com/git-cola/git-cola/issues/889
38 * The "edit at line" feature, used by the "Grep" tool, now supports
39 the Sublime text editor.
41 https://github.com/git-cola/git-cola/pull/894
45 * The Diff Editor was not honoring the configured tab width on startup.
47 https://github.com/git-cola/git-cola/issues/900
49 * The "Delete Files" feature was creating an unreadable display when
50 many files were selected. Word-wrap the list of files so that the
51 display stays within a sensible size.
53 https://github.com/git-cola/git-cola/issues/895
55 * Spelling and grammar fixes.
57 https://github.com/git-cola/git-cola/pull/891
61 * The logo was run through `tidy` to give it a consistent style.
62 Some technical issues with the logo were improved.
64 https://github.com/git-cola/git-cola/issues/877
66 * The entire codebase is now checked by `flake8`, rather than just
67 the module and test directories. This catches things like
68 the pynsist installer scripts.
70 https://github.com/git-cola/git-cola/issues/884
72 https://github.com/git-cola/git-cola/issues/882
74 https://github.com/git-cola/git-cola/pull/879
78 * The Windows installer's wrapper scripts were missing an import.
80 https://github.com/git-cola/git-cola/issues/878
87 Usability, bells and whistles
88 -----------------------------
89 * The `git cola dag` DAG window now supports `git revert`.
91 https://github.com/git-cola/git-cola/issues/843
93 * `git stash pop` is now supported by the stash dialog.
95 https://github.com/git-cola/git-cola/issues/844
97 * The status widget now ensures that each item is visible when selection
98 changes. Previously, if you scrolled to the right to see the name of
99 a long filename, and then selected a short filename above it, the widget
100 may not have shown the short filename in the viewport. We now ensure
101 that the filenames are visible when the selection changes.
103 https://github.com/git-cola/git-cola/pull/828
105 * The `git xbase` rebase editor no longer displays an error when
106 cancelling an interactive rebase.
108 https://github.com/git-cola/git-cola/issues/814
110 * The dialog shown when renaming remotes has been simplified.
112 https://github.com/git-cola/git-cola/pull/840
114 https://github.com/git-cola/git-cola/issues/838
116 * The help dialog in the `git-xbase` Rebase editor is now scrollable.
118 https://github.com/git-cola/git-cola/issues/855
122 * Updated Brazilian translation
124 https://github.com/git-cola/git-cola/pull/845
126 * Updated Czech translation
128 https://github.com/git-cola/git-cola/pull/854
130 https://github.com/git-cola/git-cola/pull/853
132 https://github.com/git-cola/git-cola/pull/835
134 https://github.com/git-cola/git-cola/pull/813
136 * Update Spanish translation
138 https://github.com/git-cola/git-cola/pull/862
140 https://github.com/git-cola/git-cola/pull/867
144 * The original `#!/usr/bin/env python` shebang lines can now be
145 retained by passing `USE_ENV_PYTHON=1` to `make` when installing.
147 https://github.com/git-cola/git-cola/issues/850
149 * The Makefile is now resilient to DESTDIR and prefix containing whitespace.
151 https://github.com/git-cola/git-cola/pull/858
153 * The vendored `qtpy` library was updated to `v1.4.2`.
155 * `python3-distutils` is needed to build cola on Debian.
157 https://github.com/git-cola/git-cola/issues/837
161 * The "C" key no longer closes the message dialogs, for example the
162 one that is shown when a commit fails its pre-commit hooks.
163 This allows "Ctrl+C" copy to work, rather than closing the dialog.
165 https://github.com/git-cola/git-cola/issues/734
167 * Dock widgets sizes are now properly saved and restored when the main
170 https://github.com/git-cola/git-cola/issues/848
172 * The spellcheck feature was broken under Python3.
174 https://github.com/git-cola/git-cola/issues/857
176 * A regression when saving stashes was fixed.
178 https://github.com/git-cola/git-cola/issues/847
180 * Diffing image files was not updating the available context menus,
181 which prevented the "Stage" action from being present in the menu.
183 https://github.com/git-cola/git-cola/issues/841
185 * `git cola` now detects when `git lfs uninstall` has been run. This allows
186 you to re-initialize "Git LFS" in an existing repository where it had been
187 previously uninstalled.
189 https://github.com/git-cola/git-cola/issues/842
191 * Custom color values that did not contain any hexadecimal digits in the
192 `a-f` range were being converted into integers by the config reader. This
193 then caused the configured colors to be ignored.
195 These color values are now interpreted correctly. Additionally, color
196 values can now use an optional HTML-like `#` prefix.
198 Example `.gitconfig` snippet::
203 https://github.com/git-cola/git-cola/pull/836
205 https://github.com/git-cola/git-cola/issues/849
207 * We now display an error message graphically when `Git` is not installed.
208 Previously, the message went to stderr only.
210 https://github.com/git-cola/git-cola/issues/830
212 * Changing diff options was causing resulting in an exception.
214 https://github.com/git-cola/git-cola/issues/833
216 https://github.com/git-cola/git-cola/pull/834
218 * The DAG window now updates itself when branches and tags are created.
220 https://github.com/git-cola/git-cola/issues/814
222 * The user's `$PATH` environment variable can now contain utf-8
223 encoded paths. Previously, launching external commands could
226 https://github.com/git-cola/git-cola/issues/807
228 * Git Cola development sandboxes can now be stored on utf-8 encoded
229 filesystem paths. Previously, the interactive rebase feature
230 could be broken when running in that environment.
232 https://github.com/git-cola/git-cola/issues/825
234 * The log window now uses an ISO-8601 timestamp, which
235 avoids localized output in the log window.
237 https://github.com/git-cola/git-cola/issues/817
241 * The code base has been thoroughly sanitized using `pylint`, and
242 travis is now running pylint over the entire project.
244 * Miscellaneous improvements and code improvements.
246 https://github.com/git-cola/git-cola/issues/874
253 Usability, bells and whistles
254 -----------------------------
255 * The "Browser" widget learned to rename files using "git mv".
257 https://github.com/git-cola/git-cola/issues/239
259 * The "Diff" widget learned to diff images. Side-by-side and pixel diff
260 modes allow you to inspect changes to common images formats.
262 https://github.com/git-cola/git-cola/issues/444
264 https://github.com/git-cola/git-cola/pull/803
266 * Git LFS and Git Annex are natively supported by the image diff viewer.
268 * Git Annex operations are now included. `git annex init` can be performed on
269 repositories, and `git annex add` can be run on untracked files from the
270 status widget. Install `git-annex` to activate this feature.
272 * Git LFS operations are now included. `git lfs install` can be performed on
273 repositories, and `git lfs track` can be run on untracked files from the
274 status widget. Install `git-lfs` to activate this feature.
276 * The "Stash" tool learned to stash staged changes only. Select the
277 "Stage Index" option and only staged changes will be stashed away.
279 https://github.com/git-cola/git-cola/issues/413
281 * The "Stash" tool learned to use vim-like navigation keyboard shortcuts,
282 shows error messages when things go wrong, and now saves the "Stash Index"
283 and "Keep Index" options across sessions.
285 * The Edit menu's "Copy" and "Select All" actions now forward to either the
286 diff, status, recent, or favorites widgets, based on which widget has focus.
288 * The "File" and "Edit" menu can now be activated using `Alt-{f,e}` hotkeys.
290 https://github.com/git-cola/git-cola/issues/759
292 * It was easy to accidentally trigger the first action in the `Status` tool's
293 context menu when using a quick right-click to bring up the menu.
294 A short sub-second delay was added to ensure that the top-most action is not
295 triggered unless enough time has passed. This prevents accidental
296 activation of the first item (typically "Stage" or "Unstage") without
297 burdening common use cases.
299 https://github.com/git-cola/git-cola/pull/755
301 https://github.com/git-cola/git-cola/issues/643
303 * The "Ctrl+S" hotkey now works for the header items in the Status tool.
304 Selected the "Modified" header item and activating the "Stage" hotkey,
305 for example, will stage all modified files. This works for the "Staged",
306 "Modified", and "Untracked" headers. This is not enabled for the
307 "Unmerged" header by design.
309 https://github.com/git-cola/git-cola/issues/772
311 * The list of "Recent" repositories previously capped the number of
312 repositories shown to 8 repositories. This can be set to a higher
313 value by setting the `cola.maxrecent` configuration variable.
315 https://github.com/git-cola/git-cola/issues/752
317 * The "Create Branch" dialog now prevents invalid branch names.
319 https://github.com/git-cola/git-cola/issues/765
321 * Updated Turkish translation.
323 https://github.com/git-cola/git-cola/pull/756
325 * Updated Ukrainian translation.
327 https://github.com/git-cola/git-cola/pull/753
329 * Updated German translation.
331 https://github.com/git-cola/git-cola/pull/802
333 * Updated Czech translation
335 https://github.com/git-cola/git-cola/pull/792
337 https://github.com/git-cola/git-cola/pull/806
339 * The window title can be configured to not display the absolute path of the
342 https://github.com/git-cola/git-cola/issues/775
344 * The "Edit Remotes" editor learned to edit remote URLS.
346 * Bare repositories can now be created by selecting the
347 "New Bare Repository..." action from the `File` menu.
349 * The "Branches" widget learned to configure upstream branches.
351 * A new `git cola clone` sub-command was added for cloning repositories.
355 * The vendored `qtpy` library was updated to `v1.3.1`.
357 * The macOS installation was made simpler for better compatibility with
360 https://github.com/git-cola/git-cola/issues/636
362 * The Windows installer is now much simpler. Git Cola now bundles
363 Python and PyQt5, so users need only install the "Git for Windows"
364 and "Git Cola" installers to get things working.
368 * Uninitialized difftool errors will now be displayed graphically.
369 They were previously going to the shell.
371 https://github.com/git-cola/git-cola/issues/457
373 * Translations marked "fuzzy" will no longer be used when translating strings.
375 https://github.com/git-cola/git-cola/issues/782
377 * Deleted unmerged files will now correctly use a deleted icon.
379 https://github.com/git-cola/git-cola/issues/479
381 * The `Ctrl+C` "Copy" hotkey on the diff viewer has been fixed.
383 https://github.com/git-cola/git-cola/issues/767
385 * The "Create Tag" dialog did not correctly handle the case when a signed
386 tag is requested, but no message is provided, and the user chooses to
387 create an unannotated tag instead. This convenience fallback will now
388 properly create an unsigned, unannotated tag.
390 https://github.com/git-cola/git-cola/issues/696
392 * `.gitconfig` and `.git/config` values editable by the Preferences dialog
393 (aka `git cola config`) will now get unset when set to an empty value.
394 For example, setting a different `user.email` in the current repository,
395 followed by a subsequent emptying of that field, would previously result in
396 an empty string getting stored in the config. This has been fixed so that
397 the value will now get unset in the config instead.
399 https://github.com/git-cola/git-cola/issues/406
401 * Spelling and typofixes.
403 https://github.com/git-cola/git-cola/pull/748
405 * `core.commentChar` is now honored when set in the local repository
408 https://github.com/git-cola/git-cola/issues/766
410 * The log window was using a format string that did not display
411 correctly in all locales. A locale-aware format is now used.
413 https://github.com/git-cola/git-cola/pull/800
415 * The dialog displayed when prompting for a reference could sometimes
418 https://github.com/git-cola/git-cola/pull/804
425 Usability, bells and whistles
426 -----------------------------
427 * Updated Simplified Chinese translation.
429 https://github.com/git-cola/git-cola/pull/726
431 * Updated Ukrainian translation.
433 https://github.com/git-cola/git-cola/pull/723
435 * New Czech translation.
437 https://github.com/git-cola/git-cola/pull/736
439 https://github.com/git-cola/git-cola/pull/737
441 https://github.com/git-cola/git-cola/pull/740
443 https://github.com/git-cola/git-cola/pull/743
445 * The "name" field in the "Create Tag" dialog now includes autocompletion,
446 which makes it easy to see which tags currently exist.
448 * `git cola` now has configurable toolbars. Use the `View -> Add toolbar`
449 menu item to add a toolbar.
451 * Setting `cola.expandtab` to `true` will now expand tabs into spaces
452 in the commit message editor. The number of spaces to insert is determined
453 by consulting `cola.tabwidth`, which defaults to `8`.
455 * The "Copy SHA-1" hotkey is now `Alt + Ctrl + C`, to avoid clobbering the
456 ability to copy text from the DAG window.
458 https://github.com/git-cola/git-cola/pull/705
460 * The "Prepare Commit Message" action can now be invoked via the
461 `Ctrl+Shift+Return` shortcut.
463 https://github.com/git-cola/git-cola/pull/707
465 * The `Branches` pane now has a filter field that highlights branches whose
466 names match the string entered into its text field.
468 https://github.com/git-cola/git-cola/pull/713
470 * Actions that are triggered in response to button presses were being
471 triggered when the button was pressed, rather than when it was released,
472 which was a usability flaw. All buttons now respond when clicked
473 rather than when pressed.
475 https://github.com/git-cola/git-cola/pull/715
477 * The DAG window will now only refresh when object IDs change.
478 Previously, the DAG would redraw itself in response to inotify events,
479 such as filesystem operations, which was disruptive when inspecting a large
480 diff in its diff viewer. The DAG will now only redraw when the object IDs
481 corresponding to its query input changes. Furthermore, when redrawing, the
482 scrollbar positions are retained to minimize disruption to the viewport
485 https://github.com/git-cola/git-cola/issues/620
487 https://github.com/git-cola/git-cola/issues/724
489 * The "About" dialog now includes the SHA-1 where Git Cola was built.
491 https://github.com/git-cola/git-cola/issues/530
493 * The "Status" widget now has "Copy Leading Path to Clipboard" and
494 "Copy Basename to Clipboard" actions.
496 https://github.com/git-cola/git-cola/issues/435
498 https://github.com/git-cola/git-cola/issues/436
500 * The "Status" widget now supports custom "Copy ... to Clipboard" actions.
502 https://github.com/git-cola/git-cola/issues/437
504 * The main menu now has an "Edit" menu.
506 https://github.com/git-cola/git-cola/issues/725
508 * `git dag` learned to checkout commits into a detached HEAD state.
510 https://github.com/git-cola/git-cola/issues/698
512 * The `status` widget's context menus now omit actions selection-dependent
513 actions when no file is selected.
515 https://github.com/git-cola/git-cola/pull/731
517 * The startup dialog now focuses the repository list so that repositories
518 can be selected with the keyboard without mouse intervention.
520 https://github.com/git-cola/git-cola/issues/741
524 * `git dag` now prevents nodes from overlapping in more situations.
526 https://github.com/git-cola/git-cola/pull/689
528 * Adding untracked Git submodule repo directories previously ran
529 `git add submodule/` but we now call `git add submodule` without
530 the trailing slash (`/`) to avoid staging files that belong to the
531 submodule (which is possibly a `git` bug). By working around the
532 buggy behavior we allow users to recover by issuing the appropriate
533 `git submodule add` command to properly register the submodule.
535 https://github.com/git-cola/git-cola/pull/681
537 * We now avoid `git for-each-ref --sort=version:refname` on versions
538 of `git` older than `v2.7.0`. Previously we only avoided it for
539 versions older than `v2.0.0`, which was a mistake.
541 https://github.com/git-cola/git-cola/pull/686
543 * The error message displayed when `git` is not installed has been fixed.
545 https://github.com/git-cola/git-cola/pull/686
547 * Adding new remotes was silently broken.
549 https://github.com/git-cola/git-cola/issues/684
551 https://github.com/git-cola/git-cola/pull/685
553 * The repo selection dialog had errors during startup when the
554 `cola.refreshonfocus` feature was enabled, as reported on Ubuntu 16.04.
556 https://github.com/git-cola/git-cola/issues/690
558 * Restored support for PyQt 4.6 (Centos 6.8)
560 https://github.com/git-cola/git-cola/issues/692
562 * Switching repositories now resets the "Amend Mode" and other settings
565 https://github.com/git-cola/git-cola/issues/710
567 * `git rebase` error messages now displayed when rebasing fails or stops
568 via the standalone `git cola rebase` front-end.
570 https://github.com/git-cola/git-cola/issues/721
572 * `git cola` learned to stage broken symlinks.
574 https://github.com/git-cola/git-cola/issues/727
576 * The "View History" feature in the `Browser` tool was fixed, and now
577 disambiguates between refs and paths.
579 https://github.com/git-cola/git-cola/issues/732
581 * The diff editor now has better support for files with CRLF `\r\n`
584 https://github.com/git-cola/git-cola/issues/730
586 * `cola.inotify` in a repo-local config is now honored
587 when `git cola` is launched from a desktop entry (`git cola --prompt`).
589 https://github.com/git-cola/git-cola/issues/695
596 Usability, bells and whistles
597 -----------------------------
598 * New Ukrainian translation.
600 https://github.com/git-cola/git-cola/pull/670
602 https://github.com/git-cola/git-cola/pull/672
604 * New and improved French translations.
606 * The new `Branches` widget makes it easier to checkout, merge, push,
607 and pull branches from a single interface.
609 * `git cola` now includes a dark icon theme. The dark icon theme can be
610 activated either by setting the `GIT_COLA_ICON_THEME` environment variable
611 to `dark`, by configuring `cola.icontheme` to `dark`, or by specifying
612 `--icon-theme=dark` on the command line.
614 https://github.com/git-cola/git-cola/pull/638
616 * Autocompletion was added to the `Fetch`, `Push`, and `Pull` dialogs.
618 * The commit message editor now remembers the "Spellcheck" setting
621 https://github.com/git-cola/git-cola/pull/645
623 * `git dag` now uses an improved algorithm for laying out the graph,
624 which avoids collisions under certain graph configurations, and
625 avoids overlapping tag with commits.
627 https://github.com/git-cola/git-cola/pull/648
629 https://github.com/git-cola/git-cola/pull/651
631 https://github.com/git-cola/git-cola/pull/654
633 https://github.com/git-cola/git-cola/pull/656
635 https://github.com/git-cola/git-cola/pull/659
637 * `git dag` now remembers its column sizes across sessions.
639 https://github.com/git-cola/git-cola/issues/674
641 * `Grep` now shows a preview of the selected file's content in a split window
642 below the grep results.
644 * `Grep` now includes line numbers in the preview pane's output.
646 * `Edit Remotes` now remembers its window settings after exiting.
648 * `Diff` now has an option to display line numbers in the editor.
650 https://github.com/git-cola/git-cola/issues/136
652 * `Amend Last Commit` can now be triggered via the `Commit` menu in addition
653 to the commit message editor's options.
655 https://github.com/git-cola/git-cola/issues/640
657 * The `File Browser` tool was made much faster and can now operate on
658 much larger repositories.
660 https://github.com/git-cola/git-cola/issues/499
662 * A new "turbo" mode was added that allows you to opt-out of operations
663 that can slow `git cola` on large repositories. The turbo mode is
664 enabled by configuring `git config cola.turbo true`. Turbo mode
665 disables the background loading of Git commit messages and other
666 details in the `File Browser` widget.
668 * A new GitIgnore dialog allows adding custom gitignore patterns.
670 https://github.com/git-cola/git-cola/pull/653
672 * The spellchecker in `git cola` can now use an additional dictionary
673 by configuring `cola.dictionary` to the path to a file containing
674 a newline-separated list of words.
676 https://github.com/git-cola/git-cola/issues/663
678 * The stash, export patches, diff, and gitignore dialogs now remember
681 * A new `git cola recent` sub-command was added for finding recently
684 * The `Fetch` dialog now allows pruning remote branches.
686 https://github.com/git-cola/git-cola/issues/639
688 https://github.com/git-cola/git-cola/pull/680
692 * `git cola`'s spellchecker now supports the new `dict-common` filesystem
693 layout, and prefers the `/usr/share/dict/cracklib-small` file over the
694 `/usr/share/dict/words` provided on older distributions.
695 This makes the spellchecker compatible with Arch, which does not provide
696 a `words` symlink like Debian.
698 https://github.com/git-cola/git-cola/issues/663
700 * Properly handle the case where an existing file is untracked using
703 * Fix a quirk where the "Create Branch" dialog sometimes required clicking
704 twice on the radio buttons.
706 https://github.com/git-cola/git-cola/pull/662
708 * Fixed a focus issue to ensure that "Push", "Fetch", and "Pull" can
709 be executed with the press of a single enter key after being shown.
711 https://github.com/git-cola/git-cola/issues/661
713 * Committing is now allowed in when resolving a merge results in no
714 changes. This state was previously prevented by the commit message editor,
715 which prevented users from resolving merges that result in no changes.
717 https://github.com/git-cola/git-cola/pull/679
719 * The filesystem monitor would sometimes emit backtraces when directories
720 are modified. This has been fixed.
722 https://bugzilla.redhat.com/show_bug.cgi?id=1438522
724 * Absolute paths are now returned when querying for `.git`-relative paths
725 from within a submodule, which uses `.git`-files.
726 This fixes launching `git cola` from within a subdirectory of a submodule.
728 https://github.com/git-cola/git-cola/pull/675
735 Usability, bells and whistles
736 -----------------------------
737 * `git cola` can now invoke the `.git/hooks/cola-prepare-commit-msg`
738 hook to update the commit message. This hook takes the same parameters
739 as Git's `prepare-commit-message` hook. The default path to this hook
740 can be overridden by setting the `cola.prepareCommitMessageHook`
741 configuration variable.
743 http://git-cola.readthedocs.io/en/latest/git-cola.html#prepare-commit-message
745 * `git cola diff` (and the corresponding `Diff` menu actions) can now
746 launch difftool with the standard `Ctrl+D` hotkey. The `Ctrl+E` hotkey was
747 also added for launching an editor.
749 * Traditional Chinese (Taiwan) translation updates.
753 * `git cola` now works when installed in non-ascii, utf8-encoded paths.
755 https://github.com/git-cola/git-cola/issues/629
757 * Styling issues that caused black backgrounds in various widgets when using
758 PyQ5 on Mac OS X have been fixed.
760 https://github.com/git-cola/git-cola/issues/624
762 * The "Open Recent" menu action was broken and has been fixed.
764 https://github.com/git-cola/git-cola/issues/634
766 * Exiting `git cola` with a maximized main window would hang when reopened
769 https://github.com/git-cola/git-cola/issues/641
773 * `appdata.xml` files are now provided at
774 `share/appdata/git-cola.xml` and `share/appdata/git-dag.xml`
775 for use by the Linux software gallery.
777 https://people.freedesktop.org/~hughsient/appdata/
779 https://github.com/git-cola/git-cola/pull/627
788 * The "Open Recent" menu was updated to new bookmarks format.
790 https://github.com/git-cola/git-cola/issues/628
797 Usability, bells and whistles
798 -----------------------------
799 * New Polish translation thanks to Łukasz Wojniłowicz
801 https://github.com/git-cola/git-cola/pull/598
803 * The `Bypass Commit Hooks` feature now disables itself automatically
804 when a new commit is created. The new behavior turns the option into a
805 single-use flag, which helps prevent users from accidentally leaving it
806 active longer than intended.
808 https://github.com/git-cola/git-cola/pull/595
810 * `git dag` learned to launch an external diff viewer on selected commits.
811 The standard `Ctrl+D` shortcut can be used to view diffs.
813 https://github.com/git-cola/git-cola/issues/468
815 * `git dag` learned to launch directory diffs via `git difftool --dir-diff`.
816 The `Ctrl+Shift+D` shortcut launches difftool in directory-diff mode.
818 https://github.com/git-cola/git-cola/issues/468
820 * Items in the "Favorites" list can now be renamed, which makes it
821 easier to differentiate between several checkouts of the same repository.
823 https://github.com/git-cola/git-cola/issues/599
825 https://github.com/git-cola/git-cola/pull/601
827 * The startup screen now includes a logo and `git cola` version information.
829 https://github.com/git-cola/git-cola/issues/526
831 * The `About` page was revamped to contain multiple tabs. A new tab was added
832 that provides details about `git cola`''s dependencies. New tabs were also
833 added for giving credit to `git cola`'s authors and translators.
835 * The `About` page can now be accessed via `git cola about`.
837 * The "Fast-forward only" and "No fast-forward" options supported by
838 `git pull` are now accessible via `git cola pull`.
840 * Doing a forced push no longer requires selecting the remote branch.
842 https://github.com/git-cola/git-cola/pull/618
844 * `git cola push` now has an option to suppress the prompt that is shown
845 when pushing would create new remote branches.
847 https://github.com/git-cola/git-cola/issues/605
849 * `git dag` now shows commit messages in a more readable color.
851 https://github.com/git-cola/git-cola/issues/574
853 * `git cola browse` and the `status` widget learned to launch the OS-specified
854 default action for a file. When used on directories via `git cola browse`,
855 or when "Open Parent Directory" is used on files, the OS-specified
856 file browser will typically be used.
858 * `git cola browse` and the `status` widget learned to launch terminals.
862 * `git cola browse` was not updating when expanding items.
864 https://github.com/git-cola/git-cola/issues/588
866 * Typofixes in comments, naming, and strings have been applied.
868 https://github.com/git-cola/git-cola/pull/593
870 * The inotify and win32 filesystem monitoring no longer refreshes
871 when updates are made to ignored files.
873 https://github.com/git-cola/git-cola/issues/517
875 https://github.com/git-cola/git-cola/issues/516
877 * The `Refresh` button on the actions panel no longer raises an
878 exception when using PyQt5.
880 https://github.com/git-cola/git-cola/issues/604
882 * Fixed a typo in the inotify backend that is triggered when files are removed.
884 https://github.com/git-cola/git-cola/issues/607
886 * Fixed a typo when recovering from a failed attempt to open a repository.
888 https://github.com/git-cola/git-cola/issues/606
890 * `git dag` now properly updates itself when launched from the menubar.
892 https://github.com/git-cola/git-cola/pull/613
894 * If git-cola is invoked on Windows using `start pythonw git-cola`,
895 a console window will briefly flash on the screen each time
896 `git cola` invokes `git`. The console window is now suppressed.
898 * We now avoid some problematic Popen flags on Windows which were
899 breaking the `git rebase` feature on Windows.
901 * The `Save` button in `git dag`'s "Grab File..." feature now properly
902 prompts for a filename when saving files.
904 https://github.com/git-cola/git-cola/pull/617
908 * The `qtpy` symlink in the source tree has been removed to allow for easier
909 development on Windows.
911 https://github.com/git-cola/git-cola/issues/626
918 Usability, bells and whistles
919 -----------------------------
920 * `git cola push` learned to configure upstream branches.
922 https://github.com/git-cola/git-cola/issues/563
926 * The diffstat view is now properly updated when notifications are
927 received via inotify filesystem monitoring.
929 https://github.com/git-cola/git-cola/issues/577
931 * Python3 with PyQt5 had a bug that prevented `git cola` from starting.
933 https://github.com/git-cola/git-cola/pull/589
943 * When repositories stored in non-ASCII, UTF-8-encoded filesystem paths
944 were operated upon with `LC_ALL=C` set in the environment, unicode errors
945 would occur when using `python2`. `git cola` was made more robust and will
946 now operate correctly within this environment.
948 https://github.com/git-cola/git-cola/issues/581
950 * Support for the `GIT_WORK_TREE` environment variable was fixed.
952 https://github.com/git-cola/git-cola/pull/582
957 * The `unittest.mock` module is now used instead of the original `mock` module
958 when running the `git cola` test suite using Python3.
960 https://github.com/git-cola/git-cola/issues/569
965 * `git cola` is now compatible with *PyQt5*, *PyQt4*, and *Pyside*.
966 `git cola` previously supported *PyQt4* only, but will now use whichever
967 library is available. Users are not required to upgrade at this time,
968 but *PyQt5* support can be enabled anytime by making its python
971 https://github.com/git-cola/git-cola/issues/232
973 *NOTE*: We do not yet recommend using *PyQt5* because there are known
974 exit-on-segfault bugs in *Qt5* that have not yet been addressed.
975 `git cola` is sensitive to this bug and is known to crash on exit
976 when using `git dag` or the interactive rebase feature on *PyQt5*.
978 https://bugreports.qt.io/browse/QTBUG-52988
980 *PyQt4* is stable and there are no known issues when using it so
981 we recommend using it until the Qt5 bugs have been resolved.
983 * `git cola` now depends on *QtPy* and includes a bundled copy of the
984 `qtpy` library. If you are packaging `git cola` and would prefer to use
985 `qtpy` from your distribution instead of the built-in version then use
986 `make NO_VENDOR_LIBS=1` when building `git cola`. This will prevent
987 vendored libraries from being installed.
994 Usability, bells and whistles
995 -----------------------------
997 * A new "Reset" sub-menu provides access to running "git reset --mixed"
998 when resetting branch heads and "git reset --merge" when resetting
1001 https://github.com/git-cola/git-cola/issues/542
1003 * `git cola` now supports linked worktrees, i.e. worktrees created by
1006 https://github.com/git-cola/git-cola/issues/554
1011 * Diff highlighting is now robust to the user having
1012 diff.supressBlankEmpty=true in their git config.
1014 https://github.com/git-cola/git-cola/issues/541
1016 * The filesystem monitor now properly handles repositories that use
1017 `.git`-files, e.g. when using submodules.
1019 https://github.com/git-cola/git-cola/issues/545
1021 https://github.com/git-cola/git-cola/pulls/546
1023 * Per-repository git configuration is now properly detected when launching
1024 `git cola` from an application launcher.
1026 https://github.com/git-cola/git-cola/issues/548
1028 * `git cola` now cleans up after itself immediately to avoid leaving behind
1029 empty `/tmp/git-cola-XXXXXX` directories when the user uses `Ctrl+C`
1032 https://github.com/git-cola/git-cola/issues/566
1037 * It is now possible to install `git cola` to and from utf8-encoded filesystem
1038 paths. Previously, Python's stdlib would throw an encoding error during
1039 installation. We workaround the stdlib by forcing python2 to use utf-8,
1040 thus fixing assumptions in the stdlib library code.
1042 https://github.com/git-cola/git-cola/issues/551
1049 Usability, bells and whistles
1050 -----------------------------
1052 * The icon for untracked files was adjusted to better differentiate
1053 between files and the "Untracked" header.
1055 https://github.com/git-cola/git-cola/issues/509
1057 * Ctrl+O was added as a hotkey for opening repositories.
1059 https://github.com/git-cola/git-cola/pull/507
1061 * `git dag` now uses consistent edge colors across updates.
1063 https://github.com/git-cola/git-cola/issues/512
1065 * `git cola`'s Bookmarks widget can now be used to set a "Default Repository".
1066 Under the hood, we set the `cola.defaultrepo` configuration variable.
1067 The default repository is used whenever `git cola` is launched outside of
1068 a Git repository. When unset, or when set to a bogus value, `git cola`
1069 will prompt for a repository, as it previously did.
1071 https://github.com/git-cola/git-cola/issues/513
1073 * `git cola`'s Russian and Spanish translations were improved
1074 thanks to Vaiz and Zeioth.
1076 https://github.com/git-cola/git-cola/pull/514
1078 https://github.com/git-cola/git-cola/pull/515
1080 https://github.com/git-cola/git-cola/pull/523
1082 * `git cola` was translated to Turkish thanks to Barış ÇELİK.
1084 https://github.com/git-cola/git-cola/pull/520
1086 * The status view now supports launching `git gui blame`. It can be
1087 configured to use a different command by setting `cola.blameviewer`.
1089 https://github.com/git-cola/git-cola/pull/521
1091 * `git dag` now allows selecting non-contiguous ranges in the log widget.
1093 https://github.com/git-cola/git-cola/issues/468
1095 * Any font can now be chosen for the diff editor, not just monospace fonts.
1097 https://github.com/git-cola/git-cola/issues/525
1102 * `xfce4-terminal` and `gnome-terminal` are now supported when launching
1103 `git mergetool` to resolve merges. These terminals require that the command
1104 to execute is shell-quoted and passed as a single string argument to `-e`
1105 rather than as additional command line arguments.
1107 https://github.com/git-cola/git-cola/issues/524
1109 * Fixed a unicode problem when formatting the error message that is shown
1110 when `gitk` is not installed. We now handle unicode data in tracebacks
1111 generated by python itself.
1113 https://github.com/git-cola/git-cola/issues/528
1115 * The `New repository` feature was fixed.
1117 https://github.com/git-cola/git-cola/pull/533
1119 * We now use omit the extended description when creating "fixup!" commits,
1120 for consistency with the Git CLI. We now include only the one-line summary
1121 in the final commit message.
1123 https://github.com/git-cola/git-cola/issues/522
1130 Usability, bells and whistles
1131 -----------------------------
1133 * The user interface is now HiDPI-capable. git-cola now uses SVG
1134 icons, and its interface can be scaled by setting the `GIT_COLA_SCALE`
1135 environment variable.
1137 * `git dag` now supports the standard editor, difftool, and history hotkeys.
1138 It is now possible to invoke these actions from file widget's context
1139 menu and through the standard hotkeys.
1141 https://github.com/git-cola/git-cola/pull/473
1143 * The `Status` tool also learned about the history hotkey.
1144 Additionally, the `Alt-{j,k}` aliases are also supported in the `Status`
1145 tool for consistency with the other tools where the non-Alt hotkeys are not
1148 https://github.com/git-cola/git-cola/pull/488
1150 * The `File Browser` tool now has better default column sizes,
1151 and remembers its window size and placement.
1153 * The `File Browser` now supports the refresh hotkey, and has better
1154 behavior when refreshing. The selection is now retained, and new and
1155 removed files are found when refreshing.
1157 * A new `git-cola-completion.bash` completion script is provided in the
1158 `contrib/` directory. It must be used alongside Git's completion script.
1159 Source it from your `~/.bashrc` (or `~/.zshrc`, etc) after sourcing
1160 the `git-completion.bash` script and you will have command-line completion
1161 support for the `git cola` and `git dag` sub-commands.
1163 * The "checkout" dialog now offers completion for remote branches and other
1164 git refs. This makes it easier to checkout remote branches in a detached
1165 head state. Additionally, the checkout dialog also offers completion for
1166 remote branches that have not yet been checked out, which makes it easier to
1167 create a local tracking branch by just completing for that potential name.
1169 https://github.com/git-cola/git-cola/issues/390
1171 * The "create branch" and "create tag" dialogs now save and restore their
1174 * The "status" widget can now be configured to use a bold font with a darker
1175 background for the header items.
1177 https://github.com/git-cola/git-cola/pull/506
1179 * The "status" widget now remembers its horizontol scrollbar position across
1180 updates. This is helpful when working on projects with long paths.
1182 https://github.com/git-cola/git-cola/issues/494
1187 * When using *Git for Windows*, a `git` window would appear
1188 when running *Windows 8*. We now pass additional flags to
1189 `subprocess.Popen` to prevent a `git` window from appearing.
1191 https://github.com/git-cola/git-cola/issues/477
1193 https://github.com/git-cola/git-cola/pull/486
1195 * Launching difftool with `.PY` in `$PATHEXT` on Windows was fixed.
1197 https://github.com/git-cola/git-cola/issues/492
1199 * Creating a local branch tracking a remote branch that contains
1200 slashes in its name is now properly handled.
1202 https://github.com/git-cola/git-cola/issues/496
1204 * The "Browse Other Branch" feature was broken by Python3, and is now fixed.
1206 https://github.com/git-cola/git-cola/issues/501
1208 * We now avoid `long` for better Python3 compatibility.
1210 https://github.com/git-cola/git-cola/issues/502
1212 * We now use Git's default merge message when merging branches.
1214 https://github.com/git-cola/git-cola/issues/508
1216 * Miscellaneous fixes
1218 https://github.com/git-cola/git-cola/pull/485
1223 * git-cola's documentation no longer uses an intersphinx link mapping
1224 to docs.python.org. This fixes warnings when building rpms using koji,
1225 where network access is prevented.
1227 https://bugzilla.redhat.com/show_bug.cgi?id=1231812
1234 Usability, bells and whistles
1235 -----------------------------
1237 * The Interactive Rebase feature now works on Windows!
1239 https://github.com/git-cola/git-cola/issues/463
1241 * The `diff` editor now understands vim-style `hjkl` navigation hotkeys.
1243 https://github.com/git-cola/git-cola/issues/476
1245 * `Alt-{j,k}` navigation hotkeys were added to allow changing to the
1246 next/previous file from the diff and commit editors.
1248 * The `Rename branch` menu action is now disabled in empty repositories.
1250 https://github.com/git-cola/git-cola/pull/475
1252 https://github.com/git-cola/git-cola/issues/459
1254 * `git cola` now checks unmerged files for conflict markers before
1255 staging them. This feature can be disabled in the preferences.
1257 https://github.com/git-cola/git-cola/issues/464
1259 * `git dag` now remembers which commits were selected when refreshing
1260 so that it can restore the selection afterwards.
1262 https://github.com/git-cola/git-cola/issues/480
1264 * "Launch Editor", "Launch Difftool", "Stage/Unstage",
1265 and "Move Up/Down" hotkeys now work when the commit message
1268 https://github.com/git-cola/git-cola/issues/453
1270 * The diff editor now supports the `Ctrl+u` hotkey for reverting
1271 diff hunks and selected lines.
1273 * The `core.commentChar` Git configuration value is now honored.
1274 Commit messages and rebase instruction sheets will now use
1275 the configured character for comments. This allows having
1276 commit messages that start with `#` when `core.commentChar`
1277 is configured to its non-default value.
1279 https://github.com/git-cola/git-cola/issues/446
1284 * Diff syntax highlighting was improved to handle more edge cases
1285 and false positives.
1287 https://github.com/git-cola/git-cola/pull/467
1289 * Setting commands in the interactive rebase editor was fixed.
1291 https://github.com/git-cola/git-cola/issues/472
1293 * git-cola no longer clobbers the Ctrl+Backspace text editing shortcut
1294 in the commit message editor.
1296 https://github.com/git-cola/git-cola/issues/453
1298 * The copy/paste clipboard now persists after `git cola` exits.
1300 https://github.com/git-cola/git-cola/issues/484
1309 * Fixed the "Sign off" feature in the commit message editor.
1316 Usability, bells and whistles
1317 -----------------------------
1318 * Double-click will now choose a commit in the "Select commit" dialog.
1320 * `git cola` has a feature that reads `.git/MERGE_MSG` and friends for the
1321 commit message when a merge is in-progress. Upon refresh, `git cola` will
1322 now detect when a merge has completed and reset the commit message back to
1323 its previous state. It is only reset if the editor contains a message
1324 that was read from the file and has not been manually edited by the user.
1326 * The commit message editor's context menu now has a "Clear..." action for
1327 clearing the message across both the summary and description fields.
1329 * Traditional Chinese (Taiwan) translation updates.
1331 * The system theme's icons are now used wherever possible.
1333 https://github.com/git-cola/git-cola/pull/458
1337 * The stash viewer now uses ``git show --no-ext-diff`` to avoid running
1338 user-configured diff tools.
1340 * `git cola` now uses the `setsid()` system call to ensure that the
1341 `GIT_ASKPASS` and `SSH_ASKPASS` helper programs are used when pushing
1342 changes using `git`. The askpass helpers will now be used even when
1343 `git cola` is launched from a terminal.
1345 The behavior without `setsid()` is that `git cola` can appear to hang while
1346 pushing changes. The hang happens when `git` prompts the user for a
1347 password using the terminal, but the user never sees the prompt. `setsid()`
1348 detaches the terminal, which ensures that the askpass helpers are used.
1350 https://github.com/git-cola/git-cola/issues/218
1352 https://github.com/git-cola/git-cola/issues/262
1354 https://github.com/git-cola/git-cola/issues/377
1356 * `git dag`'s file list tool was updated to properly handle unicode paths.
1358 * `gnome-terminal` is no longer used by default when `cola.terminal` is unset.
1359 It is broken, as was detailed in #456.
1361 https://github.com/git-cola/git-cola/issues/456
1363 * The interactive rebase feature was not always setting `$GIT_EDITOR`
1364 to the value of `gui.editor`, thus there could be instances where rebase
1365 will seem to not stop, or hang, when performing "reword" actions.
1367 We now set the `$GIT_EDITOR` environment variable when performing the
1368 "Continue", "Skip", and "Edit Todo" rebase actions so that the correct
1369 editor is used during the rebase.
1371 https://github.com/git-cola/git-cola/issues/445
1375 * `git cola` moved from a 3-part version number to a simpler 2-part "vX.Y"
1376 version number. Most of our releases tend to contain new features.
1383 Usability, bells and whistles
1384 -----------------------------
1385 * Updated zh_TW translations.
1387 * `git cola rebase` now defaults to `@{upstream}`, and generally uses the same
1388 CLI syntax as `git rebase`.
1390 * The commit message editor now allows you to bypass commit hooks by selecting
1391 the "Bypass Commit Hooks" option. This is equivalent to passing the
1392 `--no-verify` option to `git commit`.
1394 https://github.com/git-cola/git-cola/issues/357
1396 * We now prevent the "Delete Files" action from creating a dialog that does
1399 https://github.com/git-cola/git-cola/issues/378
1401 * `git xbase` learned to edit rebase instruction sheets that contain
1404 * The diff colors are now configurable. `cola.color.{text,add,remove,header}`
1405 can now be set with 6-digit hexadecimal colors.
1406 See the `git cola manual <https://git-cola.readthedocs.io/en/latest/git-cola.html#configuration-variables>_`
1409 * Improved hotkey documentation.
1413 * `git cola` will now allow starting an interactive rebase with a dirty
1414 worktree when `rebase.autostash` is set.
1416 https://github.com/git-cola/git-cola/issues/360
1423 Usability, bells and whistles
1424 -----------------------------
1425 * A new "Find files" widget was added, and can be activated by
1426 using the `Ctrl+t` or `t` hotkeys.
1428 * A new `git cola find` sub-command was added for finding files.
1430 * `git cola` now remembers the text cursor's position when staging
1431 interactively with the keyboard. This makes it easier to use the keyboard
1432 arrows to select and stage lines.
1434 * The completion widgets will now select the top completion item
1435 when `Enter` or `Return` are pressed.
1437 * You can now refresh using `F5` in addition to the existing `Ctrl+R` hotkey.
1441 * `git cola` now passes `--no-abbrev-commit` to `git log` to override
1442 having `log.abbrevCommit = true` set in `.gitconfig`.
1448 Usability, bells and whistles
1449 -----------------------------
1450 * `git dag` now forwards all unknown arguments along to `git log`.
1452 https://github.com/git-cola/git-cola/issues/389
1454 * Line-by-line interactive staging was made more robust.
1456 https://github.com/git-cola/git-cola/pull/399
1458 * "Bookmarks" was renamed to "Favorites".
1460 https://github.com/git-cola/git-cola/issues/392
1462 * Untracked files are now displayed using a unique icon.
1464 https://github.com/git-cola/git-cola/pull/388
1468 * `git dag` was triggering a traceback on Fedora when parsing Git logs.
1470 https://bugzilla.redhat.com/show_bug.cgi?id=1181686
1472 * inotify expects unicode paths on Python3.
1474 https://github.com/git-cola/git-cola/pull/393
1476 * Untracked files are now assumed to be utf-8 encoded.
1478 https://github.com/git-cola/git-cola/issues/401
1484 Usability, bells and whistles
1485 -----------------------------
1486 * `git cola` can now create GPG-signed commits and merges.
1488 https://github.com/git-cola/git-cola/issues/149
1490 See the documentation for details about setting up a GPG agent.
1492 * The status widget learned to copy relative paths when `Ctrl+x` is pressed.
1494 https://github.com/git-cola/git-cola/issues/358
1496 * Custom GUI actions can now define their own keyboard shortcuts by
1497 setting `guitool.$name.shortcut` to a string understood by Qt's
1498 `QAction::setShortcut()` API, e.g. `Alt+X`.
1500 See http://qt-project.org/doc/qt-4.8/qkeysequence.html#QKeySequence-2
1501 for more details about the supported values.
1503 * `git cola` learned to rename branches.
1505 https://github.com/git-cola/git-cola/pull/364
1507 https://github.com/git-cola/git-cola/issues/278
1509 * `git dag` now has a "Show history" context menu which can be used to filter
1510 history using the selected paths.
1514 * `sphinxtogithub.py` was fixed for Python3.
1516 https://github.com/git-cola/git-cola/pull/353
1518 * The commit that changed how we read remotes from `git remote`
1519 to parsing `git config` was reverted since it created problems
1522 * Fixed a crash when using the `rebase edit` feature.
1524 https://github.com/git-cola/git-cola/issues/351
1526 * Better drag-and-drop behavior when dropping into gnome-terminal.
1528 https://github.com/git-cola/git-cola/issues/373
1532 * The `git-cola-folder-handler.desktop` file handler was fixed
1533 to pass validation by `desktop-file-validate`.
1535 https://github.com/git-cola/git-cola/issues/356
1537 * The `git.svg` icon was renamed to `git-cola.svg`, and `git cola` was taught
1538 to prefer icons from the desktop theme when available.
1544 Usability, bells and whistles
1545 -----------------------------
1546 * New hotkey: `Ctrl+Shift+M` merges branches.
1548 * New hotkey: `Ctrl+R` refreshes the DAG viewer.
1550 https://github.com/git-cola/git-cola/issues/347
1554 * We now use `git config` to parse the list of remotes
1555 instead of parsing the output of `git remote`, which
1556 is a Git porcelain and should not be used by scripts.
1558 * Avoid "C++ object has been deleted" errors from PyQt4.
1560 https://github.com/git-cola/git-cola/issues/346
1564 * The `make install` target now uses `install` instead of `cp`.
1570 Usability, bells and whistles
1571 -----------------------------
1572 * Updated Brazillian Portuguese translation.
1574 * The status and browse widgets now allow drag-and-drop into
1575 external applications.
1577 https://github.com/git-cola/git-cola/issues/335
1579 * We now show a progress bar when cloning repositories.
1581 https://github.com/git-cola/git-cola/issues/312
1583 * The bookmarks widget was simplified to not need a
1586 https://github.com/git-cola/git-cola/issues/289
1588 * Updated Traditional Chinese translation.
1590 * We now display a warning when trying to rebase with uncommitted changes.
1592 https://github.com/git-cola/git-cola/issues/338
1594 * The status widget learned to filter paths.
1595 `Ctrl+Shift+S` toggles the filter widget.
1597 https://github.com/git-cola/git-cola/issues/337
1599 https://github.com/git-cola/git-cola/pull/339
1601 * The status widget learned to move files to the trash
1602 when the `send2trash <https://github.com/hsoft/send2trash>`_
1603 module is installed.
1605 https://github.com/git-cola/git-cola/issues/341
1607 * "Recent repositories" is now a dedicated widget.
1609 https://github.com/git-cola/git-cola/issues/342
1611 * New Spanish translation thanks to Pilar Molina Lopez.
1613 https://github.com/git-cola/git-cola/pull/344
1617 * Newly added remotes are now properly seen by the fetch/push/pull dialogs.
1619 https://github.com/git-cola/git-cola/issues/343
1625 Usability, bells and whistles
1626 -----------------------------
1627 * New Brazillian Portuguese translation thanks to Vitor Lobo.
1629 * New Indonesian translation thanks to Samsul Ma'arif.
1631 * Updated Simplified Chinese translation thanks to Zhang Han.
1633 * `Ctrl+Backspace` is now a hotkey for "delete untracked files" in
1636 * Fetch/Push/Pull dialogs now use the configured remote of the current
1639 https://github.com/git-cola/git-cola/pull/324
1643 * We now use `os.getcwd()` on Python3.
1645 https://github.com/git-cola/git-cola/pull/316
1647 https://github.com/git-cola/git-cola/pull/326
1649 * The `Ctrl+P` hotkey was overloaded to both "push" and "cherry-pick",
1650 so "cherry-pick" was moved to `Ctrl+Shift+C`.
1652 * Custom GUI tools with mixed-case names are now properly supported.
1654 * "Diff Region" is now referred to as "Diff Hunk" for consistency
1655 with common terminology from diff/patch tools.
1657 https://github.com/git-cola/git-cola/issues/328
1659 * git-cola's test suite is now portable to MS Windows.
1661 https://github.com/git-cola/git-cola/pull/332
1667 Usability, bells and whistles
1668 -----------------------------
1669 * We now handle the case when inotify `add_watch()` fails
1670 and display instructions on how to increase the number of watches.
1672 https://github.com/git-cola/git-cola/issues/263
1674 * New and improved zh_TW localization thanks to V字龍(Vdragon).
1676 https://github.com/git-cola/git-cola/pull/265
1678 https://github.com/git-cola/git-cola/pull/267
1680 https://github.com/git-cola/git-cola/pull/268
1682 https://github.com/git-cola/git-cola/issues/269
1684 https://github.com/git-cola/git-cola/pull/270
1686 https://github.com/git-cola/git-cola/pull/271
1688 https://github.com/git-cola/git-cola/pull/272
1690 * New hotkeys: `Ctrl+F` for fetch, `Ctrl+P` for push,
1691 and `Ctrl+Shift+P` for pull.
1693 * The bookmarks widget's context menu actions were made clearer.
1695 https://github.com/git-cola/git-cola/issues/281
1697 * The term "Staging Area" is used consistently in the UI
1698 to allow for better localization.
1700 https://github.com/git-cola/git-cola/issues/283
1702 * The "Section" term is now referred to as "Diff Region"
1705 https://github.com/git-cola/git-cola/issues/297
1707 * The localization documentation related to the LANGUAGE
1708 environment variable was improved.
1710 https://github.com/git-cola/git-cola/pull/293
1712 * The "Actions" panel now contains tooltips for each button
1713 in case the button labels gets truncated by Qt.
1715 https://github.com/git-cola/git-cola/issues/292
1717 * Custom `git config`-defined actions can now be run in the
1718 background by setting `guitool.<name>.background` to `true`.
1722 * We now use bold fonts instead of SmallCaps to avoid
1723 artifacts on several configurations.
1725 * We now pickup `user.email`, `cola.tabwidth`, and similar settings
1726 when defined in /etc/gitconfig.
1728 https://github.com/git-cola/git-cola/issues/259
1730 * Better support for unicode paths when using inotify.
1732 https://bugzilla.redhat.com/show_bug.cgi?id=1104181
1734 * Unicode fixes for non-ascii locales.
1736 https://github.com/git-cola/git-cola/issues/266
1738 https://github.com/git-cola/git-cola/issues/273
1740 https://github.com/git-cola/git-cola/issues/276
1742 https://github.com/git-cola/git-cola/issues/282
1744 https://github.com/git-cola/git-cola/issues/298
1746 https://github.com/git-cola/git-cola/issues/302
1748 https://github.com/git-cola/git-cola/issues/303
1750 https://github.com/git-cola/git-cola/issues/305
1752 * Viewing history from the file browser was fixed for Python3.
1754 https://github.com/git-cola/git-cola/issues/274
1756 * setup.py was fixed to install the `*.rst` documentation.
1758 https://github.com/git-cola/git-cola/issues/279
1760 * Patch export was fixed for Python3.
1762 https://github.com/git-cola/git-cola/issues/290
1764 * Fixed adding a bookmark with trailing slashes.
1766 https://github.com/git-cola/git-cola/pull/295
1768 * The default `git dag` layout is now setup so that its widgets
1769 can be freely resized on Linux.
1771 https://github.com/git-cola/git-cola/issues/299
1773 * Invalid tag names are now reported when creating tags.
1775 https://github.com/git-cola/git-cola/pull/296
1781 Usability, bells and whistles
1782 -----------------------------
1783 * `git cola` no longer prompts after successfully creating a new branch.
1785 https://github.com/git-cola/git-cola/pull/251
1787 * Hitting enter on simple dialogs now accepts them.
1789 https://github.com/git-cola/git-cola/pull/255
1793 * `git dag` no longer relies on `sys.maxint`, which is
1794 not available in Python3.
1796 https://github.com/git-cola/git-cola/issues/249
1798 * Python3-related fixes.
1800 https://github.com/git-cola/git-cola/pull/254
1802 * Python3-on-Windows-related fixes.
1804 https://github.com/git-cola/git-cola/pull/250
1806 https://github.com/git-cola/git-cola/pull/252
1808 https://github.com/git-cola/git-cola/pull/253
1810 * Switching repositories using the bookmarks widget was not
1811 refreshing the inotify watcher.
1813 https://github.com/git-cola/git-cola/pull/256
1815 * Special commit messages trailers (e.g. "Acked-by:") are now special-cased to
1816 fix word wrapping lines that start with "foo:".
1818 https://github.com/git-cola/git-cola/issues/257
1820 * `git dag` sometimes left behind selection artifacts.
1821 We now refresh the view to avoid them.
1823 https://github.com/git-cola/git-cola/issues/204
1829 Usability, bells and whistles
1830 -----------------------------
1831 * Better inotify support for file creation and deletion.
1833 https://github.com/git-cola/git-cola/issues/240
1835 * `git cola` now supports the X11 Session Management Protocol
1836 and remembers its state across logout/reboot.
1838 https://github.com/git-cola/git-cola/issues/164
1840 * `git cola` has a new icon.
1842 https://github.com/git-cola/git-cola/issues/190
1846 * Building the documentation no longer requires `asciidoc`.
1847 We now use `Sphinx <http://sphinx-doc.org/>`_ for building
1848 html documentation and man pages.
1852 * Reworked the git-dag gravatar icon code to avoid a unicode
1855 * Commit message line-wrapping was made to better match the GUI editor.
1857 https://github.com/git-cola/git-cola/issues/242
1859 * Better support for Python3 on Windows
1861 https://github.com/git-cola/git-cola/issues/246
1865 * git-cola no longer depends on Asciidoc for building its documentation
1866 and man-pages. We now depend on [Sphinx](http://sphinx-doc.org/) only.
1872 Usability, bells and whistles
1873 -----------------------------
1874 * Some context menu actions are now hidden when selected
1877 https://github.com/git-cola/git-cola/issues/238
1881 * The build-git-cola.sh contrib script was improved.
1883 https://github.com/git-cola/git-cola/pull/235
1885 * Non-ascii worktrees work properly again.
1887 https://github.com/git-cola/git-cola/issues/234
1889 * The browser now guards itself against missing files.
1891 https://bugzilla.redhat.com/show_bug.cgi?id=1071378
1893 * Saving widget state now works under Python3.
1895 https://github.com/git-cola/git-cola/pull/236
1903 * git-cola now runs on Python 3 thanks to Virgil Dupras.
1905 https://github.com/git-cola/git-cola/pull/233
1907 * Python 2.6, 2.7, and 3.2+ are now supported.
1908 Python 2.5 is no longer supported.
1912 * i18n test fixes thanks to Virgil Dupras.
1914 https://github.com/git-cola/git-cola/pull/231
1916 * git-cola.app build fixes thanks to Maicon D. Filippsen.
1918 https://github.com/git-cola/git-cola/pull/230
1920 * Lots of pylint improvements thanks to Alex Chernetz.
1922 https://github.com/git-cola/git-cola/pull/229
1928 Usability, bells and whistles
1929 -----------------------------
1930 * The new `Bookmarks` tool makes it really easy to switch between repositories.
1932 * There is now a dedicated dialog for applying patches.
1933 See the ``File -> Apply Patches`` menu item.
1935 https://github.com/git-cola/git-cola/issues/215
1937 * A new `git cola am` sub-command was added for applying patches.
1941 * Fixed a typo that caused inotify events to be silently ignored.
1943 * Fixed the sys.path setup for Mac OS X (Homebrew).
1945 https://github.com/git-cola/git-cola/issues/221
1947 * Lots of pylint fixes thanks to Alex Chernetz.
1953 Usability, bells and whistles
1954 -----------------------------
1955 * `git cola --amend` now starts the editor in `amend` mode.
1957 https://github.com/git-cola/git-cola/issues/187
1959 * Multiple lines of text can now be pasted into the `summary` field.
1960 All text beyond the first newline will be automatically moved to the
1961 `extended description` field.
1963 https://github.com/git-cola/git-cola/issues/212
1967 * Stray whitespace in `.git` files is now ignored.
1969 https://github.com/git-cola/git-cola/issues/213
1971 * Fix "known incorrect sRGB profile" in `staged-item.png`.
1973 http://comments.gmane.org/gmane.linux.gentoo.devel/85066
1981 * Fix a traceback when `git push` fails.
1983 https://bugzilla.redhat.com/show_bug.cgi?id=1034778
1987 * Most of the git-cola sub-packages have been removed.
1988 The only remaining packages are `cola`, `cola.models`,
1991 * The translation file for Simplified Chinese was renamed
1994 https://github.com/git-cola/git-cola/issues/209
2002 * `git cola version --brief` now prints the brief version number.
2006 * Resurrected the "make dist" target, for those that prefer to create
2009 * Fixed the typo that broke the preferences dialog.
2015 Usability, bells and whistles
2016 -----------------------------
2017 * We now ship a full-featured interactive `git rebase` editor.
2018 The rebase todo file is edited using the `git xbase` script which
2019 is provided at `$prefix/share/git-cola/bin/git-xbase`.
2020 This script can be used standalone by setting the `$GIT_SEQUENCE_EDITOR`
2021 before running `git rebase --interactive`.
2023 https://github.com/git-cola/git-cola/issues/1
2025 * Fixup commit messages can now be loaded from the commit message editor.
2027 * Tool widgets can be locked in place by using the "Tools/Lock Layout"
2030 https://github.com/git-cola/git-cola/issues/202
2032 * You can now push to several remotes simultaneously by selecting
2033 multiple remotes in the "Push" dialog.
2035 https://github.com/git-cola/git-cola/issues/148
2037 * The `grep` tool learned to search using three different modes:
2038 basic regular expressions (default), extended regular expressions,
2043 * `git cola` now depends on the `argparse` Python module.
2044 This module is part of the stdlib in Python 2.7 and must
2045 be installed separately when using Python 2.6 and below.
2049 * Support unicode in the output from `fetch`, `push`, and `pull`.
2055 Usability, bells and whistles
2056 -----------------------------
2057 * We now detect when the editor or history browser are misconfigured.
2059 https://github.com/git-cola/git-cola/issues/197
2061 https://bugzilla.redhat.com/show_bug.cgi?id=886826
2063 * Display of untracked files can be disabled from the Preferences dialog
2064 or by setting the `gui.displayuntracked` configuration variable to `false`.
2066 http://thread.gmane.org/gmane.comp.version-control.git/232683
2070 * Unicode stash names are now supported
2072 https://github.com/git-cola/git-cola/issues/198
2074 * The diffs produced when reverting workspace changes were made more robust.
2079 =======================
2080 Usability, bells and whistles
2081 -----------------------------
2082 * Brand new German translation thanks to Sven Claussner.
2084 * The "File" menu now provides a "New Repository..." menu action.
2086 * `git dag` now uses a dock-widget interface so that its widgets can
2087 be laid-out and arranged. Customizations are saved and restored
2088 the next time `git dag` is launched.
2090 * `git dag` now has a "Zoom Best Fit" button next alongside the
2091 "Zoom In" and "Zoom Out" buttons.
2093 * `Ctrl+L` now focuses the "Search" field in the `git dag` tool.
2095 * Right-clicking in the "diff" viewer now updates the cursor position
2096 before performing actions, which makes it much easier to click around
2097 and selectively stage sections. Previously, the current cursor position
2098 was used which meant that it required two clicks (left-click to update
2099 the position followed by right-click to get the context menu) for the
2100 desired section to be used. This is now a single right-click operation.
2102 * The `Ctrl+D` "Launch Diff Tool" action learned to automatically choose
2103 between `git difftool` and `git mergetool`. If the file is unmerged then
2104 we automatically launch `git mergetool` on the path, otherwise we use
2105 `git difftool`. We do this because `git difftool` is not intended to
2106 be used on unmerged paths. Automatically using `git mergetool` when
2107 appropriate is the most intuitive and muscle-memory-friendly thing to do.
2109 * You can now right-click on folders in your standard file browser
2110 and choose "Open With -> Git Cola" (Linux-only).
2114 * Python 2.6 on Mac OS X Snow Leopard does not provide a namedtuple
2115 at `sys.version_info`. We now avoid using that variable for better
2118 * We now read the user's Git configuration from `~/.config/git/config`
2119 if that file is available, otherwise we use the traditional `~/.gitconfig`
2120 path, just like Git itself.
2122 * Some edge cases were fixed when applying partial/selected diffs.
2124 * The diff viewer is now properly cleared when refreshing.
2126 https://github.com/git-cola/git-cola/issues/194
2132 Usability, bells and whistles
2133 -----------------------------
2134 * The diff viewer now has an "Options" menu which can be
2135 used to set "git diff" options. This can be used to
2136 ignore whitespace changes or to show a change with its
2137 surrounding function as context.
2139 https://github.com/git-cola/git-cola/issues/150
2141 * `git cola` now remembers your commit message and will restore it
2142 when `git cola` is restarted.
2144 https://github.com/git-cola/git-cola/pull/175
2146 * `Ctrl+M` can now be used to toggle the "Amend last commit"
2147 checkbox in the commit message editor.
2149 https://github.com/git-cola/git-cola/pull/161
2151 * Deleting remote branches can now be done from the "Branch" menu.
2153 https://github.com/git-cola/git-cola/issues/152
2155 * The commit message editor now has a built-in spell checker.
2159 * We now avoid invoking external diffs when showing diffstats.
2161 https://github.com/git-cola/git-cola/pull/163
2163 * The `Status` tool learned to reselect files when refreshing.
2165 https://github.com/git-cola/git-cola/issues/165
2167 * `git cola` now remembers whether it has been maximized and will restore the
2168 maximized state when `git cola` is restarted.
2170 https://github.com/git-cola/git-cola/issues/172
2172 * Performance is now vastly improved when staging hundreds or
2175 * `git cola` was not correctly saving repo-specific configuration.
2177 https://github.com/git-cola/git-cola/issues/174
2179 * Fix a UnicodeDecode in sphinxtogithub when building from source.
2185 Usability, bells and whistles
2186 -----------------------------
2187 * We now automatically remove missing repositories from the
2188 "Select Repository" dialog.
2190 https://github.com/git-cola/git-cola/issues/145
2192 * A new `git cola diff` sub-command was added for diffing changed files.
2196 * The inotify auto-refresh feature makes it difficult to select text in
2197 the "diff" editor when files are being continually modified by another
2198 process. The auto-refresh causes it to lose the currently selected text,
2199 which is not wanted. We now avoid this problem by saving and restoring
2200 the selection when refreshing the editor.
2202 https://github.com/git-cola/git-cola/issues/155
2204 * More strings have been marked for l10n.
2206 https://github.com/git-cola/git-cola/issues/157
2208 * Fixed the Alt+D Diffstat shortcut.
2210 https://github.com/git-cola/git-cola/issues/159
2214 * Better error handling when cloning repositories.
2216 We were not handling the case where a git URL has
2217 no basename, e.g. `https://git.example.com/`.
2218 `git cola` originally rejected these URLs instead of
2219 allowing users to clone them. It now allows these URLs
2220 when they point to valid git repositories.
2222 Additionally, `git cola` learned to echo the errors
2223 reported by `git clone` when it fails.
2225 https://github.com/git-cola/git-cola/issues/156
2231 Usability, bells and whistles
2232 -----------------------------
2233 * `git dag` got a big visual upgrade.
2235 * `Ctrl+G` now launches the "Grep" tool.
2237 * `Ctrl+D` launches difftool and `Ctrl+E` launches your editor
2238 when in the diff panel.
2240 * git-cola can now be told to use an alternative language.
2241 For example, if the native language is German and we want git-cola to
2242 use English then we can create a `~/.config/git-cola/language` file with
2243 "en" as its contents:
2245 $ echo en >~/.config/git-cola/language
2247 https://github.com/git-cola/git-cola/issues/140
2249 * A new `git cola merge` sub-command was added for merging branches.
2251 * Less blocking in the main UI
2255 * Autocomplete issues on KDE
2257 https://github.com/git-cola/git-cola/issues/144
2259 * The "recently opened repositories" startup dialog did not
2260 display itself in the absence of bookmarks.
2262 https://github.com/git-cola/git-cola/issues/139
2268 Usability, bells and whistles
2269 -----------------------------
2270 * `git cola` learned to honor `.gitattributes` when showing and
2271 interactively applying diffs. This makes it possible to store
2272 files in git using a non-utf-8 encoding and `git cola` will
2273 properly accept them. This must be enabled by settings
2274 `cola.fileattributes` to true, as it incurs a small performance
2277 https://github.com/git-cola/git-cola/issues/96
2279 * `git cola` now wraps commit messages at 72 columns automatically.
2280 This is configurable using the `cola.linebreak` variable to enable/disable
2281 the feature, and `cola.textwidth` to configure the limit.
2283 https://github.com/git-cola/git-cola/issues/133
2285 * A new "Open Recent" sub-menu was added to the "File" menu.
2286 This makes it easy to open a recently-edited repository.
2288 https://github.com/git-cola/git-cola/issues/135
2290 * We now show a preview for untracked files when they are clicked
2291 using the `Status` tool.
2292 * A new "Open Using Default Application" action was added to the
2293 `Status` tool. It is activated using either `Spacebar` or through
2294 the context menu. This action uses `xdg-open` on Linux and
2296 * A new "Open Parent Directory" action was added to the `Status` tool.
2297 It is activated using either `Shift+Spacebar` or through the
2299 * `git dag` learned to honor the `log.date` git configuration variable.
2300 This makes the date display follow whatever format the user has
2302 * A new `git cola config` sub-command was added for quickly
2303 tweaking `git cola`'s git configuration settings.
2304 * Some small usability tweaks -- some user confirmation prompts
2305 were defaulting to "Cancel" when they should have been defaulting
2306 to the affirmative option instead.
2310 * Properly handle arbitrarily-named branches.
2311 * We went back to launching `git mergetool` using an xterm.
2312 The reason is that there are a couple of places where `git mergetool`
2313 requires a terminal for user interaction not covered by `--no-prompt`.
2314 * We now properly handle an edge case when applying short diffs at
2315 the start of a file.
2321 Usability, bells and whistles
2322 -----------------------------
2323 * New and improved `grep` mode lets you instantly find and edit files.
2324 * New `git cola grep` standalone mode.
2325 * Support for passing arguments to the configured editors, e.g. `gvim -p`
2326 This makes it possible to select multiple files in the status
2327 window and use `Ctrl-e` to edit them all at once.
2328 * Remote operations now prompt on errors only.
2329 * The `Tab` key now jumps to the extended description when editing the summary.
2330 * More shortcut key labels and misc. UX improvements.
2334 * Selecting an item no longer copies its filename to the copy/paste buffer.
2335 `Ctrl-c` or the "Copy" context-menu action can be used instead.
2336 * The repository monitoring feature on Windows learned to ignore
2337 changes within the ".git" directory. Thanks to Andreas Sommer.
2339 https://github.com/git-cola/git-cola/issues/120
2345 Usability, bells and whistles
2346 -----------------------------
2347 * `git dag` learned to color-code branchy edges.
2348 The edge colors change when a new branch is detected,
2349 which makes the history much easier to follow.
2350 A huge thanks to Uri Okrent for making it happen.
2352 * New GUI for editing remote repositories.
2354 * New `git cola archive` and `git cola remote` sub-commands.
2356 * `git cola browser` learned an 'Untrack' command.
2358 * The diff editor learned to staged/unstaged while amending.
2360 * The status tool can now scroll horizontally.
2362 * New git repositories can be created by clicking 'New' on the
2363 `git cola --prompt` startup screen.
2369 Usability, bells and whistles
2370 -----------------------------
2371 * Auto-completion was added to more tools.
2373 * `git dag` is easier to use on smaller displays -- the author
2374 field elides its text which allows for a more compact display.
2376 * Selected commits in `git dag` were made more prominent and
2379 * 'Create Branch' learned to fetch remote branches and uses a
2380 background thread to do so.
2382 * User-configured GUI tools are listed alphabetically in the 'Actions' menu.
2384 * The 'Pull' dialog remembers the value of the 'Rebase' checkbox
2385 between invocations.
2393 * Detect Homebrew so that OS X users do not need to set PYTHONPATH.
2395 * `git dag` can export patches again.
2401 Usability, bells and whistles
2402 -----------------------------
2403 * The 'Classic' tool was renamed to 'Browser' and learned to
2404 limit history to the current branch.
2406 * `git dag` learned about gravatar and uses it to show images
2409 * `git dag` learned to use OpenGL for rendering resulting in
2410 much faster rendering.
2412 * More dialogs learned vim-style keyboard shortcuts.
2414 * The commit message editor learned better arrow key navigation.
2420 Usability, bells and whistles
2421 -----------------------------
2422 * `git cola` learned a few new sub commands:
2430 * `Return` in the summary field jumps to the extended description.
2432 * `Ctrl+Return` is now a shortcut for 'Commit'.
2434 * Better French translation for 'Sign-off'.
2436 * The 'Search' widget now has a much simpler and streamlined
2439 * vim-style `h,j,k,l` navigation shortcuts were added to the DAG widget.
2441 * `git dag` no longer prompts for files when diffing commits if the
2442 text field contains paths.
2444 * General user interface and performance improvements.
2448 * The diff viewer no longer changes font size when holding `Control`
2449 while scrolling with the mouse wheel.
2451 * Files with a typechange (e.g. symlinks that become files, etc.)
2452 are now correctly identified as being modified.
2456 * The `cola.controllers` and `cola.views` packages were removed.
2462 Usability, bells and whistles
2463 -----------------------------
2464 * `git cola` can now launch sub commands, e.g.:
2475 * `git dag` is more responsive when gathering auto-completions.
2477 * Keyboard shortcuts are displayed when the '?' key is pressed.
2479 * Various keyboard shortcuts were added for improved usability.
2481 * The status widget now lists unmerged files before modified files.
2483 * vim-style `h,j,k,l` navigation shortcuts were added to the status widget.
2485 * A 'Recently Modified Files...' tool was added.
2487 * Tools can now be hidden with `Alt + #` (where `#` is a keyboard number)
2488 and focused with `Alt + Shift + #`.
2490 * The syntax highlighting colors for diffs was made less intrusive.
2492 * The commit message editor was redesigned to have a more compact
2493 and keyboard-convenient user interface.
2495 * Keyboard shortcuts for adding a Signed-off-by (`Ctrl + i`)
2496 and creating a commit (`Ctrl + m`) were added.
2498 * The status widget was adjusted to use less screen real-estate.
2502 * Avoid updating the index when responding to inotify events.
2503 This avoids interfering with operations such as `git rebase --interactive`.
2505 https://github.com/git-cola/git-cola/issues/99
2509 * Create `git-dag.pyw` in the win32 installer.
2511 * win32 shortcuts now contain explicit calls to `pythonw.exe` instead of
2512 calling the `.pyw` file directly.
2516 * The 'Apply Changes from Branch...' feature was removed.
2517 `git dag`'s 'Grab File...' feature used alongside the index/worktree editor
2518 is a simpler alternative.
2526 * Further enhanced the staging/unstaging behavior in the status widget.
2528 https://github.com/git-cola/git-cola/issues/97
2530 * Unmerged files are no longer listed as modified.
2534 The `cola-$version` tarballs on github were originally setup to
2535 have the same contents as the old tarballs hosted on tuxfamily.
2536 The `make dist` target was changed to write files to a
2537 `git-cola-$version` subdirectory and tarball.
2539 This makes the filenames consistent for the source tarball,
2540 the darwin .app tarball, and the win32 .exe installer.
2546 Usability, bells and whistles
2547 -----------------------------
2548 * Refined the staging/unstaging behavior for code reviews.
2550 https://github.com/git-cola/git-cola/issues/97
2552 * Added more styling and icons to menus and buttons.
2554 * Adjusted some terminology to more closely match the git CLI.
2558 * Boolean `git config` settings with no value are now supported
2559 (these are not created by git these days but exist in legacy repositories).
2561 * Unicode branches and tags are supported in the "branch diff" tool.
2563 * Guard against low-memory conditions and more interrupted system calls.
2567 * Added desktop launchers for git-cola.desktop and git-dag.desktop.
2568 This replaces the old cola.desktop, so some adjustments to RPM .spec
2569 and debian/ files will be needed.
2571 * Fixed the darwin app-tarball Makefile target to create relative paths.
2575 * The `--style` option was removed. `git cola` follows the system theme
2576 so there's no need for this option these days.
2582 Usability, bells and whistles
2583 -----------------------------
2584 * Export a patch series from `git dag` into a `patches/` directory.
2586 * `git dag` learned to diff commits, slice history along paths, etc.
2588 * Added instant-preview to the `git stash` widget.
2590 * A simpler preferences editor is used to edit `git config` values.
2592 https://github.com/git-cola/git-cola/issues/90
2594 https://github.com/git-cola/git-cola/issues/89
2596 * Previous commit messages can be re-loaded from the message editor.
2598 https://github.com/git-cola/git-cola/issues/33
2602 * Display commits with no file changes.
2604 https://github.com/git-cola/git-cola/issues/82
2606 * Improved the diff editor's copy/paste behavior
2608 https://github.com/git-cola/git-cola/issues/90
2612 * Bumped version number to ceil(minimum git version).
2613 `git cola` now requires `git` >= 1.6.3.
2615 * Simplified git-cola's versioning when building from tarballs
2616 outside of git. We no longer check for a 'version' file at
2617 the root of the repository. We instead keep a default version
2618 in `cola/version.py` and use it when `git cola`'s `.git` repository
2625 Usability, bells and whistles
2626 -----------------------------
2627 * inotify is much snappier and available on Windows
2628 thanks to Karl Bielefeldt.
2630 * New right-click command to add untracked files to .gitignore
2631 thanks to Audrius Karabanovas.
2633 * Stash, fetch, push, and pull usability improvements
2635 * General usability improvements
2637 * stderr is logged when applying partial diffs.
2641 * Files can be unstaged when amending.
2643 https://github.com/git-cola/git-cola/issues/82
2645 * Show the configured remote.$remote.pushurl in the GUI
2647 https://github.com/git-cola/git-cola/issues/83
2649 * Removed usage of the "user" module.
2651 https://github.com/git-cola/git-cola/issues/86
2653 * Avoids an extra `git update-index` call during startup.
2660 Usability, bells and whistles
2661 -----------------------------
2662 * We now provide better feedback when `git push` fails.
2664 https://github.com/git-cola/git-cola/issues/69
2666 * The Fetch, Push, and Pull dialogs now give better feedback
2667 when interacting with remotes. The dialogs are modal and
2668 a progress dialog is used.
2672 * More unicode fixes, again. It is now possible to have
2673 unicode branch names, repository paths, home directories, etc.
2674 This continued the work initiated by Redhat's bugzilla #694806.
2676 https://bugzilla.redhat.com/show_bug.cgi?id=694806
2682 Usability, bells and whistles
2683 -----------------------------
2684 * The `git cola` desktop launchers now prompt for a repo
2685 by default. This is done by using the new `--prompt`
2686 flag which tells `git cola` to ignore any git repositories
2687 in the current directory and prompt for one instead.
2691 * More Unicode fixes for repositories and home directories with
2692 embedded unicode characters. Thanks to Christian Jann for
2693 patience and helpful bug reports.
2695 * Fix the 'Clone' button in the startup dialog.
2701 Usability, bells and whistles
2702 -----------------------------
2703 * Faster startup time! `git cola` now offloads initialization
2704 to a background thread so that the GUI appears almost instantly.
2706 * Specialized diff options for p4merge, vimdiff, araxis, emerge,
2707 and ecmerge in difftool (backported from git.git).
2711 * Fix launching commands in the background on Windows
2712 (e.g. when launching `git difftool`).
2714 * Fix unicode errors when home or repository directories contain
2717 https://github.com/git-cola/git-cola/issues/74
2719 Redhat's bugzilla #694806
2721 https://bugzilla.redhat.com/show_bug.cgi?id=694806
2727 Usability, bells and whistles
2728 -----------------------------
2729 * The `cola classic` tool can be now configured to be dockable.
2731 https://github.com/git-cola/git-cola/issues/56
2733 * The `cola classic` tool now uses visual sigils to indicate a file's status.
2734 The idea and icons were provided by Uri Okrent.
2736 * Include the 'Rescan' button in the 'Actions' widget regardless
2737 of whether inotify is installed.
2741 * Fix installation of translations per Fedora
2742 This incorporates Fedora's fix for the translations path
2743 which originally appeared in cola-1.4.3-translations.patch.
2745 * Mac OS X git-cola developers can now generate git-cola.app
2746 application bundles using 'make app-bundle'.
2750 * Fixed a stacktrace when trying to use "Get Commit Message Template"
2751 with an unconfigured "commit.template" git config variable.
2753 https://github.com/git-cola/git-cola/issues/72
2755 This bug originated in Redhat's bugzilla #675721 via a Fedora user.
2757 https://bugzilla.redhat.com/show_bug.cgi?id=675721
2759 * Properly raise the main window on Mac OS X.
2761 * Properly handle staging a huge numbers of files at once.
2763 * Speed up 'git config' usage by fixing cola's caching proxy.
2765 * Guard against damaged ~/.cola files.
2771 Usability, bells and whistles
2772 -----------------------------
2773 * `git dag` now has a separate display area
2774 for displaying commit metadata. This area will soon
2775 grow additional functionality such as cherry-picking,
2780 * Fixed tests from a previous refactoring.
2782 * Guard against 'diff.external' configuration by always
2783 calling 'git diff' with the '--no-ext-diff' option.
2785 https://github.com/git-cola/git-cola/issues/67
2787 * Respect 'gui.diffcontext' so that cola's diff display
2788 shows the correct number of context lines.
2790 * Raise the GUI so that it is in the foreground on OS X.
2794 * We now allow distutils to rewrite cola's shebang line.
2795 This allows us to run on systems where "which python"
2796 is Python3k. This is exposed by setting the `PYTHON`
2797 Makefile variable to the location of python2.x.
2799 * git-cola.app is now a tiny download because it no longer
2800 contains Qt and PyQt. These libraries are provided as a
2803 http://code.google.com/p/git-cola/downloads/list
2809 Usability, bells and whistles
2810 -----------------------------
2811 * Clicking on paths in the status widget copies them into the
2812 copy/paste buffer for easy middle-clicking into terminals.
2814 * `Ctrl+C` in diff viewer copies the selected diff to the clipboard.
2818 * Fixed the disappearing actions buttons on PyQt 4.7.4
2819 as reported by Arch and Ubuntu 10.10.
2821 https://github.com/git-cola/git-cola/issues/62
2823 * Fixed mouse interaction with the status widget where some
2824 items could not be de-selected.
2828 * Removed hard-coded reference to lib/ when calculating Python's
2829 site-packages directory.
2835 Usability, bells and whistles
2836 -----------------------------
2837 * Removed "single-click to (un)stage" in the status view.
2838 This is a usability improvement since we no longer perform
2839 different actions depending on where a row is clicked.
2841 * Added ability to create unsigned, annotated tags.
2845 * Updated documentation to use `cola.git` instead of `cola.gitcmd`.
2851 Usability, bells and whistles
2852 -----------------------------
2853 * Allow un/staging by right-clicking top-level items
2855 https://github.com/git-cola/git-cola/issues/57
2857 * Running 'commit' with no staged changes prompts to allow
2860 https://github.com/git-cola/git-cola/issues/55
2862 * Fetch, Push, and Pull are now available via the menus
2864 https://github.com/git-cola/git-cola/issues/58
2868 * Simplified the actions widget to work around a regression
2871 https://github.com/git-cola/git-cola/issues/62
2877 Usability, bells and whistles
2878 -----------------------------
2879 * `git dag` interaction was made faster.
2883 * Added '...' indicators to the buttons for
2884 'Fetch...', 'Push...', 'Pull...', and 'Stash...'.
2886 https://github.com/git-cola/git-cola/issues/51
2888 * Fixed a hang-on-exit bug in the cola-provided
2889 'ssh-askpass' implementation.
2895 Usability, bells and whistles
2896 -----------------------------
2897 * Staging and unstaging is faster.
2899 https://github.com/git-cola/git-cola/issues/48
2901 * `git dag` reads history in a background thread.
2905 * Added :data:`cola.compat.hashlib` for `Python 2.4` compatibility
2906 * Improved `PyQt 4.1.x` compatibility.
2910 * Configured menu actions use ``sh -c`` for Windows portability.
2917 Usability, bells and whistles
2918 -----------------------------
2919 * Added support for the configurable ``guitool.<tool>.*``
2920 actions as described in ``git-config(1)``.
2922 https://github.com/git-cola/git-cola/issues/44
2924 http://schacon.github.com/git/git-config.html
2926 This makes it possible to add new actions to `git cola`
2927 by simply editing ``~/.gitconfig``. This implements the
2928 same guitool support as `git gui`.
2929 * Introduced a stat cache to speed up `git config` and
2930 repository status checks.
2931 * Added Alt-key shortcuts to the main `git cola` interface.
2932 * The `Actions` dock widget switches between a horizontal
2933 and vertical layout when resized.
2934 * We now use ``git diff --submodule`` for submodules
2935 (used when git >= 1.6.6).
2936 * The context menu for modified submodules includes an option
2937 to launch `git cola`.
2939 https://github.com/git-cola/git-cola/issues/17
2941 * Prefer ``$VISUAL`` over ``$EDITOR`` when both are defined.
2942 These are used to set a default editor in lieu of `core.editor`
2944 * Force the editor to be ``gvim`` when we see ``vim``.
2945 This prevents us from launching an editor in the (typically
2946 unattached) parent terminal and creating zombie editors
2947 that cannot be easily killed.
2948 * Selections are remembered and restored across updates.
2949 This makes the `partial-staging` workflow easier since the
2950 diff view will show the updated diff after staging.
2951 * Show the path to the current repository in a tooltip
2952 over the commit message editor.
2954 https://github.com/git-cola/git-cola/issues/45
2956 * Log internal ``git`` commands when ``GIT_COLA_TRACE`` is defined.
2958 https://github.com/git-cola/git-cola/issues/39
2962 * Improved backwards compatibility for Python 2.4.
2963 * `Review mode` can now review the current branch; it no longer
2964 requires you to checkout the branch into which the reviewed
2965 branch will be merged.
2966 * Guard against `color.ui = always` configuration when using
2967 `git log` by passing ``--no-color``.
2968 * ``yes`` and ``no`` are now supported as valid booleans
2969 by the `git config` parser.
2970 * Better defaults are used for `fetch`, `push`, and `pull`..
2972 https://github.com/git-cola/git-cola/issues/43
2976 * Removed colon (`:`) from the applilcation name on Windows
2978 https://github.com/git-cola/git-cola/issues/41
2980 * Fixed bugs with the Windows installer
2982 https://github.com/git-cola/git-cola/issues/40
2984 * Added a more standard i18n infrastructure. The install
2985 tree now has the common ``share/locale/$lang/LC_MESSAGES/git-cola.mo``
2986 layout in use by several projects.
2988 * Started trying to accommodate Mac OSX 10.6 (Snow Leopard)
2989 in the ``darwin/`` build scripts but our tester is yet to
2990 report success building a `.app` bundle.
2992 * Replaced use of ``perl`` in Sphinx/documentation Makefile
2993 with more-portable ``sed`` constructs. Thanks to
2994 Stefan Naewe for discovering the portability issues and
2995 providing msysgit-friendly patches.
3001 Usability, bells and whistles
3002 -----------------------------
3003 * It is now possible to checkout from the index as well
3004 as from `HEAD`. This corresponds to the
3005 `Removed Unstaged Changes` action in the `Repository Status` tool.
3006 * The `remote` dialogs (fetch, push, pull) are now slightly
3008 * Bookmarks can be selected when `git cola` is run outside of a git repository.
3009 * Added more user documentation. We now include many links to
3010 external git resources.
3011 * Added `git dag` to the available tools.
3012 `git dag` is a node-based DAG history browser.
3013 It doesn't do much yet, but it's been merged so that we can start
3014 building and improving upon it.
3018 * Fixed a missing ``import`` when showing `right-click` actions
3019 for unmerged files in the `Repository Status` tool.
3020 * ``git update-index --refresh`` is no longer run every time
3021 ``git cola version`` is run.
3022 * Don't try to watch non-existent directories when using `inotify`.
3023 * Use ``git rev-parse --symbolic-full-name`` plumbing to find
3024 the name of the current branch.
3028 * The ``Makefile`` will now conditionally include a ``config.mak``
3029 file located at the root of the project. This allows for user
3030 customizations such as changes to the `prefix` variable
3031 to be stored in a file so that custom settings do not need to
3032 be specified every time on the command-line.
3033 * The build scripts no longer require a ``.git`` directory to
3034 generate the ``builtin_version.py`` module. The release tarballs
3035 now include a ``version`` file at the root of the project which
3036 is used in lieu of having the git repository available.
3037 This allows for ``make clean && make`` to function outside of
3039 * Added maintainer's ``make dist`` target to the ``Makefile``.
3040 * The built-in `simplejson` and `jsonpickle` libraries can be
3041 excluded from ``make install`` by specifying the ``standalone=true``
3042 `make` variable. For example, ``make standalone=true install``.
3043 This corresponds to the ``--standalone`` option to ``setup.py``.
3050 Usability, bells and whistles
3051 -----------------------------
3052 * We now use patience diff by default when it is available via
3053 `git diff --patience`.
3054 * Allow closing the `cola classic` tool with `Ctrl+W`.
3058 * Fixed an unbound variable error in the `push` dialog.
3062 * Don't include `simplejson` in MANIFEST.in.
3063 * Update desktop entry to read `Cola Git GUI`.
3070 This feature release adds two new features directly from
3071 `git cola`'s github issues backlog. On the developer
3072 front, further work was done towards modularizing the code base.
3074 Usability, bells and whistles
3075 -----------------------------
3076 * Dragging and dropping patches invokes `git am`
3078 https://github.com/git-cola/git-cola/issues/3
3080 * A dialog to allow opening or cloning a repository
3081 is presented when `git cola` is launched outside of a git repository.
3083 https://github.com/git-cola/git-cola/issues/22
3085 * Warn when `push` is used to create a new branch
3087 https://github.com/git-cola/git-cola/issues/35
3089 * Optimized startup time by removing several calls to `git`.
3094 * `git cola` is once again compatible with PyQt 4.3.x.
3098 * `cola.gitcmds` was added to factor out git command-line utilities
3099 * `cola.gitcfg` was added for interacting with `git config`
3100 * `cola.models.browser` was added to factor out repobrowser data
3110 * Fix launching external applications on Windows
3111 * Ensure that the `amend` checkbox is unchecked when switching modes
3112 * Update the status tree when amending commits
3121 * Fix Lintian warnings
3130 * Fix X11 warnings on application startup
3139 * Added missing 'Exit Diff Mode' button for 'Diff Expression' mode
3141 https://github.com/git-cola/git-cola/issues/31
3143 * Fix a bug when initializing fonts on Windows
3145 https://github.com/git-cola/git-cola/issues/32
3154 * Keep entries in sorted order in the `cola classic` tool
3155 * Fix staging untracked files
3157 https://github.com/git-cola/git-cola/issues/27
3159 * Fix the `show` command in the Stash dialog
3161 https://github.com/git-cola/git-cola/issues/29
3163 * Fix a typo when loading merge commit messages
3165 https://github.com/git-cola/git-cola/issues/30
3172 This release focuses on a redesign of the git-cola user interface,
3173 a tags interface, and better integration of the `cola classic` tool.
3174 A flexible interface based on configurable docks is used to manage the
3175 various cola widgets.
3177 Usability, bells and whistles
3178 -----------------------------
3179 * New GUI is flexible and user-configurable
3180 * Individual widgets can be detached and rearranged arbitrarily
3181 * Add an interface for creating tags
3182 * Provide a fallback `SSH_ASKPASS` implementation to prompt for
3183 SSH passwords on fetch/push/pull
3184 * The commit message editor displays the current row/column and
3185 warns when lines get too long
3186 * The `cola classic` tool displays upstream changes
3187 * `git cola --classic` launches `cola classic` in standalone mode
3188 * Provide more information in log messages
3192 * Inherit the window manager's font settings
3193 * Miscellaneous PyQt4 bug fixes and workarounds
3197 * Removed all usage of Qt Designer `.ui` files
3198 * Simpler model/view architecture
3199 * Selection is now shared across tools
3200 * Centralized notifications are used to keep views in sync
3201 * The `cola.git` command class was made thread-safe
3202 * Less coupling between model and view actions
3203 * The status view was rewritten to use the MVC architecture
3204 * Added more documentation and tests
3211 Usability, bells and whistles
3212 -----------------------------
3213 * Added a `cola classic` tool for browsing the entire repository
3214 * Handle diff expressions with spaces
3215 * Handle renamed files
3219 * Handle carat `^` characters in diff expressions on Windows
3220 * Worked around a PyQt 4.5/4.6 QThreadPool bug
3224 * Added a keyboard shortcuts reference page
3225 * Added developer API documentation
3229 * Fix the diff expression used when reviewing branches
3230 * Fix a bug when pushing branches
3231 * Fix X11 warnings at startup
3232 * Fix more interrupted system calls on Mac OS X
3239 Usability, bells and whistles
3240 -----------------------------
3241 * Fresh and tasty SVG logos
3242 * Added `Branch Review` mode for reviewing topic branches
3243 * Added diff modes for diffing between tags, branches,
3244 or arbitrary `git diff` expressions
3245 * The push dialog selects the current branch by default.
3246 This is in preparation for `git 1.7.0` where unconfigured `git push`
3247 will refuse to push when run without specifying the remote name
3248 and branch. See the `git` release notes for more information
3249 * Support `open` and `clone` commands on Windows
3250 * Allow saving cola UI layouts
3251 * Re-enabled `double-click-to-stage` for unmerged entries.
3252 Disabling it for unmerged items was inconsistent, though safer.
3253 * Show diffs when navigating the status tree with the keyboard
3257 * Worked around `pyuic4` bugs in the `setup.py` build script
3258 * Added Mac OSX application bundles to the download page
3267 * `git difftool` became an official git command in `git 1.6.3`.
3268 * `git difftool` learned `--no-prompt` / `-y` and a corresponding
3269 `difftool.prompt` configuration variable
3271 Usability, bells and whistles
3272 -----------------------------
3273 * Warn when `non-fast-forward` is used with fetch, push or pull
3274 * Allow `Ctrl+C` to exit cola when run from the command line
3278 * Support Unicode font names
3279 * Handle interrupted system calls
3283 * `PEP-8`-ified more of the cola code base
3288 * All resources are now installed into `$prefix/share/git-cola`.
3289 Closed Debian bug #519972
3291 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=519972
3300 * Added support for Kompare in `git difftool`
3301 * Added a separate configuration namespace for `git difftool`
3302 * Added the `diff.tool` configuration variable to define the default diff tool
3304 Usability, bells and whistles
3305 -----------------------------
3306 * The stash dialog allows passing the `--keep-index` option to `git stash`
3307 * Amending a published commit warns at commit time
3308 * Simplified the file-across-revisions comparison dialog
3309 * `origin` is selected by default in fetch/push/pull
3310 * Removed the search field from the log widget
3311 * The log window moved into a drawer widget at the bottom of the UI
3312 * Log window display can be configured with
3313 `cola.showoutput` = `{never, always, errors}`. `errors` is the default.
3314 * `NOTE` -- `cola.showoutput` was removed with the GUI rewrite in 1.4.0.
3318 * Improved nose unittest usage
3322 * Added a Windows/msysGit installer
3323 * Included private versions of `simplejson` and `jsonpickle`
3324 for ease of installation and development