Hello community,

here is the log from the commit of package evolution-ews for openSUSE:Factory 
checked in at 2018-12-19 13:46:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/evolution-ews (Old)
 and      /work/SRC/openSUSE:Factory/.evolution-ews.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "evolution-ews"

Wed Dec 19 13:46:12 2018 rev:93 rq:657459 version:3.30.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/evolution-ews/evolution-ews.changes      
2018-11-20 22:30:12.930677459 +0100
+++ /work/SRC/openSUSE:Factory/.evolution-ews.new.28833/evolution-ews.changes   
2018-12-19 13:46:14.007550854 +0100
@@ -1,0 +2,8 @@
+Mon Dec 10 09:43:02 UTC 2018 - bjorn....@gmail.com
+
+- Update to version 3.30.3:
+  + Make sure intltool-merge cache is created only once.
+  + Calendar: Retry item download on ErrorBatchProcessingStopped
+    error.
+
+-------------------------------------------------------------------

Old:
----
  evolution-ews-3.30.2.tar.xz

New:
----
  evolution-ews-3.30.3.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ evolution-ews.spec ++++++
--- /var/tmp/diff_new_pack.G5WuIM/_old  2018-12-19 13:46:14.883549630 +0100
+++ /var/tmp/diff_new_pack.G5WuIM/_new  2018-12-19 13:46:14.887549625 +0100
@@ -19,7 +19,7 @@
 # _version needs to be %{version} stripped to major.minor.micro only...
 %define _version %(echo %{version} | grep -E -o '[0-9]+\.[0-9]+\.[0-9]+')
 Name:           evolution-ews
-Version:        3.30.2
+Version:        3.30.3
 Release:        0
 Summary:        Exchange Connector for Evolution, compatible with Exchange 
2007 and later
 License:        LGPL-2.1-only

++++++ evolution-ews-3.30.2.tar.xz -> evolution-ews-3.30.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.30.2/CMakeLists.txt 
new/evolution-ews-3.30.3/CMakeLists.txt
--- old/evolution-ews-3.30.2/CMakeLists.txt     2018-10-22 10:24:30.000000000 
+0200
+++ new/evolution-ews-3.30.3/CMakeLists.txt     2018-12-10 10:09:28.000000000 
+0100
@@ -4,7 +4,7 @@
 cmake_policy(VERSION 3.1)
 
 project(evolution-ews
-       VERSION 3.30.2
+       VERSION 3.30.3
        LANGUAGES C)
 set(PROJECT_BUGREPORT "https://gitlab.gnome.org/GNOME/evolution-ews/issues/";)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.30.2/NEWS 
new/evolution-ews-3.30.3/NEWS
--- old/evolution-ews-3.30.2/NEWS       2018-10-22 10:24:30.000000000 +0200
+++ new/evolution-ews-3.30.3/NEWS       2018-12-10 10:09:28.000000000 +0100
@@ -1,3 +1,12 @@
+Evolution-EWS 3.30.3 2018-12-10
+-------------------------------
+
+Bug Fixes:
+       I#17 - [Calendar] Retry item download on ErrorBatchProcessingStopped 
error (Milan Crha)
+
+Miscellaneous:
+       Make sure intltool-merge cache is created only once (Milan Crha)
+
 Evolution-EWS 3.30.2 2018-10-22
 -------------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/evolution-ews-3.30.2/cmake/modules/FindIntltool.cmake 
new/evolution-ews-3.30.3/cmake/modules/FindIntltool.cmake
--- old/evolution-ews-3.30.2/cmake/modules/FindIntltool.cmake   2018-10-22 
10:24:30.000000000 +0200
+++ new/evolution-ews-3.30.3/cmake/modules/FindIntltool.cmake   2018-12-10 
10:09:28.000000000 +0100
@@ -176,9 +176,18 @@
                        DEPENDS ${_in}
                )
        else(_has_no_translations)
+               if(NOT TARGET intltool-merge-cache)
+                       add_custom_command(OUTPUT 
${CMAKE_BINARY_DIR}/po/.intltool-merge-cache
+                               COMMAND ${INTLTOOL_MERGE} ${_args} --quiet 
--cache="${CMAKE_BINARY_DIR}/po/.intltool-merge-cache" "${GETTEXT_PO_DIR}" 
"${_in}" "${_out}"
+                               DEPENDS ${_in}
+                       )
+                       add_custom_target(intltool-merge-cache ALL
+                               DEPENDS 
${CMAKE_BINARY_DIR}/po/.intltool-merge-cache)
+               endif(NOT TARGET intltool-merge-cache)
+
                add_custom_command(OUTPUT ${_out}
                        COMMAND ${INTLTOOL_MERGE} ${_args} --quiet 
--cache="${CMAKE_BINARY_DIR}/po/.intltool-merge-cache" "${GETTEXT_PO_DIR}" 
"${_in}" "${_out}"
-                       DEPENDS ${_in}
+                       DEPENDS ${_in} intltool-merge-cache
                )
        endif(_has_no_translations)
 endmacro(intltool_merge)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/evolution-ews-3.30.2/src/calendar/e-cal-backend-ews.c 
new/evolution-ews-3.30.3/src/calendar/e-cal-backend-ews.c
--- old/evolution-ews-3.30.2/src/calendar/e-cal-backend-ews.c   2018-10-22 
10:24:30.000000000 +0200
+++ new/evolution-ews-3.30.3/src/calendar/e-cal-backend-ews.c   2018-12-10 
10:09:28.000000000 +0100
@@ -1044,28 +1044,66 @@
                        GCancellable *cancellable,
                        GError **error)
 {
-       GSList *items = NULL, *link;
-       gboolean success;
+       GSList *items = NULL, *link, *retry_ids = NULL;
+       gboolean success = TRUE;
 
        g_return_val_if_fail (E_IS_CAL_BACKEND_EWS (cbews), FALSE);
        g_return_val_if_fail (out_components != NULL, FALSE);
 
-       success = e_ews_connection_get_items_sync (
-               cbews->priv->cnc,
-               EWS_PRIORITY_MEDIUM,
-               item_ids,
-               default_props,
-               add_props,
-               FALSE,
-               NULL,
-               E_EWS_BODY_TYPE_TEXT,
-               &items,
-               NULL, NULL,
-               cancellable,
-               error);
+       while (success = success && !g_cancellable_set_error_if_cancelled 
(cancellable, error), success) {
+               GSList *received = NULL, *new_retry_ids = NULL, *ids_link;
+
+               success = e_ews_connection_get_items_sync (
+                       cbews->priv->cnc,
+                       EWS_PRIORITY_MEDIUM,
+                       item_ids,
+                       default_props,
+                       add_props,
+                       FALSE,
+                       NULL,
+                       E_EWS_BODY_TYPE_TEXT,
+                       &received,
+                       NULL, NULL,
+                       cancellable,
+                       error);
+
+               for (link = received, ids_link = (GSList *) item_ids; success 
&& link && ids_link; link = g_slist_next (link), ids_link = g_slist_next 
(ids_link)) {
+                       EEwsItem *item = link->data;
+
+                       if (!item)
+                               continue;
+
+                       if (e_ews_item_get_item_type (item) == 
E_EWS_ITEM_TYPE_ERROR) {
+                               const GError *item_error;
+
+                               item_error = e_ews_item_get_error (item);
+                               if (g_error_matches (item_error, 
EWS_CONNECTION_ERROR, EWS_CONNECTION_ERROR_BATCHPROCESSINGSTOPPED)) {
+                                       new_retry_ids = g_slist_prepend 
(new_retry_ids, g_strdup (ids_link->data));
+                                       g_object_unref (item);
+                               } else {
+                                       items = g_slist_prepend (items, item);
+                               }
+                       } else {
+                               items = g_slist_prepend (items, item);
+                       }
+               }
+
+               g_slist_free_full (retry_ids, g_free);
+               g_slist_free (received);
+               retry_ids = new_retry_ids;
+
+               if (!retry_ids)
+                       break;
+
+               item_ids = retry_ids;
+       }
+
+       g_slist_free_full (retry_ids, g_free);
+
+       items = g_slist_reverse (items);
 
        if (!success)
-               return FALSE;
+               goto exit;
 
        /* fetch modified occurrences */
        for (link = items; link; link = g_slist_next (link)) {


Reply via email to