Hello community, here is the log from the commit of package gitg for openSUSE:Factory checked in at 2019-06-26 16:04:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gitg (Old) and /work/SRC/openSUSE:Factory/.gitg.new.4615 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gitg" Wed Jun 26 16:04:57 2019 rev:51 rq:712092 version:3.32.0 Changes: -------- --- /work/SRC/openSUSE:Factory/gitg/gitg.changes 2019-06-20 18:55:58.720893359 +0200 +++ /work/SRC/openSUSE:Factory/.gitg.new.4615/gitg.changes 2019-06-26 16:05:29.651753358 +0200 @@ -1,0 +2,6 @@ +Wed Jun 26 01:27:17 UTC 2019 - Dead Mozay <[email protected]> + +- Add gitg-repository-being-null.patch: Support repository being + null (boo#1137583, gl#GNOME/gitg#213). + +------------------------------------------------------------------- New: ---- gitg-repository-being-null.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gitg.spec ++++++ --- /var/tmp/diff_new_pack.e39lWu/_old 2019-06-26 16:05:30.503754564 +0200 +++ /var/tmp/diff_new_pack.e39lWu/_new 2019-06-26 16:05:30.507754570 +0200 @@ -29,6 +29,8 @@ Patch0: gitg-typelib-dependencies.patch # PATCH-FIX-UPSTREAM gitg-port-to-gtksourceview4.patch -- Port to gtksourceview4 Patch1: gitg-port-to-gtksourceview4.patch +# PATCH-FIX-UPSTREAM gitg-repository-being-null.patch -- Support repository being null +Patch2: gitg-repository-being-null.patch BuildRequires: fdupes BuildRequires: meson ++++++ gitg-repository-being-null.patch ++++++ >From 72872eae15e1ab5a794f48d2e65f93da04527dc1 Mon Sep 17 00:00:00 2001 From: Gaurav Agrawal <[email protected]> Date: Fri, 24 May 2019 22:21:14 +0530 Subject: [PATCH] Support repository being null repository can be null, so is not correct to access to its properties without checking it. --- libgitg/gitg-diff-view-commit-details.vala | 88 +++++++++++----------- libgitg/gitg-diff-view.vala | 46 ++++++----- 2 files changed, 72 insertions(+), 62 deletions(-) diff --git a/libgitg/gitg-diff-view-commit-details.vala b/libgitg/gitg-diff-view-commit-details.vala index f90f1e41..df2cc865 100644 --- a/libgitg/gitg-diff-view-commit-details.vala +++ b/libgitg/gitg-diff-view-commit-details.vala @@ -281,65 +281,69 @@ class Gitg.DiffViewCommitDetails : Gtk.Grid private string parse_ini_file(string subject_text) { - string result = subject_text.dup(); - GLib.KeyFile file = new GLib.KeyFile(); - - try + string result = subject_text; + if (config_file!=null) { - debug ("parsing %s", config_file); - if (file.load_from_file(config_file , GLib.KeyFileFlags.NONE)) + try { - foreach (string group in file.get_groups()) + debug ("parsing %s", config_file); + GLib.KeyFile file = new GLib.KeyFile(); + if (file.load_from_file(config_file , GLib.KeyFileFlags.NONE)) { - if (group.has_prefix("gitg.custom-link")) + result = subject_text.dup(); + foreach (string group in file.get_groups()) { - string custom_link_regexp = file.get_string (group, "regexp"); - string custom_link_replacement = file.get_string (group, "replacement"); - debug ("found group: %s", custom_link_regexp); - bool custom_color = file.has_key (group, "color"); - string color = null; - if (custom_color) + if (group.has_prefix("gitg.custom-link")) { - string custom_link_color = file.get_string (group, "color"); - color = custom_link_color; - } + string custom_link_regexp = file.get_string (group, "regexp"); + string custom_link_replacement = file.get_string (group, "replacement"); + debug ("found group: %s", custom_link_regexp); + bool custom_color = file.has_key (group, "color"); + string color = null; + if (custom_color) + { + string custom_link_color = file.get_string (group, "color"); + color = custom_link_color; + } - var custom_regex = new Regex (custom_link_regexp); - try - { - GLib.MatchInfo matchInfo; + var custom_regex = new Regex (custom_link_regexp); + try + { + GLib.MatchInfo matchInfo; - custom_regex.match (subject_text, 0, out matchInfo); + custom_regex.match (subject_text, 0, out matchInfo); - while (matchInfo.matches ()) - { - string text = matchInfo.fetch(0); - string link = text.dup(); - debug ("found: %s", link); - if (custom_link_replacement != null) + while (matchInfo.matches ()) { - link = custom_regex.replace(link, text.length, 0, custom_link_replacement); + string text = matchInfo.fetch(0); + string link = text.dup(); + debug ("found: %s", link); + if (custom_link_replacement != null) + { + link = custom_regex.replace(link, text.length, 0, custom_link_replacement); + } + if (color != null) { + result = result.replace(text, "<a href=\"%s\" title=\"%s\" style=\"color:%s\">%s</a>".printf(link, link, color, text)); + } else { + result = result.replace(text, "<a href=\"%s\" title=\"%s\">%s</a>".printf(link, link, text)); + } + + matchInfo.next(); } - if (color != null) { - result = result.replace(text, "<a href=\"%s\" title=\"%s\" style=\"color:%s\">%s</a>".printf(link, link, color, text)); - } else { - result = result.replace(text, "<a href=\"%s\" title=\"%s\">%s</a>".printf(link, link, text)); - } - - matchInfo.next(); } - } - catch(Error e) - { + catch(Error e) + { + } } } } + } catch (Error e) + { + warning ("Cannot read %s %s", config_file, e.message); } - } catch (Error e) - { - warning ("Cannot read %s %s", config_file, e.message); } return result; + } private void update_avatar() diff --git a/libgitg/gitg-diff-view.vala b/libgitg/gitg-diff-view.vala index b5ae0c8b..aa89b243 100644 --- a/libgitg/gitg-diff-view.vala +++ b/libgitg/gitg-diff-view.vala @@ -131,8 +131,11 @@ public class Gitg.DiffView : Gtk.Grid get { return d_repository; } set { d_repository = value; - config_file = "%s/.git/config".printf(d_repository.get_workdir().get_path()); - d_commit_details.config_file = config_file; + if (d_repository!=null) + { + config_file = "%s/.git/config".printf(d_repository.get_workdir().get_path()); + d_commit_details.config_file = config_file; + } } } public bool new_is_workdir { get; set; } @@ -593,34 +596,37 @@ public class Gitg.DiffView : Gtk.Grid private void read_ini_file(Gtk.TextBuffer buffer) { - GLib.KeyFile file = new GLib.KeyFile(); - - try + if (config_file != null) { - if (file.load_from_file(config_file , GLib.KeyFileFlags.NONE)) + try { - foreach (string group in file.get_groups()) + GLib.KeyFile file = new GLib.KeyFile(); + if (file.load_from_file(config_file , GLib.KeyFileFlags.NONE)) { - if (group.has_prefix("gitg.custom-link")) + foreach (string group in file.get_groups()) { - string custom_link_regexp = file.get_string (group, "regexp"); - string custom_link_replacement = file.get_string (group, "replacement"); - bool custom_color = file.has_key (group, "color"); - Gdk.RGBA color = d_color_link; - if (custom_color) + if (group.has_prefix("gitg.custom-link")) { - string custom_link_color = file.get_string (group, "color"); - color = Gdk.RGBA(); - color.parse(custom_link_color); + string custom_link_regexp = file.get_string (group, "regexp"); + string custom_link_replacement = file.get_string (group, "replacement"); + bool custom_color = file.has_key (group, "color"); + Gdk.RGBA color = d_color_link; + if (custom_color) + { + string custom_link_color = file.get_string (group, "color"); + color = Gdk.RGBA(); + color.parse(custom_link_color); + } + apply_link_tags(buffer, new Regex (custom_link_regexp), custom_link_replacement, color, custom_color, true); } - apply_link_tags(buffer, new Regex (custom_link_regexp), custom_link_replacement, color, custom_color, true); } } + } catch (Error e) + { + warning ("Cannot read %s: %s", config_file, e.message); } - } catch (Error e) - { - warning ("Cannot read %s: %s", config_file, e.message); } + } private void auto_change_expanded(bool expanded) -- 2.21.0
