Accepting request 902836 from home:tivo:branches:openSUSE:Factory

The latest kdiff3 currently shipped with Tumbleweed is unsuitable for everyday use. I, for example, use it as my go-to `git mergetool` and I need that a lot. And it must be reliable and not messing up merge-output. Since the upgrade from 1.8.4 to 1.9.2, many regressions have to be experienced, please see the list of fixed issues below. 

From a distribution point of view, I see two options: Fix-up 1.9.2 like proposed here, or (really!) downgrade to 1.8.5 until a new reliable 1.9 release comes out. I have contributed many fixes to upstream meanwhile.

- Remove GCC 11 build fix:
  * 0001-Explicitly-include-limits-for-compatibility-with-gcc.patch
    now contained in squashed patch
- Add collected fixes from upstream master:
  * 0001-Collected-fixes-from-master.patch
    contains the original and many more fixes:
    + misalignment and wrong conflict resolutions when using manual
      alignment markers
    + uninitialized variables causing crashes
    + hangs and crashes due to wrong loop conditions
    + wrong handling of new-line at end-of-file
    + spurious insertion of empty lines in merge result
    + access of uninitialized iterators causing crashes
    + wrong buffer length calculations causing out-of-bounds access
    + wrong bit-logic causing comments to always be treated as white-space
    + crashes when hitting a key on empty merge results
    + technical details allowing fixes to be cherry-picked

OBS-URL: https://build.opensuse.org/request/show/902836
OBS-URL: https://build.opensuse.org/package/show/KDE:Extra/kdiff3?expand=0&rev=31
This commit is contained in:
Christophe Giboudeaux 2021-06-29 06:37:21 +00:00 committed by Git OBS Bridge
parent b56c3bbcc3
commit df2e03d319
4 changed files with 1391 additions and 25 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,24 +0,0 @@
From 0476b1daa73159aec411c7f10da6f313294f0e38 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Holger=20Hoffst=C3=A4tte?= <holger@applied-asynchrony.com>
Date: Tue, 4 May 2021 19:21:46 +0200
Subject: [PATCH] Explicitly include <limits> for compatibility with gcc-11
---
src/TypeUtils.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/TypeUtils.h b/src/TypeUtils.h
index c072681..f0ab9c2 100644
--- a/src/TypeUtils.h
+++ b/src/TypeUtils.h
@@ -9,6 +9,7 @@
#include <stdlib.h>
#include <type_traits>
+#include <limits>
#include <QtGlobal>
--
2.31.1

View File

@ -1,3 +1,24 @@
-------------------------------------------------------------------
Mon Jun 28 13:10:55 UTC 2021 - Tilman Vogel <tilman.vogel@web.de>
- Remove GCC 11 build fix:
* 0001-Explicitly-include-limits-for-compatibility-with-gcc.patch
now contained in squashed patch
- Add collected fixes from upstream master:
* 0001-Collected-fixes-from-master.patch
contains the original and many more fixes:
+ misalignment and wrong conflict resolutions when using manual
alignment markers
+ uninitialized variables causing crashes
+ hangs and crashes due to wrong loop conditions
+ wrong handling of new-line at end-of-file
+ spurious insertion of empty lines in merge result
+ access of uninitialized iterators causing crashes
+ wrong buffer length calculations causing out-of-bounds access
+ wrong bit-logic causing comments to always be treated as white-space
+ crashes when hitting a key on empty merge results
+ technical details allowing fixes to be cherry-picked
-------------------------------------------------------------------
Fri May 28 12:37:13 UTC 2021 - Christophe Giboudeaux <christophe@krop.fr>

View File

@ -28,7 +28,7 @@ Source0: https://download.kde.org/stable/%{name}/%{name}-%{version}.tar.x
Source1: https://download.kde.org/stable/%{name}/%{name}-%{version}.tar.xz.sig
Source2: kdiff3.keyring
# PATCH-FIX-UPSTREAM
Patch0: 0001-Explicitly-include-limits-for-compatibility-with-gcc.patch
Patch0: 0001-Collected-fixes-from-master.patch
BuildRequires: boost-devel
BuildRequires: extra-cmake-modules
BuildRequires: fdupes