mercurial/cmdutil.py
changeset 12176 ecab10820983
parent 12175 c0a8f9dea0f6
child 12209 affec9fb56ef
equal deleted inserted replaced
12175:c0a8f9dea0f6 12176:ecab10820983
     8 from node import hex, bin, nullid, nullrev, short
     8 from node import hex, bin, nullid, nullrev, short
     9 from i18n import _
     9 from i18n import _
    10 import os, sys, errno, re, glob, tempfile
    10 import os, sys, errno, re, glob, tempfile
    11 import util, templater, patch, error, encoding, templatekw
    11 import util, templater, patch, error, encoding, templatekw
    12 import match as matchmod
    12 import match as matchmod
    13 import similar, revset
    13 import similar, revset, subrepo
    14 
    14 
    15 revrangesep = ':'
    15 revrangesep = ':'
    16 
    16 
    17 def parsealiases(cmd):
    17 def parsealiases(cmd):
    18     return cmd.lstrip("^").split("|")
    18     return cmd.lstrip("^").split("|")
   681             write(chunk, label=label)
   681             write(chunk, label=label)
   682 
   682 
   683     if listsubrepos:
   683     if listsubrepos:
   684         ctx1 = repo[node1]
   684         ctx1 = repo[node1]
   685         ctx2 = repo[node2]
   685         ctx2 = repo[node2]
   686         # Create a (subpath, ctx) mapping where we prefer subpaths
   686         for subpath, sub in subrepo.itersubrepos(ctx1, ctx2):
   687         # from ctx1. The subpaths from ctx2 are important when the
       
   688         # .hgsub file has been modified (in ctx2) but not yet
       
   689         # committed (in ctx1).
       
   690         subpaths = dict.fromkeys(ctx2.substate, ctx2)
       
   691         subpaths.update(dict.fromkeys(ctx1.substate, ctx1))
       
   692         for subpath, ctx in subpaths.iteritems():
       
   693             sub = ctx.sub(subpath)
       
   694             if node2 is not None:
   687             if node2 is not None:
   695                 node2 = bin(ctx2.substate[subpath][1])
   688                 node2 = bin(ctx2.substate[subpath][1])
   696             submatch = matchmod.narrowmatcher(subpath, match)
   689             submatch = matchmod.narrowmatcher(subpath, match)
   697             sub.diff(diffopts, node2, submatch, changes=changes,
   690             sub.diff(diffopts, node2, submatch, changes=changes,
   698                      stat=stat, fp=fp, prefix=prefix)
   691                      stat=stat, fp=fp, prefix=prefix)