Mercurial > hg
comparison hgext/transplant.py @ 3725:ccc7a9eb0e5e
transplant: preserve filter changes in --continue log
author | Brendan Cully <brendan@kublai.com> |
---|---|
date | Thu, 30 Nov 2006 11:32:40 -0800 |
parents | ea523d6f5f1a |
children | 752884db5037 |
comparison
equal
deleted
inserted
replaced
3724:ea523d6f5f1a | 3725:ccc7a9eb0e5e |
---|---|
185 self.filter(filter, cl, patchfile) | 185 self.filter(filter, cl, patchfile) |
186 patchfile, message, user, date = patch.extract(self.ui, file(patchfile)) | 186 patchfile, message, user, date = patch.extract(self.ui, file(patchfile)) |
187 | 187 |
188 if log: | 188 if log: |
189 message += '\n(transplanted from %s)' % revlog.hex(node) | 189 message += '\n(transplanted from %s)' % revlog.hex(node) |
190 cl = list(cl) | |
191 cl[4] = message | |
192 | 190 |
193 self.ui.status(_('applying %s\n') % revlog.short(node)) | 191 self.ui.status(_('applying %s\n') % revlog.short(node)) |
194 self.ui.note('%s %s\n%s\n' % (user, date, message)) | 192 self.ui.note('%s %s\n%s\n' % (user, date, message)) |
195 | 193 |
196 if not patchfile and not merge: | 194 if not patchfile and not merge: |
209 except Exception, inst: | 207 except Exception, inst: |
210 if filter: | 208 if filter: |
211 os.unlink(patchfile) | 209 os.unlink(patchfile) |
212 p1 = repo.dirstate.parents()[0] | 210 p1 = repo.dirstate.parents()[0] |
213 p2 = node | 211 p2 = node |
214 self.log(cl, p1, p2, merge=merge) | 212 self.log(user, date, message, p1, p2, merge=merge) |
215 self.ui.write(str(inst) + '\n') | 213 self.ui.write(str(inst) + '\n') |
216 raise util.Abort(_('Fix up the merge and run hg transplant --continue')) | 214 raise util.Abort(_('Fix up the merge and run hg transplant --continue')) |
217 else: | 215 else: |
218 files = None | 216 files = None |
219 if merge: | 217 if merge: |
295 series.write('# Merges\n') | 293 series.write('# Merges\n') |
296 for m in merges: | 294 for m in merges: |
297 series.write(revlog.hex(m) + '\n') | 295 series.write(revlog.hex(m) + '\n') |
298 series.close() | 296 series.close() |
299 | 297 |
300 def log(self, changelog, p1, p2, merge=False): | 298 def log(self, user, date, message, p1, p2, merge=False): |
301 '''journal changelog metadata for later recover''' | 299 '''journal changelog metadata for later recover''' |
302 | 300 |
303 if not os.path.isdir(self.path): | 301 if not os.path.isdir(self.path): |
304 os.mkdir(self.path) | 302 os.mkdir(self.path) |
305 fp = self.opener('journal', 'w') | 303 fp = self.opener('journal', 'w') |
306 fp.write('# User %s\n' % changelog[1]) | 304 fp.write('# User %s\n' % user) |
307 fp.write('# Date %d %d\n' % changelog[2]) | 305 fp.write('# Date %s\n' % date) |
308 fp.write('# Node ID %s\n' % revlog.hex(p2)) | 306 fp.write('# Node ID %s\n' % revlog.hex(p2)) |
309 fp.write('# Parent ' + revlog.hex(p1) + '\n') | 307 fp.write('# Parent ' + revlog.hex(p1) + '\n') |
310 if merge: | 308 if merge: |
311 fp.write('# Parent ' + revlog.hex(p2) + '\n') | 309 fp.write('# Parent ' + revlog.hex(p2) + '\n') |
312 fp.write(changelog[4].rstrip() + '\n') | 310 fp.write(message.rstrip() + '\n') |
313 fp.close() | 311 fp.close() |
314 | 312 |
315 def readlog(self): | 313 def readlog(self): |
316 parents = [] | 314 parents = [] |
317 message = [] | 315 message = [] |