586 |
586 |
587 if listsubrepos: |
587 if listsubrepos: |
588 ctx1 = repo[node1] |
588 ctx1 = repo[node1] |
589 ctx2 = repo[node2] |
589 ctx2 = repo[node2] |
590 for subpath, sub in subrepo.itersubrepos(ctx1, ctx2): |
590 for subpath, sub in subrepo.itersubrepos(ctx1, ctx2): |
|
591 tempnode2 = node2 |
591 try: |
592 try: |
592 if node2 is not None: |
593 if node2 is not None: |
593 node2 = ctx2.substate[subpath][1] |
594 tempnode2 = ctx2.substate[subpath][1] |
594 except KeyError: |
595 except KeyError: |
595 # A subrepo that existed in node1 was deleted between node1 and |
596 # A subrepo that existed in node1 was deleted between node1 and |
596 # node2 (inclusive). Thus, ctx2's substate won't contain that |
597 # node2 (inclusive). Thus, ctx2's substate won't contain that |
597 # subpath. The best we can do is to ignore it. |
598 # subpath. The best we can do is to ignore it. |
598 node2 = None |
599 tempnode2 = None |
599 submatch = matchmod.narrowmatcher(subpath, match) |
600 submatch = matchmod.narrowmatcher(subpath, match) |
600 sub.diff(diffopts, node2, submatch, changes=changes, |
601 sub.diff(diffopts, tempnode2, submatch, changes=changes, |
601 stat=stat, fp=fp, prefix=prefix) |
602 stat=stat, fp=fp, prefix=prefix) |
602 |
603 |
603 class changeset_printer(object): |
604 class changeset_printer(object): |
604 '''show changeset information when templating not requested.''' |
605 '''show changeset information when templating not requested.''' |
605 |
606 |