hgext/convert/subversion.py
changeset 4931 2f0f9528e77b
parent 4928 e8f4e40f285a
child 4939 cdd33a048289
equal deleted inserted replaced
4930:c8d1aa1822d5 4931:2f0f9528e77b
   204                 svn.ra.get_log(t.ra, paths, start, end, limit,
   204                 svn.ra.get_log(t.ra, paths, start, end, limit,
   205                                discover_changed_paths,
   205                                discover_changed_paths,
   206                                strict_node_history,
   206                                strict_node_history,
   207                                receiver)
   207                                receiver)
   208             except SubversionException, (_, num):
   208             except SubversionException, (_, num):
       
   209                 self.ui.print_exc()
   209                 pickle.dump(num, fp, protocol)
   210                 pickle.dump(num, fp, protocol)
   210             else:
   211             else:
   211                 pickle.dump(None, fp, protocol)
   212                 pickle.dump(None, fp, protocol)
   212             fp.close()
   213             fp.close()
   213 
   214 
   236             child(os.fdopen(wfd, 'wb'))
   237             child(os.fdopen(wfd, 'wb'))
   237             os._exit(0)
   238             os._exit(0)
   238 
   239 
   239     def gettags(self):
   240     def gettags(self):
   240         tags = {}
   241         tags = {}
   241         for entry in self.get_log(['/tags'], 0, self.revnum(self.head)):
   242         start = self.revnum(self.head)
   242             orig_paths, revnum, author, date, message = entry
   243         try:
   243             for path in orig_paths:
   244             for entry in self.get_log(['/tags'], 0, start):
   244                 if not path.startswith('/tags/'):
   245                 orig_paths, revnum, author, date, message = entry
   245                     continue
   246                 for path in orig_paths:
   246                 ent = orig_paths[path]
   247                     if not path.startswith('/tags/'):
   247                 source = ent.copyfrom_path
   248                         continue
   248                 rev = ent.copyfrom_rev
   249                     ent = orig_paths[path]
   249                 tag = path.split('/', 2)[2]
   250                     source = ent.copyfrom_path
   250                 tags[tag] = self.revid(rev, module=source)
   251                     rev = ent.copyfrom_rev
       
   252                     tag = path.split('/', 2)[2]
       
   253                     tags[tag] = self.revid(rev, module=source)
       
   254         except SubversionException, (_, num):
       
   255             self.ui.note('no tags found at revision %d\n' % start)
   251         return tags
   256         return tags
   252 
   257 
   253     # -- helper functions --
   258     # -- helper functions --
   254 
   259 
   255     def revid(self, revnum, module=None):
   260     def revid(self, revnum, module=None):