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



Reply via email to