File merged_pr_793.patch of Package python-GitPython

diff -ur GitPython-2.1.11-orig/git/objects/submodule/base.py GitPython-2.1.11/git/objects/submodule/base.py
--- GitPython-2.1.11-orig/git/objects/submodule/base.py	2019-03-13 17:12:27.055299102 +0700
+++ GitPython-2.1.11/git/objects/submodule/base.py	2019-03-13 17:14:33.840773626 +0700
@@ -1160,7 +1160,7 @@
         try:
             parser = cls._config_parser(repo, pc, read_only=True)
         except IOError:
-            raise StopIteration
+            return
         # END handle empty iterator
 
         rt = pc.tree                                # root tree
diff -ur GitPython-2.1.11-orig/git/repo/base.py GitPython-2.1.11/git/repo/base.py
--- GitPython-2.1.11-orig/git/repo/base.py	2019-03-13 17:12:29.187300315 +0700
+++ GitPython-2.1.11/git/repo/base.py	2019-03-13 17:14:33.884774474 +0700
@@ -714,7 +714,10 @@
 
         stream = (line for line in data.split(b'\n') if line)
         while True:
-            line = next(stream)  # when exhausted, causes a StopIteration, terminating this function
+            try:
+                line = next(stream)  # when exhausted, causes a StopIteration, terminating this function
+            except StopIteration:
+                return
             hexsha, orig_lineno, lineno, num_lines = line.split()
             lineno = int(lineno)
             num_lines = int(num_lines)
@@ -724,7 +727,10 @@
                 # for this commit
                 props = {}
                 while True:
-                    line = next(stream)
+                    try:
+                        line = next(stream)
+                    except StopIteration:
+                        return
                     if line == b'boundary':
                         # "boundary" indicates a root commit and occurs
                         # instead of the "previous" tag
@@ -749,7 +755,10 @@
                 # Discard all lines until we find "filename" which is
                 # guaranteed to be the last line
                 while True:
-                    line = next(stream)  # will fail if we reach the EOF unexpectedly
+                    try:
+                        line = next(stream)  # will fail if we reach the EOF unexpectedly
+                    except StopIteration:
+                        return
                     tag, value = line.split(b' ', 1)
                     if tag == b'filename':
                         orig_filename = value
openSUSE Build Service is sponsored by