1872 if revs and change: |
1872 if revs and change: |
1873 msg = _('cannot specify --rev and --change at the same time') |
1873 msg = _('cannot specify --rev and --change at the same time') |
1874 raise error.Abort(msg) |
1874 raise error.Abort(msg) |
1875 elif change: |
1875 elif change: |
1876 repo = scmutil.unhidehashlikerevs(repo, [change], 'nowarn') |
1876 repo = scmutil.unhidehashlikerevs(repo, [change], 'nowarn') |
1877 node2 = scmutil.revsingle(repo, change, None).node() |
1877 ctx2 = scmutil.revsingle(repo, change, None) |
1878 node1 = repo[node2].p1().node() |
1878 ctx1 = ctx2.p1() |
1879 else: |
1879 else: |
1880 repo = scmutil.unhidehashlikerevs(repo, revs, 'nowarn') |
1880 repo = scmutil.unhidehashlikerevs(repo, revs, 'nowarn') |
1881 ctx1, ctx2 = scmutil.revpair(repo, revs) |
1881 ctx1, ctx2 = scmutil.revpair(repo, revs) |
1882 node1, node2 = ctx1.node(), ctx2.node() |
1882 node1, node2 = ctx1.node(), ctx2.node() |
1883 |
1883 |
1884 if reverse: |
1884 if reverse: |
1885 node1, node2 = node2, node1 |
1885 node1, node2 = node2, node1 |
1886 |
1886 |
1887 diffopts = patch.diffallopts(ui, opts) |
1887 diffopts = patch.diffallopts(ui, opts) |
1888 m = scmutil.match(repo[node2], pats, opts) |
1888 m = scmutil.match(ctx2, pats, opts) |
1889 ui.pager('diff') |
1889 ui.pager('diff') |
1890 logcmdutil.diffordiffstat(ui, repo, diffopts, node1, node2, m, stat=stat, |
1890 logcmdutil.diffordiffstat(ui, repo, diffopts, node1, node2, m, stat=stat, |
1891 listsubrepos=opts.get('subrepos'), |
1891 listsubrepos=opts.get('subrepos'), |
1892 root=opts.get('root')) |
1892 root=opts.get('root')) |
1893 |
1893 |