From b6205ec132ae16bcda870c221d3f68f43ffbe0b0 Mon Sep 17 00:00:00 2001
From: David Aguilar Release NotesReleases
Development versiongit clone https://gitlab.com/git-cola/git-cola.git
Qt6 support was improved for the Recent and Favorites filters.
The repository selection startup dialog was updated to work on Qt6/PyQt6. (#1422)
The Reset actions now remember the last value used. (#1406)
Updated Japanese translation. (#1411)
The Ctrl+C
“Copy Diff” hotkey was restored in the DAG diff viewer.
(#1412)
The clone dialog now defaults to cloning into the parent directory by default. (#1402)
The Rebase editor is now aware of the drop
, break
, label
, merge
and reset
commands that were added in recent versions of Git.
Pre-commits hooks were updated. (#1396)
The importlib_metadata dependency which was restored for Python 3.8 and earlier to retain Python 3.7 support. The use of setuptools_scm 8.0 and newer to generate @@ -414,9 +423,9 @@
The Fetch dialog can now fetch directly into a remote tracking branch. Previously, fetching just a remote branch would fetch it into FETCH_HEAD, @@ -433,8 +442,8 @@
The importlib_metadata dependency, which was previously required for Python 3.8 and earlier, has been eliminated.
launchable tags were added to the flatpak app metainfo files.
The Rebase editor (git-cola-sequence-editor) can now add “remarks” to commits. Remarks are simple numbered flags (0-9) that allow you to mark commits. This lets @@ -487,15 +496,15 @@
The file system monitor was corrected to catch PermissionError exceptions. (bz #2260155)
“Stage Modified” was added to the available toolbar actions. (#1371)
PyQt6 compatibility for the “Find in diff” feature.
PyQt6 compatibility for the git dag
Gravatar icons.
Updated Polish translation. (#1368)
upload-artifact and setup-python github actions were upgraded.
The remote messages dialog is now displayed for the Pull and Push actions in the Branches widget only. This dialog is disabled by default and enabled in the @@ -585,17 +594,17 @@
PyQt6 compatibility was improved.
Git Cola now preserves # commentary in commit messages by default. The commit.cleanup Git configuration variable can be used to @@ -630,8 +639,8 @@
cercis is now being used to enforce Git Cola’s python code style. We were previously disabling quote normalization @@ -661,16 +670,16 @@
The minimum font size can now be set lower, which is helpful for Hi-DPI displays. (#1342)
Flashing windows during startup on Windows has been fixed. (#1329)
The pypi wheel was fixed to include entry_points.txt.
The “Revert” command was throwing an exception after successfully completing.
git dag now displays commit metadata more similarly to git log. The commit date is now displayed and the subject field is displayed @@ -723,15 +732,15 @@
QApplication::desktop()
is no longer available on PyQt6.
Git Cola no longer relies on this method.
Git Cola can now be installed on Windows using winget.
See the README.md
file for more details.
@@ -740,9 +749,9 @@
The Diff Editor can now send diffs to your favorite editor before the diffs are applied. The right-click “Edit Diff …” menu actions and the Ctrl + Shift + S / @@ -847,8 +856,8 @@
The rebase editor was taught to handle stacked branch workflows enabled by
git rebase --update-refs
. The git cola rebase
sub-command now has
@@ -872,8 +881,8 @@
PyQt6 is now officially supported. (#1211) @@ -881,8 +890,8 @@
Fixes and updates to Git Cola’s CI actions. (#1278) @@ -891,9 +900,9 @@
The branches widget no longer loses its selection state in response to notifications and UI actions. @@ -915,8 +924,8 @@
The .po and .pot files now contain location information. (#880)
The Rebase editor (git-cola-sequence-editor) now supports multi-select. Use Shift-{Up,Down} to select multiple lines and the keyboard hotkeys @@ -972,8 +981,8 @@
Updated Spanish translation. (#1244)
Building documentation offline is supported again. (#1250)
We now guard against locale.getdefaultlocale() returning None in some configurations, notably on macOS if none of ‘LC_ALL’, ‘LC_CTYPE’, ‘LANG’ or ‘LANGUAGE’ @@ -1032,7 +1041,7 @@
These changes are primarily breaking changes for packagers of Git Cola. @@ -1067,8 +1076,8 @@
Custom UI themes can be used by adding *.qss Qt stylesheet files to ~/.config/git-cola/themes/. @@ -1079,8 +1088,8 @@
Staging conflicted binary files has been fixed to avoid Unicode decoding errors. (#1189)
vcruntime140.dll and msvcp140.dll are now included in the Windows installation. (#1207)
The git config guitool action can now be grouped under user-defined menus.
This is done by using slash (/
) delimiters in the action name.
@@ -1126,8 +1135,8 @@
Updated Polish translation. (#1184)
Git Cola now uses Github Actions for running its continuous integration tests. (#1179)
The argparse usage was adjusted to remain compatible with older Pythons. (#1155)
The Windows installer was slimmed down by removing unused Qt DLLs. (#1152)
Patch release to fix a typo in the Interactive Rebase feature.
The git config reader now supports the include.path directive for including config files. @@ -1242,15 +1251,15 @@
Updated Hungarian translation. (#1135)
Git Cola can now be started as a Python module. (#1119)
The startup dialog now detects when Recent and Favorite repositories no longer exist on disk, and offers to remove these entries when selected. @@ -1285,8 +1294,8 @@
Updated Polish translation. (#1107)
The --use-env-python
option for setup.py
is now Python3 compatible.
(#1102)
The submodules widget can now be used to add submodules. Submodules are now updated recursively. @@ -1322,8 +1331,8 @@
Updated Polish translation. (#1076)
The share/appdata AppStream data was renamed to share/metainfo in accordance with AppStream standard changes from 2016. @@ -1354,8 +1363,8 @@
git dag now uses integer widths when initializing its brushes. (#1080)
The git-xbase
rebase editor now includes a file list for filtering
the changes displayed in the diff view.
@@ -1390,15 +1399,15 @@
Updated Polish translation. (#1033)
git-dag.appdata.xml
was updated to allow network access for author icons.
(#1050)
The remote editor is much faster since it no longer queries remotes, and uses the cached information instead. @@ -1450,8 +1459,8 @@
Better support for Python 3.8’s line buffering modes. (#1014)
The share/git-cola/bin/git-xbase script will now have its #! lines updated during installation. (#991)
The unit tests were made more platform-independent. (#993)
Auto-completion for filenames can now be disabled. This speeds up revision completion when working in large repositories with many files. @@ -1518,8 +1527,8 @@
The vendored qtpy library was updated to v1.9.
The file browser now includes “Blame” in its context menu. (#953)
git dag improved how it renders parent commits. (#921)
Launching external programs has been improved on Windows. (#925)
The vendored qtpy library was updated to v1.6.
The Windows installer’s wrapper scripts were missing an import. @@ -1696,9 +1705,9 @@
The git cola dag DAG window now supports git revert. (#843)
Updated Brazilian translation. (#845)
The code base has been thoroughly sanitized using pylint, and Travis is now running pylint over the entire project.
The “Browser” widget learned to rename files using “git mv”. (#239)
The vendored qtpy library was updated to v1.3.1.
The macOS installation was made simpler for better compatibility with @@ -1892,8 +1901,8 @@
Uninitialized difftool errors will now be displayed graphically. They were previously going to the shell. @@ -1931,9 +1940,9 @@
Updated Simplified Chinese translation. (#726)
git dag now prevents nodes from overlapping in more situations. (#689)
git cola’s spellchecker now supports the new dict-common filesystem layout, and prefers the /usr/share/dict/cracklib-small file over the @@ -2134,9 +2143,9 @@
git cola can now invoke the .git/hooks/cola-prepare-commit-msg hook to update the commit message. This hook takes the same parameters @@ -2149,14 +2158,14 @@
Traditional Chinese (Taiwan) translation updates.
appdata.xml files are now provided at share/appdata/git-cola.xml and share/appdata/git-dag.xml @@ -2182,9 +2191,9 @@
The “Open Recent” menu was updated to new bookmarks format. (#628)
New Polish translation thanks to Łukasz Wojniłowicz (#598)
git cola browse was not updating when expanding items. (#588)
git cola push learned to configure upstream branches. (#563)
The diffstat view is now properly updated when notifications are received via inotify filesystem monitoring. @@ -2295,9 +2304,9 @@
The unittest.mock module is now used instead of the original mock module when running the git cola test suite using Python3. (#569)
git cola is now compatible with PyQt5, PyQt4, and Pyside. git cola previously supported PyQt4 only, but will now use whichever @@ -2342,9 +2351,9 @@
A new “Reset” sub-menu provides access to running “git reset –mixed” when resetting branch heads and “git reset –merge” when resetting @@ -2355,8 +2364,8 @@
It is now possible to install git cola to and from UTF-8-encoded filesystem paths. Previously, Python’s stdlib would throw an encoding error during @@ -2386,9 +2395,9 @@
The icon for untracked files was adjusted to better differentiate between files and the “Untracked” header. @@ -2419,8 +2428,8 @@
xfce4-terminal and gnome-terminal are now supported when launching git mergetool to resolve merges. These terminals require that the command @@ -2441,9 +2450,9 @@
The user interface is now HiDPI-capable. Git Cola now uses SVG icons, and its interface can be scaled by setting the GIT_COLA_SCALE @@ -2483,8 +2492,8 @@
git-cola’s documentation no longer uses an inter-sphinx link mapping to docs.python.org. This fixes warnings when building RPMs using koji, @@ -2518,9 +2527,9 @@
The Interactive Rebase feature now works on Windows! (#463)
Diff syntax highlighting was improved to handle more edge cases and false positives. @@ -2568,18 +2577,18 @@
Fixed the “Sign off” feature in the commit message editor.
Double-click will now choose a commit in the “Select commit” dialog.
git cola has a feature that reads .git/MERGE_MSG and friends for the @@ -2593,14 +2602,14 @@
Traditional Chinese (Taiwan) translation updates.
The stash viewer now uses git show --no-ext-diff
to avoid running
user-configured diff tools.
git cola moved from a 3-part version number to a simpler 2-part “vX.Y” version number. Most of our releases tend to contain new features.
Updated zh_TW translations.
git cola rebase now defaults to @{upstream}, and generally uses the same @@ -2662,8 +2671,8 @@
git cola will now allow starting an interactive rebase with a dirty worktree when rebase.autostash is set. @@ -2672,9 +2681,9 @@
A new “Find files” widget was added, and can be activated by using the Ctrl+t or t hotkeys.
git cola now passes –no-abbrev-commit to git log to override having log.abbrevCommit = true set in .gitconfig.
git dag now forwards all unknown arguments along to git log. (#389)
git dag was triggering a traceback on Fedora when parsing Git logs. (bz #181676)
The git-cola-folder-handler.desktop file handler was fixed to pass validation by desktop-file-validate. @@ -2770,17 +2779,17 @@
New hotkey: Ctrl+Shift+M merges branches.
New hotkey: Ctrl+R refreshes the DAG viewer. (#347)
The make install target now uses install instead of cp.
Updated Brazilian Portuguese translation.
The status and browse widgets now allow drag-and-drop into @@ -2827,8 +2836,8 @@
Newly added remotes are now properly seen by the fetch/push/pull dialogs. (#343)
New Brazilian Portuguese translation thanks to Vitor Lobo.
New Indonesian translation thanks to Samsul Ma’arif.
We now handle the case when inotify add_watch() fails and display instructions on how to increase the number of watches. @@ -2903,8 +2912,8 @@
We now use bold fonts instead of SmallCaps to avoid artifacts on several configurations.
git cola no longer prompts after successfully creating a new branch. (#251)
git dag no longer relies on sys.maxint, which is not available in Python3. @@ -2974,9 +2983,9 @@
Better inotify support for file creation and deletion. (#240)
Building the documentation no longer requires asciidoc. We now use Sphinx for building html documentation and man pages.
Reworked the git-dag gravatar icon code to avoid a Unicode error in Python 2.
git-cola no longer depends on Asciidoc for building its documentation and man-pages. We now depend on [Sphinx](https://www.sphinx-doc.org) only.
Some context menu actions are now hidden when selected files do not exist. (#238)
The build-git-cola.sh contrib script was improved. (#235)
i18n test fixes thanks to Virgil Dupras. (#231)
The new Bookmarks tool makes it really easy to switch between repositories.
There is now a dedicated dialog for applying patches. @@ -3073,8 +3082,8 @@
Fixed a typo that caused inotify events to be silently ignored.
Fixed the sys.path setup for Mac OS X (Homebrew). @@ -3084,9 +3093,9 @@
git cola –amend now starts the editor in amend mode. (#187)
Stray whitespace in .git files is now ignored. (#213)
Fix a traceback when git push fails. (bz #1034778)
Most of the git-cola sub-packages have been removed. The only remaining packages are cola, cola.models, @@ -3128,15 +3137,15 @@
git cola version –brief now prints the brief version number.
Resurrected the “make dist” target, for those that prefer to create their own tarballs.
We now ship a full-featured interactive git rebase editor. The rebase todo file is edited using the git xbase script which @@ -3167,25 +3176,25 @@
git cola now depends on the argparse Python module. This module is part of the stdlib in Python 2.7 and must be installed separately when using Python 2.6 and below.
Support Unicode in the output from fetch, push, and pull.
We now detect when the editor or history browser are misconfigured. (#197) @@ -3195,8 +3204,8 @@
Brand new German translation thanks to Sven Claussner.
The “File” menu now provides a “New Repository…” menu action.
Python 2.6 on Mac OS X Snow Leopard does not provide a namedtuple at sys.version_info. We now avoid using that variable for better @@ -3249,9 +3258,9 @@
The diff viewer now has an “Options” menu which can be used to set “git diff” options. This can be used to @@ -3269,8 +3278,8 @@
We now automatically remove missing repositories from the “Select Repository” dialog. @@ -3298,8 +3307,8 @@
Better error handling when cloning repositories.
We were not handling the case where a git URL has @@ -3330,9 +3339,9 @@
git dag got a big visual upgrade.
Ctrl+G now launches the “Grep” tool.
git cola learned to honor .gitattributes when showing and interactively applying diffs. This makes it possible to store @@ -3396,8 +3405,8 @@
Properly handle arbitrarily-named branches.
We went back to launching git mergetool using an xterm. @@ -3409,9 +3418,9 @@
New and improved grep mode lets you instantly find and edit files.
New git cola grep standalone mode.
Selecting an item no longer copies its filename to the copy/paste buffer. Ctrl + C or the “Copy” context-menu action can be used instead.
git dag learned to color-code branch edges. The edge colors change when a new branch is detected, @@ -3454,9 +3463,9 @@
Auto-completion was added to more tools.
git dag is easier to use on smaller displays – the author @@ -3472,9 +3481,9 @@
Detect Homebrew so that OS X users do not need to set PYTHONPATH.
git dag can export patches again.
The ‘Classic’ tool was renamed to ‘Browser’ and learned to limit history to the current branch.
git cola learned a few new sub commands:
The diff viewer no longer changes font size when holding Control while scrolling with the mouse wheel.
The cola.controllers and cola.views packages were removed.
git cola can now launch sub commands, e.g.:
Avoid updating the index when responding to inotify events. This avoids interfering with operations such as git rebase –interactive. (#99)
Create git-dag.pyw in the win32 installer.
win32 shortcuts now contain explicit calls to pythonw.exe instead of @@ -3595,17 +3604,17 @@
Further enhanced the staging/unstaging behavior in the status widget. (#97)
Unmerged files are no longer listed as modified.
The cola-$version tarballs on github were originally setup to have the same contents as the old tarballs hosted on tuxfamily. The make dist target was changed to write files to a @@ -3615,9 +3624,9 @@
Refined the staging/unstaging behavior for code reviews. (#97)
Boolean git config settings with no value are now supported (these are not created by git these days but exist in legacy repositories).
Guard against low-memory conditions and more interrupted system calls.
Added desktop launchers for git-cola.desktop and git-dag.desktop. This replaces the old cola.desktop, so some adjustments to RPM .spec @@ -3652,9 +3661,9 @@
Export a patch series from git dag into a patches/ directory.
git dag learned to diff commits, slice history along paths, etc.
Bumped version number to ceil(minimum git version). git cola now requires git >= 1.6.3.
inotify is much snappier and available on Windows thanks to Karl Bielefeldt.
We now provide better feedback when git push fails. (#69)
More Unicode fixes, again. It is now possible to have Unicode branch names, repository paths, home directories, etc. @@ -3739,9 +3748,9 @@
The git cola desktop launchers now prompt for a repo by default. This is done by using the new –prompt @@ -3749,8 +3758,8 @@
More Unicode fixes for repositories and home directories with embedded Unicode characters. Thanks to Christian Jann for @@ -3760,9 +3769,9 @@
Faster startup time! git cola now offloads initialization to a background thread so that the GUI appears almost instantly.
Fix launching commands in the background on Windows (e.g. when launching git difftool).
The cola classic tool can be now configured to be dock-able. (#56)
Fix installation of translations per Fedora This incorporates Fedora’s fix for the translations path @@ -3805,8 +3814,8 @@
Fixed an error when trying to use “Get Commit Message Template” with an undefined “commit.template” git config variable. @@ -3820,9 +3829,9 @@
git dag now has a separate display area for displaying commit metadata. This area will soon @@ -3830,8 +3839,8 @@
Fixed tests from a previous refactoring.
Guard against ‘diff.external’ configuration by always @@ -3842,8 +3851,8 @@
Raise the GUI so that it is in the foreground on OS X.
We now allow distutils to rewrite cola’s shebang line. This allows us to run on systems where “which python” @@ -3856,17 +3865,17 @@
Clicking on paths in the status widget copies them into the copy/paste buffer for easy middle-clicking into terminals.
Ctrl+C in diff viewer copies the selected diff to the clipboard.
Fixed the disappearing actions buttons on PyQt 4.7.4 as reported by Arch and Ubuntu 10.10. @@ -3875,8 +3884,8 @@
Removed hard-coded reference to lib/ when calculating Python’s site-packages directory.
Removed “single-click to (un)stage” in the status view. This is a usability improvement since we no longer perform @@ -3894,17 +3903,17 @@
Updated documentation to use cola.git instead of cola.gitcmd.
Simplified the actions widget to work around a regression in PyQt4 4.7.4. @@ -3925,15 +3934,15 @@
git dag interaction was made faster.
Added ‘…’ indicators to the buttons for ‘Fetch…’, ‘Push…’, ‘Pull…’, and ‘Stash…’. @@ -3944,33 +3953,33 @@
Staging and unstaging is faster. (#48)
git dag reads history in a background thread.
Added cola.compat.hashlib for Python 2.4 compatibility
Improved PyQt 4.1.x compatibility.
Configured menu actions use sh -c
for Windows portability.
Added support for the configurable guitool.<tool>.*
actions as described in the git config
documentation.
@@ -4007,8 +4016,8 @@
It is now possible to checkout from the index as well as from HEAD. This corresponds to the @@ -4061,8 +4070,8 @@
Fixed a missing import
when showing right-click actions
for unmerged files in the Repository Status tool.
The Makefile
will now conditionally include a config.mak
file located at the root of the project. This allows for user
@@ -4096,23 +4105,23 @@
We now use patience diff by default when it is available via git diff –patience.
Allow closing the cola classic tool with Ctrl+W.
Fixed an unbound variable error in the push dialog.
Don’t include simplejson in MANIFEST.in.
Update desktop entry to read Cola Git GUI.
This feature release adds two new features directly from git cola’s github issues backlog. On the developer front, further work was done towards modularizing the code base.
-Dragging and dropping patches invokes git am (#3)
git cola is once again compatible with PyQt 4.3.x.
Fix launching external applications on Windows
Ensure that the amend checkbox is unchecked when switching modes
Fix Lintian warnings
Fix X11 warnings on application startup
Keep entries in sorted order in the cola classic tool
Fix staging untracked files @@ -4210,13 +4219,13 @@
This release focuses on a redesign of the git-cola user interface, a tags interface, and better integration of the cola classic tool. A flexible interface based on configurable docks is used to manage the various cola widgets.
-New GUI is flexible and user-configurable
Individual widgets can be detached and rearranged arbitrarily
Inherit the window manager’s font settings
Miscellaneous PyQt4 bug fixes and workarounds
Removed all usage of Qt Designer .ui files
Simpler model/view architecture
Added a cola classic tool for browsing the entire repository
Handle diff expressions with spaces
Handle renamed files
Handle carat ^ characters in diff expressions on Windows
Worked around a PyQt 4.5/4.6 QThreadPool bug
Added a keyboard shortcuts reference page
Added developer API documentation
Fix the diff expression used when reviewing branches
Fix a bug when pushing branches
Fresh and tasty SVG logos
Added Branch Review mode for reviewing topic branches
Worked around pyuic4 bugs in the setup.py build script
Added Mac OS X application bundles to the download page
Warn when non-fast-forward is used with fetch, push or pull
Allow Ctrl+C to exit cola when run from the command line
Support Unicode font names
Handle interrupted system calls
More of the code base was updated to follow the PEP-8 coding style
Added more tests
Added support for Kompare in git difftool
Added a separate configuration namespace for git difftool
Added the diff.tool configuration variable to define the default diff tool
The stash dialog allows passing the –keep-index option to git stash
Amending a published commit warns at commit time
Improved nose unittest usage
Added a Windows/msysGit installer
Included private versions of simplejson and jsonpickle @@ -4445,594 +4454,598 @@