equal
deleted
inserted
replaced
588 repo.obsstore.create(tr, nprec, nsucs, flag, metadata) |
588 repo.obsstore.create(tr, nprec, nsucs, flag, metadata) |
589 repo._clearobsoletecache() |
589 repo._clearobsoletecache() |
590 tr.close() |
590 tr.close() |
591 finally: |
591 finally: |
592 tr.release() |
592 tr.release() |
593 |
|
594 @eh.reposetup |
|
595 def _repoobsutilsetup(ui, repo): |
|
596 if not repo.local(): |
|
597 return |
|
598 |
|
599 class obsoletingrepo(repo.__class__): |
|
600 |
|
601 # XXX kill me |
|
602 def addobsolete(self, sub, obj): |
|
603 """Add a relation marking that node <sub> is a new version of <obj>""" |
|
604 prec = repo[obj] |
|
605 sucs = (sub == nullid) and [] or [repo[sub]] |
|
606 lock = self.lock() |
|
607 try: |
|
608 createmarkers(self, [(prec, sucs)]) |
|
609 finally: |
|
610 lock.release() |
|
611 |
|
612 repo.__class__ = obsoletingrepo |
|
613 |
593 |
614 ##################################################################### |
594 ##################################################################### |
615 ### Extending revset and template ### |
595 ### Extending revset and template ### |
616 ##################################################################### |
596 ##################################################################### |
617 |
597 |
899 else: |
879 else: |
900 newnode = nullid |
880 newnode = nullid |
901 markers = [(repo[r], ()) |
881 markers = [(repo[r], ()) |
902 for r in replacements] |
882 for r in replacements] |
903 createmarkers(repo, markers) |
883 createmarkers(repo, markers) |
904 else: |
884 elif replacements: |
905 for oldnode, newnode in replacements.iteritems(): |
885 markers = [(repo[o], (() if n == nullid else (repo[n],))) |
906 repo.addobsolete(newnode, oldnode) |
886 for o, n in replacements.iteritems()] |
|
887 createmarkers(repo, markers) |
907 return res |
888 return res |
908 finally: |
889 finally: |
909 l.release() |
890 l.release() |
910 finally: |
891 finally: |
911 delattr(repo, '_rebasestate') |
892 delattr(repo, '_rebasestate') |