hgext/convert/monotone.py
changeset 8050 087cc65bebff
parent 6632 aa3f61884a48
child 8051 718c8f01feb2
child 8099 3cdf4872941a
equal deleted inserted replaced
8049:99e5f97c9a97 8050:087cc65bebff
   109         return certs
   109         return certs
   110 
   110 
   111     def mtnrenamefiles(self, files, fromdir, todir):
   111     def mtnrenamefiles(self, files, fromdir, todir):
   112         renamed = {}
   112         renamed = {}
   113         for tofile in files:
   113         for tofile in files:
   114             suffix = tofile.lstrip(todir)
   114             if tofile.startswith(todir + '/'):
   115             if todir + suffix == tofile:
   115                 renamed[tofile] = fromdir + tofile[len(todir):]
   116                 renamed[tofile] = (fromdir + suffix).lstrip("/")
       
   117         return renamed
   116         return renamed
   118 
       
   119 
   117 
   120     # implement the converter_source interface:
   118     # implement the converter_source interface:
   121 
   119 
   122     def getheads(self):
   120     def getheads(self):
   123         if not self.rev:
   121         if not self.rev:
   155                 if self.mtnisdir(toname, rev):
   153                 if self.mtnisdir(toname, rev):
   156                     renamed = self.mtnrenamefiles(self.files, fromname, toname)
   154                     renamed = self.mtnrenamefiles(self.files, fromname, toname)
   157                     for tofile, fromfile in renamed.items():
   155                     for tofile, fromfile in renamed.items():
   158                         self.ui.debug (_("copying file in renamed dir from '%s' to '%s'") % (fromfile, tofile), '\n')
   156                         self.ui.debug (_("copying file in renamed dir from '%s' to '%s'") % (fromfile, tofile), '\n')
   159                         files[tofile] = rev
   157                         files[tofile] = rev
       
   158                         copies[tofile] = fromfile
   160                     for fromfile in renamed.values():
   159                     for fromfile in renamed.values():
   161                         files[fromfile] = rev
   160                         files[fromfile] = rev
   162         return (files.items(), copies)
   161         return (files.items(), copies)
   163 
   162 
   164     def getmode(self, name, rev):
   163     def getmode(self, name, rev):