Mercurial > public > mercurial-scm > hg
comparison mercurial/subrepo.py @ 41630:3d094bfaf885
subrepo: adjust subrepo prefix before calling subrepo.diff() (API)
Differential Revision: https://phab.mercurial-scm.org/D5886
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 07 Feb 2019 09:52:36 -0800 |
parents | 5ee3c49fc9cd |
children | 3d9d5e612e67 |
comparison
equal
deleted
inserted
replaced
41629:5ee3c49fc9cd | 41630:3d094bfaf885 |
---|---|
9 | 9 |
10 import copy | 10 import copy |
11 import errno | 11 import errno |
12 import hashlib | 12 import hashlib |
13 import os | 13 import os |
14 import posixpath | |
15 import re | 14 import re |
16 import stat | 15 import stat |
17 import subprocess | 16 import subprocess |
18 import sys | 17 import sys |
19 import tarfile | 18 import tarfile |
554 node1 = node.bin(self._state[1]) | 553 node1 = node.bin(self._state[1]) |
555 # We currently expect node2 to come from substate and be | 554 # We currently expect node2 to come from substate and be |
556 # in hex format | 555 # in hex format |
557 if node2 is not None: | 556 if node2 is not None: |
558 node2 = node.bin(node2) | 557 node2 = node.bin(node2) |
559 logcmdutil.diffordiffstat(ui, self._repo, diffopts, | 558 logcmdutil.diffordiffstat(ui, self._repo, diffopts, node1, node2, |
560 node1, node2, match, | 559 match, prefix=prefix, listsubrepos=True, |
561 prefix=posixpath.join(prefix, self._path), | 560 **opts) |
562 listsubrepos=True, **opts) | |
563 except error.RepoLookupError as inst: | 561 except error.RepoLookupError as inst: |
564 self.ui.warn(_('warning: error "%s" in subrepository "%s"\n') | 562 self.ui.warn(_('warning: error "%s" in subrepository "%s"\n') |
565 % (inst, subrelpath(self))) | 563 % (inst, subrelpath(self))) |
566 | 564 |
567 @annotatesubrepoerror | 565 @annotatesubrepoerror |
1777 cmd.append('--stat') | 1775 cmd.append('--stat') |
1778 else: | 1776 else: |
1779 # for Git, this also implies '-p' | 1777 # for Git, this also implies '-p' |
1780 cmd.append('-U%d' % diffopts.context) | 1778 cmd.append('-U%d' % diffopts.context) |
1781 | 1779 |
1782 gitprefix = self.wvfs.reljoin(prefix, self._path) | |
1783 | |
1784 if diffopts.noprefix: | 1780 if diffopts.noprefix: |
1785 cmd.extend(['--src-prefix=%s/' % gitprefix, | 1781 cmd.extend(['--src-prefix=%s/' % prefix, |
1786 '--dst-prefix=%s/' % gitprefix]) | 1782 '--dst-prefix=%s/' % prefix]) |
1787 else: | 1783 else: |
1788 cmd.extend(['--src-prefix=a/%s/' % gitprefix, | 1784 cmd.extend(['--src-prefix=a/%s/' % prefix, |
1789 '--dst-prefix=b/%s/' % gitprefix]) | 1785 '--dst-prefix=b/%s/' % prefix]) |
1790 | 1786 |
1791 if diffopts.ignorews: | 1787 if diffopts.ignorews: |
1792 cmd.append('--ignore-all-space') | 1788 cmd.append('--ignore-all-space') |
1793 if diffopts.ignorewsamount: | 1789 if diffopts.ignorewsamount: |
1794 cmd.append('--ignore-space-change') | 1790 cmd.append('--ignore-space-change') |