code: def mergeSourceStampsWith(self, others):
          
          # get all codebases from all requests
          all_codebases = set(self.sources)
          for other in others:
              all_codebases |= set(other.sources)
  
          all_merged_sources = {}
          # walk along the codebases
          for codebase in all_codebases:
              all_sources = []
              if codebase in self.sources:
                  all_sources.append(self.sources[codebase])
              for other in others:
                  if codebase in other.sources:
                      all_sources.append(other.sources[codebase])
              assert all_sources, "each codebase should have at least one sourcestamp"
  
              # TODO: select the sourcestamp that best represents the merge,
              # preferably the latest one.  This used to be accomplished by
              # looking at changeids and picking the highest-numbered.
              all_merged_sources[codebase] = all_sources[-1]
  
          return list(all_merged_sources.values())
docs: Returns one merged sourcestamp for every codebase