code: def unmerged_blobs(self):
          
          is_unmerged_blob = lambda t: t[0] != 0
          path_map = {}
          for stage, blob in self.iter_blobs(is_unmerged_blob):
              path_map.setdefault(blob.path, []).append((stage, blob))
          # END for each unmerged blob
          for l in mviter(path_map):
              l.sort()
          return path_map
docs: :return:
              Iterator yielding dict(path : list( tuple( stage, Blob, ...))), being
              a dictionary associating a path in the index with a list containing
              sorted stage/blob pairs
  
          :note:
              Blobs that have been removed in one side simply do not exist in the
              given stage. I.e. a file removed on the 'other' branch whose entries
              are at stage 3 will not have a stage 3 entry.