mercurial/subrepo.py
changeset 41630 3d094bfaf885
parent 41629 5ee3c49fc9cd
child 41631 3d9d5e612e67
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')